Class: PayloadTranslator::ServiceMultiple

Inherits:
Service
  • Object
show all
Defined in:
lib/payload_translator/service_multiple.rb

Instance Attribute Summary collapse

Attributes inherited from Service

#adapt_config, #configuration

Instance Method Summary collapse

Methods inherited from Service

#merge_configuration

Constructor Details

#initialize(adapter_configs_or_names, handlers: {}, formatters: {}) ⇒ ServiceMultiple

Returns a new instance of ServiceMultiple.



4
5
6
7
8
# File 'lib/payload_translator/service_multiple.rb', line 4

def initialize(adapter_configs_or_names, handlers: {}, formatters: {})
  @translators = adapter_configs_or_names.map do |adapter_config_or_name|
    Service.new(adapter_config_or_name, handlers: handlers, formatters: formatters)
  end
end

Instance Attribute Details

#translatorsObject (readonly)

Returns the value of attribute translators.



3
4
5
# File 'lib/payload_translator/service_multiple.rb', line 3

def translators
  @translators
end

Instance Method Details

#translate(payload, &block) ⇒ Object



10
11
12
13
# File 'lib/payload_translator/service_multiple.rb', line 10

def translate(payload, &block)
  tranlated_payload = translators[0].translate(payload)
  translators[1].translate(yield(tranlated_payload))
end