class EntitySchema::Transformers::Object
Private Instance Methods
default_mapper()
click to toggle source
# File lib/entity_schema/transformers/object.rb, line 34 def default_mapper ->(hash) { hash } end
mapper(map_to, map_method)
click to toggle source
# File lib/entity_schema/transformers/object.rb, line 21 def mapper(map_to, map_method) return if map_to.nil? map_method ||= :new lambda do |hash| if map_to.is_a?(Class) map_to.public_send(map_method, hash) else Object.const_get(map_to).public_send(map_method, hash) end end end
serializer(opts)
click to toggle source
# File lib/entity_schema/transformers/object.rb, line 38 def serializer(opts) map_method = opts[:serialize] || :to_h ->(object) { object.public_send(map_method) } end
transform_options(o)
click to toggle source
Calls superclass method
EntitySchema::Transformers::Common#transform_options
# File lib/entity_schema/transformers/object.rb, line 10 def transform_options(o) super.merge!( mapper: find(callable(o[:mapper]), owner_meth(o[:mapper]), mapper(o[:map_to], o[:map_method]), default_mapper), serializer: find(o[:serializer], serializer(o)) ) end