class Rfs::Command::Developer

Attributes

email[RW]
login[RW]
repository_id[RW]
space_id[RW]

Public Class Methods

execute(args, options) click to toggle source
# File lib/rfs/command/developer.rb, line 7
def self.execute(args, options)
  items = (args[2] || '').split '/'
  if items.size == 2
    space_id, repository_id = items[0], items[1]
  elsif items.size == 1
    space_id, repository_id = nil, items[0]
  elsif items.size > 2
    space_id, repository_id = items[0], items[1..(items.size - 1)].join('/')
  else
    space_id, repository_id = nil, nil
  end
  Rfs::Command::Developer.new(action: args[0], login: args[1], email: args[2], space_id: space_id, repository_id: repository_id).save
end

Public Instance Methods

all() click to toggle source
# File lib/rfs/command/developer.rb, line 21
def all
  space_handle, repository_id = (login || '').split('/')
  developers = Api::Client::Developer.all(space_handle: space_handle, repository_id: repository_id)
  admins_count = 0
  developers.each do |developer|
    star = developer.admin ? '#' : '*'
    admins_count += 1 if developer.admin
    printf "%s %-20s (%s)\n", star, developer.login, developer.email
  end
  say "\n#{developers.size} developer(s)   #{admins_count} admin(s)\n"
end
allow() click to toggle source
# File lib/rfs/command/developer.rb, line 41
def allow
  Api::Client::Developer.allow login, [space_id, repository_id].join('/')
end
create() click to toggle source
# File lib/rfs/command/developer.rb, line 33
def create
  Api::Client::Developer.create(login: login, email: email)
end
delete() click to toggle source
# File lib/rfs/command/developer.rb, line 37
def delete
  Api::Client::Developer.delete login
end
deny() click to toggle source
# File lib/rfs/command/developer.rb, line 45
def deny
  Api::Client::Developer.deny login, [space_id, repository_id].join('/')
end