Module: MotionPrime::HasNormalizer
- Included in:
- BaseElement, Model, ScreenSectionsMixin, Section, Styles, TabbedSection
- Defined in:
- motion-prime/helpers/has_normalizer.rb
Instance Method Summary collapse
- #normalize_object(object, receiver = nil) ⇒ Object
- #normalize_options(unordered_options, receiver = nil, order = nil) ⇒ Object
Instance Method Details
#normalize_object(object, receiver = nil) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'motion-prime/helpers/has_normalizer.rb', line 15 def normalize_object(object, receiver = nil) receiver ||= self if object.is_a?(Proc) receiver.send(:instance_exec, self, &object) elsif object.is_a?(Hash) object.inject({}) do |result, (key, nested_object)| result.merge(key => normalize_object(nested_object, receiver)) end else object end end |
#normalize_options(unordered_options, receiver = nil, order = nil) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 |
# File 'motion-prime/helpers/has_normalizer.rb', line 3 def (, receiver = nil, order = nil) = if order Hash[.sort_by { |k,v| order.index(k.to_s).to_i }] else end .each do |key, option| [key] = normalize_object(option, receiver) end end |