PHP 8.2.31
Preview: owner_command.rb Size: 1.70 KB
//proc/thread-self/root/opt/alt/ruby19/lib64/ruby/1.9.1/rubygems/commands/owner_command.rb

require 'rubygems/command'
require 'rubygems/local_remote_options'
require 'rubygems/gemcutter_utilities'

class Gem::Commands::OwnerCommand < Gem::Command
  include Gem::LocalRemoteOptions
  include Gem::GemcutterUtilities

  def description # :nodoc:
    'Manage gem owners on RubyGems.org.'
  end

  def arguments # :nodoc:
    "GEM       gem to manage owners for"
  end

  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

  def execute
    sign_in
    name = get_one_gem_name

    add_owners    name, options[:add]
    remove_owners name, options[:remove]
    show_owners   name
  end

  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

  def add_owners name, owners
    manage_owners :post, name, owners
  end

  def remove_owners name, owners
    manage_owners :delete, name, owners
  end

  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", api_key
      end

      with_response response
    end
  end

end

Directory Contents

Dirs: 0 × Files: 29

Name Size Perms Modified Actions
1.25 KB lrw-r--r-- 2012-04-19 22:43:16
Edit Download
2.74 KB lrw-r--r-- 2011-07-27 02:04:03
Edit Download
1.64 KB lrw-r--r-- 2011-07-27 02:04:03
Edit Download
2.59 KB lrw-r--r-- 2011-08-05 20:18:14
Edit Download
2.59 KB lrw-r--r-- 2011-07-27 02:04:03
Edit Download
4.19 KB lrw-r--r-- 2011-10-08 10:53:11
Edit Download
3.90 KB lrw-r--r-- 2011-07-27 02:04:03
Edit Download
1.85 KB lrw-r--r-- 2012-04-19 22:43:16
Edit Download
3.86 KB lrw-r--r-- 2011-07-27 02:04:03
Edit Download
4.43 KB lrw-r--r-- 2011-07-27 02:04:03
Edit Download
4.83 KB lrw-r--r-- 2011-07-27 02:04:03
Edit Download
696 B lrw-r--r-- 2011-07-27 02:04:03
Edit Download
2.67 KB lrw-r--r-- 2011-07-27 02:04:03
Edit Download
785 B lrw-r--r-- 2011-07-27 02:04:03
Edit Download
1.70 KB lrw-r--r-- 2011-07-27 02:04:03
Edit Download
3.20 KB lrw-r--r-- 2012-04-19 22:43:16
Edit Download
1.31 KB lrw-r--r-- 2011-07-27 02:04:03
Edit Download
7.38 KB lrw-r--r-- 2011-10-08 10:53:11
Edit Download
2.24 KB lrw-r--r-- 2011-07-27 02:04:03
Edit Download
582 B lrw-r--r-- 2011-07-27 02:04:03
Edit Download
2.35 KB lrw-r--r-- 2011-07-27 02:04:03
Edit Download
9.45 KB lrw-r--r-- 2012-04-19 22:43:16
Edit Download
3.27 KB lrw-r--r-- 2011-07-27 02:04:03
Edit Download
3.04 KB lrw-r--r-- 2012-04-19 22:43:16
Edit Download
704 B lrw-r--r-- 2011-07-27 02:04:03
Edit Download
2.49 KB lrw-r--r-- 2011-08-26 01:12:57
Edit Download
4.03 KB lrw-r--r-- 2011-07-27 02:04:03
Edit Download
6.04 KB lrw-r--r-- 2011-07-27 02:04:03
Edit Download
1.87 KB lrw-r--r-- 2011-07-27 02:04:03
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).