Method: Fidgit::Schema#merge_elements!
- Defined in:
- lib/fidgit/schema.rb
#merge_elements!(elements_hash) ⇒ Object
Merge in a hash containing default values for each element.
56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/fidgit/schema.rb', line 56 def merge_elements!(elements_hash) elements_hash.each_pair do |klass_names, data| klass = Fidgit klass_names.to_s.split('::').each do |klass_name| klass = klass.const_get klass_name end raise "elements must be names of classes derived from #{Element}" unless klass.ancestors.include? Fidgit::Element @elements[klass] ||= {} @elements[klass].deep_merge! data end self end |