Module: ModelWrapper
- Included in:
- ArrayModel, Model
- Defined in:
- lib/volt/models/model_wrapper.rb
Instance Method Summary collapse
-
#wrap_value(value, lookup) ⇒ Object
For cretain values, we wrap them to make the behave as a model.
- #wrap_values(values, lookup = []) ⇒ Object
Instance Method Details
#wrap_value(value, lookup) ⇒ Object
For cretain values, we wrap them to make the behave as a model.
4 5 6 7 8 9 10 11 12 |
# File 'lib/volt/models/model_wrapper.rb', line 4 def wrap_value(value, lookup) if value.cur.is_a?(Array) value = new_array_model(value, @options.merge(parent: self, path: path + lookup)) elsif value.cur.is_a?(Hash) value = new_model(value, @options.merge(parent: self, path: path + lookup)) end return value end |
#wrap_values(values, lookup = []) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/volt/models/model_wrapper.rb', line 14 def wrap_values(values, lookup=[]) if values.cur.is_a?(Array) # Coming from an array values = values.map {|v| wrap_value(v,lookup + [:[]]) } elsif values.cur.is_a?(Hash) pairs = values.map do |k,v| path = lookup + [k] [k, wrap_value(v,path)] end values = Hash[pairs] end return values end |