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 21
def initialize
  super 'owner', description
  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
end
            

Public Instance Methods

add_owners(name, owners) click to toggle source
 
               # File rubygems/commands/owner_command.rb, line 60
def add_owners name, owners
  manage_owners :post, name, owners
end
            
execute() click to toggle source
 
               # File rubygems/commands/owner_command.rb, line 36
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 68
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

      with_response response, "Removing #{owner}"
    rescue
      # ignore
    end
  end
end
            
remove_owners(name, owners) click to toggle source
 
               # File rubygems/commands/owner_command.rb, line 64
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 45
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 = 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