Class: ARSerializeHelpers::Multiple

Inherits:
Object
  • Object
show all
Defined in:
lib/ar-serialize-helpers/multiple.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*serializers) ⇒ Multiple

First defined is first to run when dumping. Last to run when loading.



6
7
8
# File 'lib/ar-serialize-helpers/multiple.rb', line 6

def initialize *serializers
  self.serializers = serializers
end

Instance Attribute Details

#serializersObject

Returns the value of attribute serializers.



3
4
5
# File 'lib/ar-serialize-helpers/multiple.rb', line 3

def serializers
  @serializers
end

Instance Method Details

#dump(obj) ⇒ Object



10
11
12
# File 'lib/ar-serialize-helpers/multiple.rb', line 10

def dump obj
  serializers.reduce(obj) { |obj, serializer| serializer.dump obj }
end

#load(obj) ⇒ Object



14
15
16
# File 'lib/ar-serialize-helpers/multiple.rb', line 14

def load obj
  serializers.reverse.reduce(obj) { |obj, serializer| serializer.load obj }
end