class Conjur::Policy::Types::AutomaticRole

Public Class Methods

build(fullid) click to toggle source
# File lib/conjur/policy/types/records.rb, line 485
def build fullid
  account, kind, id = fullid.split(':', 3)
  raise "Expecting @ for kind, got #{kind}" unless kind == "@"
  id_tokens = id.split('/')
  record_kind = id_tokens.shift
  role_name = id_tokens.pop
  record = Conjur::Policy::Types.const_get(record_kind.classify).new.tap do |record|
    record.id = id_tokens.join('/')
    record.account = account
  end
  self.new record, role_name
end
new(record = nil, role_name = nil) click to toggle source
# File lib/conjur/policy/types/records.rb, line 436
def initialize record = nil, role_name = nil
  self.record = record if record
  self.role_name = role_name if role_name
end

Public Instance Methods

account() click to toggle source
# File lib/conjur/policy/types/records.rb, line 504
def account
  record.account
end
id() click to toggle source
# File lib/conjur/policy/types/records.rb, line 512
def id
  [ record.role_kind, record.id, role_name ].join('/')
end
role_kind() click to toggle source
# File lib/conjur/policy/types/records.rb, line 508
def role_kind
  "@"
end
to_s() click to toggle source
# File lib/conjur/policy/types/records.rb, line 499
def to_s
  role_name = self.id.split('/')[-1]
  "'#{role_name}' on #{record}"
end