Parent

Included Modules

Gem::Commands::YankCommand

Public Class Methods

new() click to toggle source
    # File lib/rubygems/commands/yank_command.rb, line 22
22:   def initialize
23:     super 'yank', description
24:     add_version_option("remove")
25:     add_option('--undo') do |value, options|
26:       options[:undo] = true
27:     end
28:   end

Public Instance Methods

arguments() click to toggle source
    # File lib/rubygems/commands/yank_command.rb, line 14
14:   def arguments
15:     "GEM       name of gem"
16:   end
description() click to toggle source
    # File lib/rubygems/commands/yank_command.rb, line 10
10:   def description
11:     'Remove a specific gem version release from RubyGems.org'
12:   end
execute() click to toggle source
    # File lib/rubygems/commands/yank_command.rb, line 30
30:   def execute
31:     sign_in
32:     version = get_version_from_requirements(options[:version])
33:     if !version.nil?
34:       if options[:undo]
35:         unyank_gem(version)
36:       else
37:         yank_gem(version)
38:       end
39:     else
40:       say "A version argument is required: #{usage}"
41:       terminate_interaction
42:     end
43:   end
unyank_gem(version) click to toggle source
    # File lib/rubygems/commands/yank_command.rb, line 50
50:   def unyank_gem(version)
51:     say "Unyanking gem from RubyGems.org..."
52:     yank_api_request(:put, version, "api/v1/gems/unyank")
53:   end
usage() click to toggle source
    # File lib/rubygems/commands/yank_command.rb, line 18
18:   def usage
19:     "#{program_name} GEM -v VERSION [--undo]"
20:   end
yank_gem(version) click to toggle source
    # File lib/rubygems/commands/yank_command.rb, line 45
45:   def yank_gem(version)
46:     say "Yanking gem from RubyGems.org..."
47:     yank_api_request(:delete, version, "api/v1/gems/yank")
48:   end

Private Instance Methods

get_version_from_requirements(requirements) click to toggle source
    # File lib/rubygems/commands/yank_command.rb, line 65
65:     def get_version_from_requirements(requirements)
66:       begin
67:         requirements.requirements.first[1].version
68:       rescue
69:         nil
70:       end
71:     end
yank_api_request(method, version, api) click to toggle source
    # File lib/rubygems/commands/yank_command.rb, line 56
56:     def yank_api_request(method, version, api)
57:       name = get_one_gem_name
58:       response = rubygems_api_request(method, api) do |request|
59:         request.add_field("Authorization", Gem.configuration.rubygems_api_key)
60:         request.set_form_data({'gem_name' => name, 'version' => version})
61:       end
62:       say response.body
63:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.