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
Returns a new instance of 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 |