module Conjur::DSL2::Planner

Public Class Methods

plan(records, api, plan = nil) click to toggle source
# File lib/conjur/dsl2/planner.rb, line 10
def plan records, api, plan = nil
  plan ||= Plan.new
  plan.tap do |plan|
    Array(records).map{ |record| planner_for(record, api) }.each do |planner|
      planner.plan = plan
      planner.log { %Q(Planning "#{planner.record} using #{planner.class}") }
      begin
        planner.do_plan
        planner.log { "\tFinished \"#{planner.record}\"" }
      ensure
        planner.plan = nil
      end
    end        
  end
end
planner_for(record, api) click to toggle source
# File lib/conjur/dsl2/planner.rb, line 26
def planner_for record, api
  cls = begin
    const_get record.class.name.split("::")[-1]
  rescue NameError
    Record
  end
  cls.new record, api
end