| Class | Gem::Commands::OwnerCommand |
| In: |
lib/rubygems/commands/owner_command.rb
|
| Parent: | Gem::Command |
# File lib/rubygems/commands/owner_command.rb, line 17
17: def initialize
18: super 'owner', description
19: add_proxy_option
20: defaults.merge! :add => [], :remove => []
21:
22: add_option '-a', '--add EMAIL', 'Add an owner' do |value, options|
23: options[:add] << value
24: end
25:
26: add_option '-r', '--remove EMAIL', 'Remove an owner' do |value, options|
27: options[:remove] << value
28: end
29: end
# File lib/rubygems/commands/owner_command.rb, line 55
55: def add_owners name, owners
56: manage_owners :post, name, owners
57: end
# File lib/rubygems/commands/owner_command.rb, line 31
31: def execute
32: sign_in
33: name = get_one_gem_name
34:
35: add_owners name, options[:add]
36: remove_owners name, options[:remove]
37: show_owners name
38: end
# File lib/rubygems/commands/owner_command.rb, line 63
63: def manage_owners method, name, owners
64: owners.each do |owner|
65: response = rubygems_api_request method, "api/v1/gems/#{name}/owners" do |request|
66: request.set_form_data 'email' => owner
67: request.add_field "Authorization", Gem.configuration.rubygems_api_key
68: end
69:
70: with_response response
71: end
72: end
# File lib/rubygems/commands/owner_command.rb, line 59
59: def remove_owners name, owners
60: manage_owners :delete, name, owners
61: end
# File lib/rubygems/commands/owner_command.rb, line 40
40: def show_owners name
41: response = rubygems_api_request :get, "api/v1/gems/#{name}/owners.yaml" do |request|
42: request.add_field "Authorization", Gem.configuration.rubygems_api_key
43: end
44:
45: with_response response do |resp|
46: owners = YAML.load resp.body
47:
48: say "Owners for gem: #{name}"
49: owners.each do |owner|
50: say "- #{owner['email']}"
51: end
52: end
53: end