Sha256: aeea95814ae5b543f7836124aca9259309b8c6b15684ca255e1bba4d006be8db
Contents?: true
Size: 1.41 KB
Versions: 4
Compression:
Stored size: 1.41 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 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 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
4 entries across 4 versions & 1 rubygems