Sha256: bf70f0425e5afab79bfa9c245a7e7361225728dbd1c8f8dcd94bafa65edb8012

Contents?: true

Size: 1.35 KB

Versions: 4

Compression:

Stored size: 1.35 KB

Contents

module Pod
  class Command
    class Trunk
      class RemoveOwner < Trunk
        self.summary = 'Remove an owner from a pod'
        self.description = <<-DESC
          Removes the user with specified `OWNER-EMAIL` from being 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 and removing 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 owner’s email address.'
          end
        end

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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
cocoapods-trunk-0.6.1 lib/pod/command/trunk/remove_owner.rb
cocoapods-trunk-0.6.0 lib/pod/command/trunk/remove_owner.rb
cocoapods-trunk-0.5.1 lib/pod/command/trunk/remove_owner.rb
cocoapods-trunk-0.5.0 lib/pod/command/trunk/remove_owner.rb