Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more
Add the –key option
# File rubygems/gemcutter_utilities.rb, line 11 def add_key_option add_option('-k', '--key KEYNAME', Symbol, 'Use the given API key', 'from ~/.gem/credentials') do |value,options| options[:key] = value end end
# File rubygems/gemcutter_utilities.rb, line 19 def api_key if options[:key] then verify_api_key options[:key] else Gem.configuration.rubygems_api_key end end
# File rubygems/gemcutter_utilities.rb, line 47 def rubygems_api_request(method, path, host = Gem.host, &block) require 'net/http' host = ENV['RUBYGEMS_HOST'] if ENV['RUBYGEMS_HOST'] uri = URI.parse "#{host}/#{path}" say "Pushing gem to #{host}..." request_method = Net::HTTP.const_get method.to_s.capitalize Gem::RemoteFetcher.fetcher.request(uri, request_method, &block) end
# File rubygems/gemcutter_utilities.rb, line 27 def sign_in return if Gem.configuration.rubygems_api_key say "Enter your RubyGems.org credentials." say "Don't have an account yet? Create one at http://rubygems.org/sign_up" email = ask " Email: " password = ask_for_password "Password: " say "\n" response = rubygems_api_request :get, "api/v1/api_key" do |request| request.basic_auth email, password end with_response response do |resp| say "Signed in." Gem.configuration.rubygems_api_key = resp.body end end
# File rubygems/gemcutter_utilities.rb, line 73 def verify_api_key(key) if Gem.configuration.api_keys.key? key then Gem.configuration.api_keys[key] else alert_error "No such API key. You can add it with gem keys --add #{key}" terminate_interaction 1 end end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.