Module | Gem::GemcutterUtilities |
In: |
lib/rubygems/gemcutter_utilities.rb
|
# File lib/rubygems/gemcutter_utilities.rb, line 25 25: def rubygems_api_request(method, path, host = Gem.host, &block) 26: require 'net/http' 27: host = ENV['RUBYGEMS_HOST'] if ENV['RUBYGEMS_HOST'] 28: uri = URI.parse "#{host}/#{path}" 29: 30: request_method = Net::HTTP.const_get method.to_s.capitalize 31: 32: Gem::RemoteFetcher.fetcher.request(uri, request_method, &block) 33: end
# File lib/rubygems/gemcutter_utilities.rb, line 5 5: def sign_in 6: return if Gem.configuration.rubygems_api_key 7: 8: say "Enter your RubyGems.org credentials." 9: say "Don't have an account yet? Create one at http://rubygems.org/sign_up" 10: 11: email = ask " Email: " 12: password = ask_for_password "Password: " 13: say "\n" 14: 15: response = rubygems_api_request :get, "api/v1/api_key" do |request| 16: request.basic_auth email, password 17: end 18: 19: with_response response do |resp| 20: say "Signed in." 21: Gem.configuration.rubygems_api_key = resp.body 22: end 23: end