Sha256: eb03f76bca2fd460eaac6db5e7c76bd9d733b359f4702be640fe93873ac7db3d

Contents?: true

Size: 1.13 KB

Versions: 8

Compression:

Stored size: 1.13 KB

Contents

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

    desc "owner list [PACKAGE]", "Display owners of a package"
    def list(package)
      remote = Spade::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 "owner add [PACKAGE] [EMAIL]", "Allow another user to push new versions of your spade package"
    def add(package, email)
      remote = Spade::Remote.new
      if remote.logged_in?
        say remote.add_owner(package, email)
      else
        abort LOGIN_MESSAGE
      end
    end

    desc "owner remove [PACKAGE] [EMAIL]", "Allow another user to push new versions of your spade package"
    def remove(package, email)
      remote = Spade::Remote.new
      if remote.logged_in?
        say remote.remove_owner(package, email)
      else
        abort LOGIN_MESSAGE
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
spade-0.0.8.1 lib/spade/cli/owner.rb
spade-0.0.7 lib/spade/cli/owner.rb
spade-0.0.6 lib/spade/cli/owner.rb
spade-0.0.5 lib/spade/cli/owner.rb
spade-0.0.4 lib/spade/cli/owner.rb
spade-0.0.3 lib/spade/cli/owner.rb
spade-0.0.2 lib/spade/cli/owner.rb
spade-0.0.1 lib/spade/cli/owner.rb