class Synapse::Serialization::ConverterChain

Converter implementation that chains together two or more converters

Attributes

delegates[R]

@return [Array<Converter>]

source_type[R]

@return [Class]

target_type[R]

@return [Class]

Public Class Methods

new(delegates) click to toggle source

@param [Array<Converter>] delegates @return [undefined]

# File lib/synapse/serialization/converter/chain.rb, line 18
def initialize(delegates)
  @delegates = delegates
  @source_type = delegates.first.source_type
  @target_type = delegates.last.target_type
end

Public Instance Methods

convert(original) click to toggle source

@param [SerializedObject] original @return [SerializedObject]

# File lib/synapse/serialization/converter/chain.rb, line 26
def convert(original)
  intermediate = original
  @delegates.each do |delegate|
    intermediate = delegate.convert intermediate
  end
  intermediate
end
convert_content(original) click to toggle source

@param [Object] original @return [Object]

# File lib/synapse/serialization/converter/chain.rb, line 36
def convert_content(original)
  intermediate = original
  @delegates.each do |delegate|
    intermediate = delegate.convert_content intermediate
  end
  intermediate
end