Class: Findable::Query::Serializer
- Inherits:
-
Object
- Object
- Findable::Query::Serializer
- Defined in:
- lib/findable/query/serializer.rb
Instance Method Summary collapse
- #deserialize(raw_data, klass = nil) ⇒ ActiveSupport::HashWithIndifferentAccess+
-
#initialize(serializer = nil) ⇒ Serializer
constructor
A new instance of Serializer.
- #serialize(object) ⇒ Object
Constructor Details
#initialize(serializer = nil) ⇒ Serializer
Returns a new instance of Serializer.
4 5 6 |
# File 'lib/findable/query/serializer.rb', line 4 def initialize(serializer = nil) @serializer = serializer || Findable.config.serializer end |
Instance Method Details
#deserialize(raw_data, klass = nil) ⇒ ActiveSupport::HashWithIndifferentAccess+
16 17 18 19 20 21 22 23 |
# File 'lib/findable/query/serializer.rb', line 16 def deserialize(raw_data, klass = nil) objects = Array(raw_data).compact.map {|data| object = @serializer.load(data) object = object.with_indifferent_access if object.is_a?(Hash) klass ? klass.new(object) : object } raw_data.is_a?(String) ? objects.first : objects end |
#serialize(object) ⇒ Object
8 9 10 |
# File 'lib/findable/query/serializer.rb', line 8 def serialize(object) @serializer.dump(object) end |