Class: Trunk::Serializers::Composite

Inherits:
Object
  • Object
show all
Defined in:
lib/trunk/serializers/composite.rb

Instance Method Summary collapse

Constructor Details

#initialize(serializers = []) ⇒ Composite

Returns a new instance of Composite.



4
5
6
# File 'lib/trunk/serializers/composite.rb', line 4

def initialize(serializers = [])
  @serializers = serializers
end

Instance Method Details

#add(serializer) ⇒ Object



8
9
10
# File 'lib/trunk/serializers/composite.rb', line 8

def add(serializer)
  @serializers.push(serializer)
end

#deserialize(value) ⇒ Object



19
20
21
22
23
24
# File 'lib/trunk/serializers/composite.rb', line 19

def deserialize(value)
  @serializers.reverse.each do |x|
    value = x.deserialize(value)
  end
  value
end

#serialize(value) ⇒ Object



12
13
14
15
16
17
# File 'lib/trunk/serializers/composite.rb', line 12

def serialize(value)
  @serializers.each do |x|
    value = x.serialize(value)
  end
  value
end