Module: HackyHAL::Util
- Defined in:
- lib/hacky_hal/util.rb
Class Method Summary collapse
Class Method Details
.object_from_hash(hash, context_module) ⇒ Object
3 4 5 6 7 8 9 10 11 12 |
# File 'lib/hacky_hal/util.rb', line 3 def self.object_from_hash(hash, context_module) hash = hash.dup type = hash.delete(:type) unless type raise ArgumentError, "Must specify type to build object from hash. Given: #{hash}" end context_module.const_get(type).new(hash) end |
.symbolize_keys_deep(h) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/hacky_hal/util.rb', line 14 def self.symbolize_keys_deep(h) h.keys.each do |k| ks = k.respond_to?(:to_sym) ? k.to_sym : k h[ks] = h.delete(k) symbolize_keys_deep(h[ks]) if h[ks].kind_of?(Hash) end h end |