Class: RedSerializer::Serializer

Inherits:
Object
  • Object
show all
Defined in:
lib/red_serializer/serializer.rb

Instance Method Summary collapse

Constructor Details

#initialize(object) ⇒ Serializer

Returns a new instance of Serializer.



3
4
5
# File 'lib/red_serializer/serializer.rb', line 3

def initialize(object)
  @object = object
end

Instance Method Details

#serializeObject



7
8
9
# File 'lib/red_serializer/serializer.rb', line 7

def serialize
  active_record_object? ? serialize_active_record : serialize_poro
end

#serialize_hashObject

Raises:

  • (TypeError)


11
12
13
14
15
16
17
18
19
# File 'lib/red_serializer/serializer.rb', line 11

def serialize_hash
  raise TypeError, "Must be pass an Hash not a #{@object.class}" unless @object.instance_of?(Hash)

  obj_serialized = {}
  @object.map do |key, value|
    obj_serialized[key.to_s] = value.instance_of?(Hash) ? serialize_hash(value) : value.to_s
  end
  obj_serialized
end