PHP 8.2.31
Preview: owner_command.rb Size: 1.84 KB
/proc/thread-self/root/opt/alt/ruby20/lib64/ruby/2.0.0/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 usage # :nodoc:
    "#{program_name} GEM"
  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|
      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

end

Directory Contents

Dirs: 0 × Files: 31

Name Size Perms Modified Actions
859 B lrw-r--r-- 2012-11-29 06:52:18
Edit Download
6.41 KB lrw-r--r-- 2013-06-21 16:16:31
Edit Download
2.01 KB lrw-r--r-- 2012-12-23 00:35:09
Edit Download
3.85 KB lrw-r--r-- 2013-01-04 22:58:15
Edit Download
3.12 KB lrw-r--r-- 2012-11-30 00:23:15
Edit Download
3.89 KB lrw-r--r-- 2012-11-29 06:52:18
Edit Download
4.16 KB lrw-r--r-- 2012-11-29 06:52:18
Edit Download
1.49 KB lrw-r--r-- 2013-09-15 14:23:26
Edit Download
2.52 KB lrw-r--r-- 2012-11-29 06:52:18
Edit Download
4.56 KB lrw-r--r-- 2013-07-22 16:33:18
Edit Download
5.45 KB lrw-r--r-- 2012-12-06 05:26:46
Edit Download
696 B lrw-r--r-- 2013-07-22 16:33:18
Edit Download
2.67 KB lrw-r--r-- 2012-11-29 06:52:18
Edit Download
395 B lrw-r--r-- 2012-11-29 06:52:18
Edit Download
866 B lrw-r--r-- 2012-11-29 06:52:18
Edit Download
1.84 KB lrw-r--r-- 2013-07-22 16:33:18
Edit Download
3.66 KB lrw-r--r-- 2013-08-16 15:35:06
Edit Download
2.02 KB lrw-r--r-- 2013-07-22 16:33:18
Edit Download
8.03 KB lrw-r--r-- 2013-07-25 15:42:22
Edit Download
2.31 KB lrw-r--r-- 2012-12-14 05:09:37
Edit Download
616 B lrw-r--r-- 2013-07-25 15:42:22
Edit Download
2.35 KB lrw-r--r-- 2012-11-29 06:52:18
Edit Download
12.94 KB lrw-r--r-- 2013-07-22 16:33:18
Edit Download
3.62 KB lrw-r--r-- 2013-03-17 14:18:23
Edit Download
2.93 KB lrw-r--r-- 2013-07-22 16:33:18
Edit Download
704 B lrw-r--r-- 2011-07-27 01:40:07
Edit Download
3.07 KB lrw-r--r-- 2012-12-06 05:26:46
Edit Download
4.06 KB lrw-r--r-- 2012-11-29 06:52:18
Edit Download
5.80 KB lrw-r--r-- 2013-07-22 16:33:18
Edit Download
1.87 KB lrw-r--r-- 2011-07-27 01:40:07
Edit Download
2.40 KB lrw-r--r-- 2012-11-29 08:10:23
Edit Download

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