Sha256: ad97bed13bf50d063a89d9bd0d7f56e689c5eaf304cf307fb30c01caa2bfbf55
Contents?: true
Size: 816 Bytes
Versions: 3
Compression:
Stored size: 816 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) 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
nymphia-0.1.2 | lib/nymphia/dsl/context.rb |
nymphia-0.1.1 | lib/nymphia/dsl/context.rb |
nymphia-0.1.0 | lib/nymphia/dsl/context.rb |