Class: Karafka::Serialization::Json::Serializer

Inherits:
Object
  • Object
show all
Defined in:
lib/karafka/serialization/json/serializer.rb

Overview

Default Karafka Json serializer for serializing data

Instance Method Summary collapse

Instance Method Details

#call(content) ⇒ String

Note:

When string is passed to this method, we assume that it is already a json string and we don’t serialize it again. This allows us to serialize data before it is being forwarded to this serializer if we want to have a custom (not that simple) json serialization

Returns Valid JSON string containing serialized data.

Examples:

From an ActiveRecord object

Serializer.call(Repository.first) #=> "{\"repository\":{\"id\":\"04b504e0\"}}"

From a string (no changes)

Serializer.call("{\"a\":1}") #=> "{\"a\":1}"

Parameters:

  • content (Object)

    any object that we want to convert to a json string

Returns:

  • (String)

    Valid JSON string containing serialized data

Raises:



22
23
24
25
26
27
# File 'lib/karafka/serialization/json/serializer.rb', line 22

def call(content)
  return content if content.is_a?(String)
  return content.to_json if content.respond_to?(:to_json)

  raise Karafka::Errors::SerializationError, content
end