Sha256: 447ca5b8ca826e2eaea51e196cf47dbd62f65c6b205a9a92b2b751bacb11fb6c

Contents?: true

Size: 1.39 KB

Versions: 1

Compression:

Stored size: 1.39 KB

Contents

module Pod
  class Command
    class Trunk
      class AddOwner < Trunk
        self.summary = 'Add an owner to a pod'
        self.description = <<-DESC
                Adds the registered user with specified `OWNER-EMAIL` as an owner
                of the given `POD`.
                An ‘owner’ is a registered user whom is allowed to make changes to a
                pod, such as pushing new versions and adding other ‘owners’.
        DESC

        self.arguments = [
          CLAide::Argument.new('POD', true),
          CLAide::Argument.new('OWNER-EMAIL', true),
        ]

        def initialize(argv)
          @pod, @email = argv.shift_argument, argv.shift_argument
          super
        end

        def validate!
          super
          unless token
            help! 'You need to register a session first.'
          end
          unless @pod && @email
            help! 'Specify the pod name and the new owner’s email address.'
          end
        end

        def run
          body = { 'email' => @email }.to_json
          json = json(request_path(:patch, "pods/#{@pod}/owners", body, auth_headers))
          UI.labeled 'Owners', json.map { |o| "#{o['name']} <#{o['email']}>" }
        rescue REST::Error => e
          raise Informative, "There was an error adding #{@email} to " \
                                   "#{@pod} on trunk: #{e.message}"
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cocoapods-trunk-0.4.1 lib/pod/command/trunk/add_owner.rb