Module: ActiveSerialize::ToH

Defined in:
lib/active_serialize.rb

Instance Method Summary collapse

Instance Method Details

#to_h(rmv: [ ], add: [ ], merge: { }) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/active_serialize.rb', line 25

def to_h(rmv: [ ], add: [ ], merge: { })
  tran_key = ->(key) { (_active_serialize[:map][key] || key).to_s }
  recursion = _active_serialize[:recursive].map { |key| [ tran_key.(key), public_send(key)&.to_ha ] }.to_h
  active_serialize_keys(rmv: rmv, add: add)
      .map{ |key| [ tran_key.(key), public_send(key) ] }.to_h
      .merge(merge).merge(recursion)
end