Class: Gem::Commands::ServerCommand
- Inherits:
-
Gem::Command
- Object
- Gem::Command
- Gem::Commands::ServerCommand
- Extended by:
- Deprecate
- Defined in:
- lib/rubygems/commands/server_command.rb
Instance Attribute Summary
Attributes inherited from Gem::Command
#command, #defaults, #options, #program_name, #summary
Instance Method Summary collapse
-
#defaults_str ⇒ Object
:nodoc:.
-
#description ⇒ Object
:nodoc:.
- #execute ⇒ Object
-
#initialize ⇒ ServerCommand
constructor
A new instance of ServerCommand.
Methods included from Deprecate
deprecate, next_rubygems_major_version, rubygems_deprecate, rubygems_deprecate_command, skip, skip=, skip_during
Methods inherited from Gem::Command
add_common_option, #add_extra_args, #add_option, add_specific_extra_args, #arguments, #begins?, build_args, build_args=, #check_deprecated_options, common_options, #deprecate_option, #deprecated?, extra_args, extra_args=, #get_all_gem_names, #get_all_gem_names_and_versions, #get_one_gem_name, #get_one_optional_argument, #handle_options, #handles?, #invoke, #invoke_with_build_args, #merge_options, #remove_option, #show_help, #show_lookup_failure, specific_extra_args, specific_extra_args_hash, specific_extra_args_hash=, #usage, #when_invoked
Methods included from UserInteraction
#alert, #alert_error, #alert_warning, #ask, #ask_for_password, #ask_yes_no, #choose_from_list, #say, #terminate_interaction, #verbose
Methods included from DefaultUserInteraction
ui, #ui, ui=, #ui=, use_ui, #use_ui
Methods included from Text
#clean_text, #format_text, #levenshtein_distance, #min3, #truncate_text
Constructor Details
#initialize ⇒ ServerCommand
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/rubygems/commands/server_command.rb', line 10 def initialize super 'server', 'Documentation and gem repository HTTP server', :port => 8808, :gemdir => [], :daemon => false OptionParser.accept :Port do |port| if port =~ /\A\d+\z/ port = Integer port raise OptionParser::InvalidArgument, "#{port}: not a port number" if port > 65535 port else begin Socket.getservbyname port rescue SocketError raise OptionParser::InvalidArgument, "#{port}: no such named service" end end end add_option '-p', '--port=PORT', :Port, 'port to listen on' do |port, | [:port] = port end add_option '-d', '--dir=GEMDIR', 'directories from which to serve gems', 'multiple directories may be provided' do |gemdir, | [:gemdir] << File.(gemdir) end add_option '--[no-]daemon', 'run as a daemon' do |daemon, | [:daemon] = daemon end add_option '-b', '--bind=HOST,HOST', 'addresses to bind', Array do |address, | [:addresses] ||= [] [:addresses].push(*address) end add_option '-l', '--launch[=COMMAND]', 'launches a browser window', "COMMAND defaults to 'start' on Windows", "and 'open' on all other platforms" do |launch, | launch ||= Gem.win_platform? ? 'start' : 'open' [:launch] = launch end end |
Instance Method Details
#defaults_str ⇒ Object
:nodoc:
60 61 62 |
# File 'lib/rubygems/commands/server_command.rb', line 60 def defaults_str # :nodoc: "--port 8808 --dir #{Gem.dir} --no-daemon" end |
#description ⇒ Object
:nodoc:
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/rubygems/commands/server_command.rb', line 64 def description # :nodoc: <<-EOF The server command starts up a web server that hosts the RDoc for your installed gems and can operate as a server for installation of gems on other machines. The cache files for installed gems must exist to use the server as a source for gem installation. To install gems from a running server, use `gem install GEMNAME --source http://gem_server_host:8808` You can set up a shortcut to gem server documentation using the URL: http://localhost:8808/rdoc?q=%s - Firefox http://localhost:8808/rdoc?q=* - LaunchBar EOF end |