Class: Separatum::Converters::Hash2Object

Inherits:
Object
  • Object
show all
Defined in:
lib/separatum/converters/hash2_object.rb

Instance Method Summary collapse

Instance Method Details

#call(*hashes) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/separatum/converters/hash2_object.rb', line 4

def call(*hashes)
  hashes.flatten.map do |hash|
    hash_copy = hash.symbolize_keys
    klass = Object.const_get(hash_copy.delete(:_klass))
    hash_copy.keys.map(&:to_s).select { |k| '_' == k[0] }.each { |k| hash_copy.delete(k.to_sym) }
    object = klass.new
    hash_copy.each do |k, v|
      object.send("#{k}=", v)
    end
    object
  end
end