Class: Conjur::DSL2::OwnerResolver

Inherits:
Resolver show all
Defined in:
lib/conjur/dsl2/resolver.rb

Overview

Sets the owner field for any records which support it, and don’t have an owner specified. Within a policy, the default owner is the policy role. For global records, the default owner is the ownerid specified in the constructor.

Instance Attribute Summary

Attributes inherited from Resolver

#account, #namespace, #ownerid

Instance Method Summary collapse

Methods inherited from Resolver

#initialize, resolve

Constructor Details

This class inherits a constructor from Conjur::DSL2::Resolver

Instance Method Details

#on_resolve_policy(policy, visited) ⇒ Object



130
131
132
133
134
135
136
# File 'lib/conjur/dsl2/resolver.rb', line 130

def on_resolve_policy policy, visited
  saved_ownerid = @ownerid
  @ownerid = [ policy., "policy", policy.id ].join(":")
  traverse policy.body, visited, method(:resolve_owner), method(:on_resolve_policy)
ensure
  @ownerid = saved_ownerid
end

#resolve(records) ⇒ Object



120
121
122
# File 'lib/conjur/dsl2/resolver.rb', line 120

def resolve records
  traverse records, Set.new, method(:resolve_owner), method(:on_resolve_policy)
end

#resolve_owner(record, visited) ⇒ Object



124
125
126
127
128
# File 'lib/conjur/dsl2/resolver.rb', line 124

def resolve_owner record, visited
  if record.respond_to?(:owner) && record.respond_to?(:owner) && record.owner.nil?
    record.owner = Types::Role.new(@ownerid)
  end
end