Class: Separatum::Converters::Object2Hash
- Inherits:
-
Object
- Object
- Separatum::Converters::Object2Hash
- Defined in:
- lib/separatum/converters/object2_hash.rb
Instance Method Summary collapse
- #call(*objects, **params) ⇒ Object
-
#initialize(**params) ⇒ Object2Hash
constructor
A new instance of Object2Hash.
Constructor Details
#initialize(**params) ⇒ Object2Hash
Returns a new instance of Object2Hash.
4 5 6 |
# File 'lib/separatum/converters/object2_hash.rb', line 4 def initialize(**params) @common_fields = params[:common_fields] || {} end |
Instance Method Details
#call(*objects, **params) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/separatum/converters/object2_hash.rb', line 8 def call(*objects, **params) objects.flatten.map do |object| hash = if object.respond_to?(:as_json) object.as_json elsif object.respond_to?(:to_hash) object.to_hash elsif object.respond_to?(:to_h) object.to_h else fail end klass = object.class.respond_to?(:name) ? object.class.name : object.class.to_s hash.symbolize_keys.merge(_klass: klass).merge(@common_fields) end end |