Module: Initializr
- Defined in:
- lib/initializr.rb,
lib/initializr/schema.rb,
lib/initializr/default.rb,
lib/initializr/hash_of.rb,
lib/initializr/array_of.rb
Defined Under Namespace
Classes: ArrayOf, Default, HashOf, Schema
Class Method Summary collapse
Class Method Details
.instantiate(obj, schemas) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 |
# File 'lib/initializr.rb', line 3 def self.instantiate obj, schemas if schemas.is_a? Hash children = schemas.keys.map do |key| value = schemas[key].instantiate(obj[key]) Hash[key, value] end.reduce({}, &:merge) obj.merge(children) else schemas.instantiate(obj) end end |