Sha256: 6ac0f8ff90b31249a635949b06e9199b076b7ec09ebf34f8b1022577f8ef1f30

Contents?: true

Size: 1.11 KB

Versions: 6

Compression:

Stored size: 1.11 KB

Contents

module BPM::CLI
  class Owner < Thor
    default_task :list

    desc "list [PACKAGE]", "Display owners of a package"
    def list(package)
      remote = BPM::Remote.new
      if remote.logged_in?
        yaml   = remote.list_owners(package)
        owners = YAML.load(yaml)

        if owners.is_a?(Array)
          say "Owners for package: #{package}"
          owners.each do |owner|
            say "- #{owner['email']}"
          end
        else
          say owners
        end
      else
        abort LOGIN_MESSAGE
      end
    end

    desc "add [PACKAGE] [EMAIL]", "Allow another user to push new versions of your bpm package"
    def add(package, email)
      remote = BPM::Remote.new
      if remote.logged_in?
        say remote.add_owner(package, email)
      else
        abort LOGIN_MESSAGE
      end
    end

    desc "remove [PACKAGE] [EMAIL]", "Remove user's permission to push new versions of your bpm package"
    def remove(package, email)
      remote = BPM::Remote.new
      if remote.logged_in?
        say remote.remove_owner(package, email)
      else
        abort LOGIN_MESSAGE
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
bpm-1.0.0.rc.3 lib/bpm/cli/owner.rb
bpm-1.0.0.rc.2 lib/bpm/cli/owner.rb
bpm-1.0.0.rc.1 lib/bpm/cli/owner.rb
bpm-1.0.0.beta.13 lib/bpm/cli/owner.rb
bpm-1.0.0.beta.12 lib/bpm/cli/owner.rb
bpm-1.0.0.beta.11 lib/bpm/cli/owner.rb