class Aptible::Auth::Role

Public Instance Methods

account_permissions(account) click to toggle source
# File lib/aptible/auth/role.rb, line 28
def account_permissions(account)
  account.permissions.select do |permission|
    (link = permission.links[:role]) && link.href == href
  end
end
add_account_scope(account, scope) click to toggle source
# File lib/aptible/auth/role.rb, line 38
def add_account_scope(account, scope)
  account.create_permission!(scope: scope, role: href)
end
add_account_scopes(account, scopes) click to toggle source
# File lib/aptible/auth/role.rb, line 34
def add_account_scopes(account, scopes)
  scopes.each { |scope| add_account_scope(account, scope) }
end
permissions() click to toggle source
# File lib/aptible/auth/role.rb, line 42
def permissions
  require 'aptible/api'

  permissions = Aptible::Api::Permission.all(token: token,
                                             headers: headers)
  permissions.select do |permission|
    (link = permission.links[:role]) && link.href == href
  end
end
set_account_permissions(account, scopes) click to toggle source
# File lib/aptible/auth/role.rb, line 18
def set_account_permissions(account, scopes)
  permissions = account_permissions(account)

  permissions.each { |p| p.destroy unless scopes.include? p.scope }
  existing = permissions.keep_if { |p| scopes.include? p.scope }

  new_scopes = scopes - existing.map(&:scope)
  add_account_scopes(account, new_scopes)
end
users() click to toggle source
# File lib/aptible/auth/role.rb, line 14
def users
  @users ||= memberships.map(&:user).uniq
end