Class Methods
::
lib/rubygems/commands/yank_command.rb
View on GitHub
# File tmp/rubies/ruby-master/lib/rubygems/commands/yank_command.rb, line 31
def initialize
super "yank", "Remove a pushed gem from the index"
add_version_option("remove")
add_platform_option("remove")
add_otp_option
add_option("--host HOST",
"Yank from another gemcutter-compatible host",
" (e.g. https://rubygems.org)") 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-master/lib/rubygems/commands/yank_command.rb, line 48
def execute
@host = options[:host]
sign_in @host, scope: get_yank_scope
version = get_version_from_requirements(options[:version])
platform = get_platform_from_requirements(options)
if version
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-master/lib/rubygems/commands/yank_command.rb, line 90
def get_version_from_requirements(requirements)
requirements.requirements.first[1].version
rescue StandardError
nil
end
No documentation available
lib/rubygems/commands/yank_command.rb
View on GitHub
# File tmp/rubies/ruby-master/lib/rubygems/commands/yank_command.rb, line 96
def get_yank_scope
:yank_rubygem
end
No documentation available
lib/rubygems/commands/yank_command.rb
View on GitHub
# File tmp/rubies/ruby-master/lib/rubygems/commands/yank_command.rb, line 74
def yank_api_request(method, version, platform, api)
name = get_one_gem_name
response = rubygems_api_request(method, api, host, scope: get_yank_scope) 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
response
end
No documentation available
lib/rubygems/commands/yank_command.rb
View on GitHub
# File tmp/rubies/ruby-master/lib/rubygems/commands/yank_command.rb, line 64
def yank_gem(version, platform)
say "Yanking gem from #{host}..."
args = [:delete, version, platform, "api/v1/gems/yank"]
response = yank_api_request(*args)
say response.body
end
No documentation available