module Trunk module Serializers class Composite def initialize(serializers = []) @serializers = serializers end def add(serializer) @serializers.push(serializer) end def serialize(value) @serializers.each do |x| value = x.serialize(value) end value end def deserialize(value) @serializers.reverse.each do |x| value = x.deserialize(value) end value end end end end