Class Methods
::
lib/rubygems/commands/owner_command.rb
View on GitHub
# File tmp/rubies/ruby-2.4.10/lib/rubygems/commands/owner_command.rb, line 32
def initialize
super 'owner', 'Manage gem owners of a gem on the push server'
add_proxy_option
add_key_option
defaults.merge! :add => [], :remove => []
add_option '-a', '--add EMAIL', 'Add an owner' do |value, options|
options[:add] << value
end
add_option '-r', '--remove EMAIL', 'Remove an owner' do |value, options|
options[:remove] << value
end
add_option '-h', '--host HOST', 'Use another gemcutter-compatible host' do |value, options|
options[:host] = value
end
end
No documentation available
Instance Methods
lib/rubygems/commands/owner_command.rb
View on GitHub
# File tmp/rubies/ruby-2.4.10/lib/rubygems/commands/owner_command.rb, line 77
def add_owners name, owners
manage_owners :post, name, owners
end
No documentation available
#
lib/rubygems/commands/owner_command.rb
View on GitHub
# File tmp/rubies/ruby-2.4.10/lib/rubygems/commands/owner_command.rb, line 51
def execute
@host = options[:host]
sign_in
name = get_one_gem_name
add_owners name, options[:add]
remove_owners name, options[:remove]
show_owners name
end
No documentation available
lib/rubygems/commands/owner_command.rb
View on GitHub
# File tmp/rubies/ruby-2.4.10/lib/rubygems/commands/owner_command.rb, line 85
def manage_owners method, name, owners
owners.each do |owner|
begin
response = rubygems_api_request method, "api/v1/gems/#{name}/owners" do |request|
request.set_form_data 'email' => owner
request.add_field "Authorization", api_key
end
action = method == :delete ? "Removing" : "Adding"
with_response response, "#{action} #{owner}"
rescue
# ignore
end
end
end
No documentation available
lib/rubygems/commands/owner_command.rb
View on GitHub
# File tmp/rubies/ruby-2.4.10/lib/rubygems/commands/owner_command.rb, line 81
def remove_owners name, owners
manage_owners :delete, name, owners
end
No documentation available
lib/rubygems/commands/owner_command.rb
View on GitHub
# File tmp/rubies/ruby-2.4.10/lib/rubygems/commands/owner_command.rb, line 62
def show_owners name
response = rubygems_api_request :get, "api/v1/gems/#{name}/owners.yaml" do |request|
request.add_field "Authorization", api_key
end
with_response response do |resp|
owners = Gem::SafeYAML.load clean_text(resp.body)
say "Owners for gem: #{name}"
owners.each do |owner|
say "- #{owner['email'] || owner['handle'] || owner['id']}"
end
end
end
No documentation available