class Findable::Query::Serializer
Public Class Methods
new(serializer = nil)
click to toggle source
# File lib/findable/query/serializer.rb, line 4 def initialize(serializer = nil) @serializer = serializer || Findable.config.serializer end
Public Instance Methods
deserialize(raw_data, klass = nil)
click to toggle source
@params raw_data [String] Serialized string @params raw_data [Array<String>] Array of serialized string @return [ActiveSupport::HashWithIndifferentAccess] @return [Array<ActiveSupport::HashWithIndifferentAccess>]
# 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)
click to toggle source
# File lib/findable/query/serializer.rb, line 8 def serialize(object) @serializer.dump(object) end