Module: Ecraft::Extensions::Mixins::Hashable
- Defined in:
- lib/ecraft/extensions/mixins/hashable.rb
Instance Method Summary collapse
Instance Method Details
#to_h(*targets) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/ecraft/extensions/mixins/hashable.rb', line 17 def to_h(*targets) target = get_target(targets) if target.is_a?(Hash) strip_string_recurse_enumerable_values(target) elsif target.is_a?(Array) strip_array(target) elsif target.is_a?(OpenStruct) target.marshal_dump elsif value_type?(target) target # We need to check to ensure we don't call ourselves recursively. elsif !target.class.included_modules.include?(Hashable) && target.respond_to?(:to_h) target.to_h else turn_object_into_hash(target) end end |
#to_hash(target = nil) ⇒ Object
36 37 38 |
# File 'lib/ecraft/extensions/mixins/hashable.rb', line 36 def to_hash(target = nil) to_h(target) end |