class Bedouin::Environment::DSL
Public Class Methods
new(filename)
click to toggle source
# File lib/bedouin/environment.rb, line 14 def initialize(filename) @filename=filename end
Public Instance Methods
environment(name,parent=nil,&block)
click to toggle source
# File lib/bedouin/environment.rb, line 40 def environment(name,parent=nil,&block) parent_hash = resolve_parent(parent) e = Environment.new(name,parent_hash) e.instance_eval &block if block_given? return e end
evaluate()
click to toggle source
# File lib/bedouin/environment.rb, line 18 def evaluate self.instance_eval(File.read(@filename), @filename) end
resolve_parent(parent)
click to toggle source
# File lib/bedouin/environment.rb, line 22 def resolve_parent(parent) parent_hash = case parent when String parent_path = File.expand_path(parent, File.dirname(@filename)) Environment.parse(parent_path) when NilClass nil else parent end unless parent_hash.respond_to? :to_h raise ArgumentError.new "#{parent.class} not a valid type for environment parent" end parent_hash end