Sha256: a41203ac98011847b33169010eb17045f3c47058e6de298d95cc94449812b800
Contents?: true
Size: 1.52 KB
Versions: 1
Compression:
Stored size: 1.52 KB
Contents
module Qor module Dsl module ClassMethods def node_root @node_root ||= Qor::Dsl::Node.new end def reset! node_config = node_root.config @node_root = Qor::Dsl::Node.new @node_root.add_config(node_config) @root = nil end def node(type, options={}, &blk) node_root.node(type, options, &blk) end def root @root || load end def default_configs(files) @default_configs = files end def default_config if @default_configs.is_a?(Array) @default_configs.select {|x| File.exist?(x.to_s) }[0] else @default_configs end end def load(path=nil, opts={}, &block) reset! if opts[:force] || block_given? @root ||= if block_given? # Load from block node_root.config.instance_eval(&block) node_root else # Load from file @load_path = path || @load_path || default_config load_file(@load_path) end end def load_file(file) return unless File.exist?(file.to_s) node_root.config.instance_eval(File.read(file)) node_root end def find(*arguments, &block) root.find(*arguments, &block) end def deep_find(*arguments, &block) root.deep_find(*arguments, &block) end def first(*arguments, &block) root.first(*arguments, &block) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
qor_dsl-0.1.3 | lib/qor_dsl/class_method.rb |