Module: Configuration::ClassMethods
- Defined in:
- lib/configuration.rb
Instance Method Summary collapse
- #for(name, options = nil, &block) ⇒ Object
- #load(name) ⇒ Object
- #path(*value) ⇒ Object
- #path=(value) ⇒ Object
Instance Method Details
#for(name, options = nil, &block) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/configuration.rb', line 21 def for name, = nil, &block name = name.to_s = .to_hash if .is_a?( Configuration ) if Table.has_key?(name) if or block configuration = Table[name] Table[name] = DSL.evaluate(configuration, || {}, &block) else Table[name] end else if or block Table[name] = new name, || {}, &block else load name end end end |
#load(name) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/configuration.rb', line 51 def load name name = name.to_s name = name + '.rb' unless name[%r/\.rb$/] key = name.sub %r/\.rb$/, '' load_path = $LOAD_PATH.dup begin $LOAD_PATH.replace(path + load_path) ::Kernel.load name ensure $LOAD_PATH.replace load_path end Table[key] end |
#path(*value) ⇒ Object
41 42 43 44 |
# File 'lib/configuration.rb', line 41 def path *value return self.path = value.first unless value.empty? Path end |