Class Methods
::
lib/rubygems/commands/owner_command.rb
View on GitHub
# File tmp/rubies/ruby-2.7.6/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
add_otp_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',
' (e.g. https://rubygems.org)' 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.7.6/lib/rubygems/commands/owner_command.rb, line 82
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.7.6/lib/rubygems/commands/owner_command.rb, line 54
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.7.6/lib/rubygems/commands/owner_command.rb, line 90
def manage_owners(method, name, owners)
owners.each do |owner|
begin
response = send_owner_request(method, name, owner)
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.7.6/lib/rubygems/commands/owner_command.rb, line 86
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.7.6/lib/rubygems/commands/owner_command.rb, line 105
def send_owner_request(method, name, owner)
rubygems_api_request method, "api/v1/gems/#{name}/owners" do |request|
request.set_form_data 'email' => owner
request.add_field "Authorization", api_key
request.add_field "OTP", options[:otp] if options[:otp]
end
end
No documentation available
lib/rubygems/commands/owner_command.rb
View on GitHub
# File tmp/rubies/ruby-2.7.6/lib/rubygems/commands/owner_command.rb, line 65
def show_owners(name)
Gem.load_yaml
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