In Files

  • rubygems/commands/owner_command.rb

Class/Module Index [+]

Quicksearch

Gem::Commands::OwnerCommand

Public Class Methods

new() click to toggle source
 
               # File rubygems/commands/owner_command.rb, line 17
def initialize
  super 'owner', description
  add_proxy_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
end
            

Public Instance Methods

add_owners(name, owners) click to toggle source
 
               # File rubygems/commands/owner_command.rb, line 55
def add_owners name, owners
  manage_owners :post, name, owners
end
            
execute() click to toggle source
 
               # File rubygems/commands/owner_command.rb, line 31
def execute
  sign_in
  name = get_one_gem_name

  add_owners    name, options[:add]
  remove_owners name, options[:remove]
  show_owners   name
end
            
manage_owners(method, name, owners) click to toggle source
 
               # File rubygems/commands/owner_command.rb, line 63
def manage_owners method, name, owners
  owners.each do |owner|
    response = rubygems_api_request method, "api/v1/gems/#{name}/owners" do |request|
      request.set_form_data 'email' => owner
      request.add_field "Authorization", Gem.configuration.rubygems_api_key
    end

    with_response response
  end
end
            
remove_owners(name, owners) click to toggle source
 
               # File rubygems/commands/owner_command.rb, line 59
def remove_owners name, owners
  manage_owners :delete, name, owners
end
            
show_owners(name) click to toggle source
 
               # File rubygems/commands/owner_command.rb, line 40
def show_owners name
  response = rubygems_api_request :get, "api/v1/gems/#{name}/owners.yaml" do |request|
    request.add_field "Authorization", Gem.configuration.rubygems_api_key
  end

  with_response response do |resp|
    owners = YAML.load resp.body

    say "Owners for gem: #{name}"
    owners.each do |owner|
      say "- #{owner['email']}"
    end
  end
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus