Module: DataMagic
- Extended by:
- YmlReader
- Defined in:
- lib/data_magic.rb,
lib/data_magic/version.rb,
lib/data_magic/translation.rb,
lib/data_magic/date_translation.rb
Defined Under Namespace
Modules: DateTranslation
Classes: Translation
Constant Summary
collapse
- VERSION =
"0.17"
Class Attribute Summary collapse
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Class Attribute Details
.yml ⇒ Object
Returns the value of attribute yml.
56
57
58
|
# File 'lib/data_magic.rb', line 56
def yml
@yml
end
|
Instance Attribute Details
#parent ⇒ Object
Returns the value of attribute parent.
11
12
13
|
# File 'lib/data_magic.rb', line 11
def parent
@parent
end
|
Class Method Details
.add_translator(translator) ⇒ Object
62
63
64
|
# File 'lib/data_magic.rb', line 62
def add_translator(translator)
translators << translator
end
|
.default_directory ⇒ Object
58
59
60
|
# File 'lib/data_magic.rb', line 58
def default_directory
'config/data'
end
|
.included(cls) ⇒ Object
15
16
17
18
19
20
|
# File 'lib/data_magic.rb', line 15
def self.included(cls)
@parent = cls
translators.each do |translator|
Translation.send :include, translator
end
end
|
.translators ⇒ Object
66
67
68
|
# File 'lib/data_magic.rb', line 66
def translators
@translators ||= []
end
|
Instance Method Details
#data_for(key, additional = {}) ⇒ Object
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/data_magic.rb', line 22
def data_for(key, additional={})
if key.is_a?(String) && key.match(%r{/})
filename, record = key.split('/')
DataMagic.load("#{filename}.yml")
else
record = key.to_s
DataMagic.load('default.yml') unless DataMagic.yml
end
data = DataMagic.yml[record]
raise ArgumentError, "Undefined key #{key}" unless data
prep_data data.merge(additional).clone
end
|