Class Methods
::
lib/rubygems/commands/yank_command.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/rubygems/commands/yank_command.rb, line 38
def initialize
super 'yank', 'Remove a pushed gem from the index'
add_version_option("remove")
add_platform_option("remove")
add_option('--host HOST',
'Yank from another gemcutter-compatible host') do |value, options|
options[:host] = value
end
add_key_option
@host = nil
end
No documentation available
Instance Methods
#
lib/rubygems/commands/yank_command.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/rubygems/commands/yank_command.rb, line 53
def execute
@host = options[:host]
sign_in @host
version = get_version_from_requirements(options[:version])
platform = get_platform_from_requirements(options)
if version then
yank_gem(version, platform)
else
say "A version argument is required: #{usage}"
terminate_interaction
end
end
No documentation available
lib/rubygems/commands/yank_command.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/rubygems/commands/yank_command.rb, line 98
def get_platform_from_requirements(requirements)
Gem.platforms[1].to_s if requirements.key? :added_platform
end
No documentation available
lib/rubygems/commands/yank_command.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/rubygems/commands/yank_command.rb, line 92
def get_version_from_requirements(requirements)
requirements.requirements.first[1].version
rescue
nil
end
No documentation available
lib/rubygems/commands/yank_command.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/rubygems/commands/yank_command.rb, line 76
def yank_api_request(method, version, platform, api)
name = get_one_gem_name
response = rubygems_api_request(method, api, host) do |request|
request.add_field("Authorization", api_key)
data = {
'gem_name' => name,
'version' => version,
}
data['platform'] = platform if platform
request.set_form_data data
end
say response.body
end
No documentation available
lib/rubygems/commands/yank_command.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/rubygems/commands/yank_command.rb, line 69
def yank_gem(version, platform)
say "Yanking gem from #{self.host}..."
yank_api_request(:delete, version, platform, "api/v1/gems/yank")
end
No documentation available