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: add_key_option 21: defaults.merge! :add => [], :remove => [] 22: 23: add_option '-a', '--add EMAIL', 'Add an owner' do |value, options| 24: options[:add] << value 25: end 26: 27: add_option '-r', '--remove EMAIL', 'Remove an owner' do |value, options| 28: options[:remove] << value 29: end 30: end
# File lib/rubygems/commands/owner_command.rb, line 56 56: def add_owners name, owners 57: manage_owners :post, name, owners 58: end
# File lib/rubygems/commands/owner_command.rb, line 32 32: def execute 33: sign_in 34: name = get_one_gem_name 35: 36: add_owners name, options[:add] 37: remove_owners name, options[:remove] 38: show_owners name 39: end
# File lib/rubygems/commands/owner_command.rb, line 64 64: def manage_owners method, name, owners 65: owners.each do |owner| 66: response = rubygems_api_request method, "api/v1/gems/#{name}/owners" do |request| 67: request.set_form_data 'email' => owner 68: request.add_field "Authorization", api_key 69: end 70: 71: with_response response 72: end 73: end
# File lib/rubygems/commands/owner_command.rb, line 60 60: def remove_owners name, owners 61: manage_owners :delete, name, owners 62: end
# File lib/rubygems/commands/owner_command.rb, line 41 41: def show_owners name 42: response = rubygems_api_request :get, "api/v1/gems/#{name}/owners.yaml" do |request| 43: request.add_field "Authorization", api_key 44: end 45: 46: with_response response do |resp| 47: owners = YAML.load resp.body 48: 49: say "Owners for gem: #{name}" 50: owners.each do |owner| 51: say "- #{owner['email']}" 52: end 53: end 54: end