module Conjur::Policy::Types::ActsAsResource

Public Class Methods

included(base) click to toggle source
# File lib/conjur/policy/types/records.rb, line 16
def self.included(base)
  base.module_eval do
    attribute :id,   kind: :string, singular: true, dsl_accessor: true
    attribute :account, kind: :string, singular: true
    attribute :owner, kind: :role, singular: true, dsl_accessor: true
    
    attribute :annotations, kind: :hash, type: Hash, singular: true
    
    def description value
      annotation 'description', value
    end
    
    def annotation name, value
      self.annotations ||= {}
      self.annotations[name] = value
    end
  end
end
new(id = nil) click to toggle source
# File lib/conjur/policy/types/records.rb, line 35
def initialize id = nil
  self.id = id if id
end

Public Instance Methods

action() click to toggle source
# File lib/conjur/policy/types/records.rb, line 55
def action
  :create
end
annotation(name, value) click to toggle source
# File lib/conjur/policy/types/records.rb, line 28
def annotation name, value
  self.annotations ||= {}
  self.annotations[name] = value
end
description(value) click to toggle source
# File lib/conjur/policy/types/records.rb, line 24
def description value
  annotation 'description', value
end
immutable_attribute_names() click to toggle source
# File lib/conjur/policy/types/records.rb, line 63
def immutable_attribute_names
  []
end
resource?() click to toggle source
# File lib/conjur/policy/types/records.rb, line 59
def resource?
  true
end
resource_id() click to toggle source
# File lib/conjur/policy/types/records.rb, line 51
def resource_id
  id
end
resource_kind() click to toggle source
# File lib/conjur/policy/types/records.rb, line 47
def resource_kind
  self.class.name.split("::")[-1].underscore
end
resourceid(default_account = nil) click to toggle source
# File lib/conjur/policy/types/records.rb, line 43
def resourceid default_account = nil
  [ account || default_account, resource_kind, id ].join(":")
end
to_s() click to toggle source
# File lib/conjur/policy/types/records.rb, line 39
def to_s
  "#{resource_kind.gsub('_', ' ')} '#{id}'#{account && account != Conjur.configuration.account ? ' in account \'' + account + '\'': ''}"
end