Sha256: 78daf8b5f1dde6c602554fc8346c10a8a16c474906f80d638178bc7e9374991a
Contents?: true
Size: 961 Bytes
Versions: 2
Compression:
Stored size: 961 Bytes
Contents
require 'pathname' class Nymphia::DSL::Context include Nymphia::DSL::RecursiveMethods attr_reader :result def self.eval(dsl_code, path) new(path) do eval(dsl_code, binding, path) end end def initialize(path, &block) @path = path @context = { identity_files: {}, gateways: {}, default_params: {}, gateway_usage: {}, } @result = { hosts: [], } instance_eval(&block) end private def identity_file(name, path) name = name.to_s path = path.to_s @context[:identity_files][name] = path end def load(load_file_path) warn "#{caller[0]}: #load method is obsolated. Use #include_file" include_file(load_file_path) end def include_file(load_file_path) absolute_load_file_path = Pathname.new(@path).dirname.join(load_file_path) dsl_code = File.read(absolute_load_file_path) instance_eval(dsl_code, absolute_load_file_path.to_s) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
nymphia-0.2.1 | lib/nymphia/dsl/context.rb |
nymphia-0.2.0 | lib/nymphia/dsl/context.rb |