class Conjur::DSL2::Ruby::Loader

Attributes

filename[R]
script[R]

Public Class Methods

create(yaml, filename=nil) click to toggle source
# File lib/conjur/dsl2/ruby/loader.rb, line 196
def create(yaml, filename=nil)
  new(yaml, filename)
end
load(yaml, filename = nil) click to toggle source
# File lib/conjur/dsl2/ruby/loader.rb, line 192
def load yaml, filename = nil
  create(yaml, filename).load
end
load_file(filename) click to toggle source
# File lib/conjur/dsl2/ruby/loader.rb, line 188
def load_file filename
  load File.read(filename), filename
end
new(script, filename = nil) click to toggle source
# File lib/conjur/dsl2/ruby/loader.rb, line 202
def initialize script, filename = nil
  @script = script
  @filename = filename
  @scope = []
end

Public Instance Methods

do_scope(obj) { || ... } click to toggle source
# File lib/conjur/dsl2/ruby/loader.rb, line 234
def do_scope obj, &block
  push_scope obj
  class << obj
    attr_accessor :loader
    
    def do_scope obj, &block
      loader.do_scope obj, &block
    end
    
    def scope
      loader.scope
    end
    
    def to_yaml_properties
      super - [ :"@loader" ]
    end
  end
  obj.loader = self
  begin
    yield if block_given?
  ensure
    pop_scope
  end
end
load(root = nil) click to toggle source
# File lib/conjur/dsl2/ruby/loader.rb, line 212
def load root = nil
  args = [ script ]
  args << filename if filename
  root ||= Entitlements.new
  do_scope root do
    instance_eval(*args)
  end
  root
end
loader() click to toggle source
# File lib/conjur/dsl2/ruby/loader.rb, line 208
def loader
  self
end
pop_scope() click to toggle source
# File lib/conjur/dsl2/ruby/loader.rb, line 230
def pop_scope
  @scope.pop
end
push_scope(obj) click to toggle source
# File lib/conjur/dsl2/ruby/loader.rb, line 222
def push_scope obj
  @scope.push obj
end
scope() click to toggle source
# File lib/conjur/dsl2/ruby/loader.rb, line 226
def scope
  @scope.last
end