X7ROOT File Manager
Current Path:
/opt/alt/ruby20/lib64/ruby/2.0.0/rubygems
opt
/
alt
/
ruby20
/
lib64
/
ruby
/
2.0.0
/
rubygems
/
??
..
??
available_set.rb
(1.56 KB)
??
command.rb
(13.43 KB)
??
command_manager.rb
(5.27 KB)
??
commands
??
compatibility.rb
(1.58 KB)
??
config_file.rb
(11.82 KB)
??
core_ext
??
defaults.rb
(2.76 KB)
??
dependency.rb
(7.74 KB)
??
dependency_installer.rb
(12.36 KB)
??
dependency_list.rb
(5.53 KB)
??
dependency_resolver.rb
(14.97 KB)
??
deprecate.rb
(1.73 KB)
??
doctor.rb
(2.86 KB)
??
errors.rb
(2.14 KB)
??
exceptions.rb
(2.7 KB)
??
ext
??
ext.rb
(416 B)
??
gem_runner.rb
(1.98 KB)
??
gemcutter_utilities.rb
(2.84 KB)
??
indexer.rb
(12.89 KB)
??
install_message.rb
(281 B)
??
install_update_options.rb
(5.09 KB)
??
installer.rb
(22.19 KB)
??
installer_test_case.rb
(4.28 KB)
??
local_remote_options.rb
(3.36 KB)
??
mock_gem_ui.rb
(1.35 KB)
??
name_tuple.rb
(1.96 KB)
??
package
??
package.rb
(13.22 KB)
??
package_task.rb
(3.77 KB)
??
path_support.rb
(1.58 KB)
??
platform.rb
(5.63 KB)
??
psych_additions.rb
(249 B)
??
psych_tree.rb
(763 B)
??
rdoc.rb
(7.75 KB)
??
remote_fetcher.rb
(15.99 KB)
??
request_set.rb
(3.67 KB)
??
requirement.rb
(6.02 KB)
??
safe_yaml.rb
(1.11 KB)
??
security
??
security.rb
(20.56 KB)
??
server.rb
(21.69 KB)
??
source.rb
(3.12 KB)
??
source_list.rb
(1.22 KB)
??
source_local.rb
(1.88 KB)
??
source_specific_file.rb
(552 B)
??
spec_fetcher.rb
(5.17 KB)
??
specification.rb
(66.9 KB)
??
ssl_certs
??
syck_hack.rb
(2.07 KB)
??
test_case.rb
(28.09 KB)
??
test_utilities.rb
(4.03 KB)
??
text.rb
(1.23 KB)
??
uninstaller.rb
(8.29 KB)
??
user_interaction.rb
(11.44 KB)
??
validator.rb
(4.08 KB)
??
version.rb
(10.5 KB)
??
version_option.rb
(1.59 KB)
Editing: gemcutter_utilities.rb
require 'rubygems/remote_fetcher' module Gem::GemcutterUtilities # TODO: move to Gem::Command OptionParser.accept Symbol do |value| value.to_sym end ## # Add the --key option 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 def api_key if options[:key] then verify_api_key options[:key] elsif Gem.configuration.api_keys.key?(host) Gem.configuration.api_keys[host] else Gem.configuration.rubygems_api_key end end def sign_in sign_in_host = nil sign_in_host ||= self.host return if Gem.configuration.rubygems_api_key pretty_host = if Gem::DEFAULT_HOST == sign_in_host then 'RubyGems.org' else sign_in_host end say "Enter your #{pretty_host} credentials." say "Don't have an account yet? " + "Create one at #{sign_in_host}/sign_up" email = ask " Email: " password = ask_for_password "Password: " say "\n" response = rubygems_api_request(:get, "api/v1/api_key", sign_in_host) 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 attr_writer :host def host configured_host = Gem.host unless Gem.configuration.disable_default_gem_server @host ||= begin env_rubygems_host = ENV['RUBYGEMS_HOST'] env_rubygems_host = nil if env_rubygems_host and env_rubygems_host.empty? env_rubygems_host|| configured_host end end def rubygems_api_request(method, path, host = nil, &block) require 'net/http' self.host = host if host unless self.host alert_error "You must specify a gem server" terminate_interaction 1 # TODO: question this end uri = URI.parse "#{self.host}/#{path}" request_method = Net::HTTP.const_get method.to_s.capitalize Gem::RemoteFetcher.fetcher.request(uri, request_method, &block) end def with_response resp, error_prefix = nil case resp when Net::HTTPSuccess then if block_given? then yield resp else say resp.body end else message = resp.body message = "#{error_prefix}: #{message}" if error_prefix say message terminate_interaction 1 # TODO: question this end end 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. Please add it to your configuration (done automatically on initial `gem push`)." terminate_interaction 1 # TODO: question this end end end
Upload File
Create Folder