Class: EventQ::SerializationProviders::OjSerializationProvider

Inherits:
Object
  • Object
show all
Defined in:
lib/eventq/eventq_base/serialization_providers/oj_serialization_provider.rb

Instance Method Summary collapse

Constructor Details

#initializeOjSerializationProvider

Returns a new instance of OjSerializationProvider.



5
6
7
# File 'lib/eventq/eventq_base/serialization_providers/oj_serialization_provider.rb', line 5

def initialize
  @json_serializer = EventQ::SerializationProviders::JsonSerializationProvider.new
end

Instance Method Details

#deserialize(json) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/eventq/eventq_base/serialization_providers/oj_serialization_provider.rb', line 13

def deserialize(json)
  begin
    Oj.load(json)
  rescue Oj::ParseError, ArgumentError
    EventQ.log(:debug, "[#{self.class}] - Failed to deserialize using Oj, falling back to JsonSerializationProvider.")
    @json_serializer.deserialize(json)
  end
end

#serialize(object) ⇒ Object



9
10
11
# File 'lib/eventq/eventq_base/serialization_providers/oj_serialization_provider.rb', line 9

def serialize(object)
  Oj.dump(object, mode: :object)
end