Class: Mammoth::Runtimes::InlineAdapter

Inherits:
Adapter
  • Object
show all
Defined in:
lib/mammoth/runtimes/inline_adapter.rb

Overview

Inline runtime adapter that processes work in the caller thread.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Adapter

capabilities

Constructor Details

#initialize(processor:) ⇒ InlineAdapter

Returns a new instance of InlineAdapter.

Parameters:

  • processor (#process)

    delivery processor



10
11
12
13
# File 'lib/mammoth/runtimes/inline_adapter.rb', line 10

def initialize(processor:)
  super()
  @processor = processor
end

Instance Attribute Details

#processorObject (readonly)

Returns the value of attribute processor.



7
8
9
# File 'lib/mammoth/runtimes/inline_adapter.rb', line 7

def processor
  @processor
end

Class Method Details

.adapter_typeString

Returns adapter type name.

Returns:

  • (String)

    adapter type name



24
25
26
# File 'lib/mammoth/runtimes/inline_adapter.rb', line 24

def self.adapter_type
  "inline"
end

.build(processor:, **_options) ⇒ Mammoth::Runtimes::InlineAdapter

Build an inline runtime.

Parameters:

  • processor (#process)

    delivery processor

Returns:



19
20
21
# File 'lib/mammoth/runtimes/inline_adapter.rb', line 19

def self.build(processor:, **_options)
  new(processor: processor)
end

Instance Method Details

#process_many(items) ⇒ Array<Object>

Returns processor results.

Parameters:

  • items (Array<Object>)

    work units

Returns:

  • (Array<Object>)

    processor results



30
31
32
# File 'lib/mammoth/runtimes/inline_adapter.rb', line 30

def process_many(items)
  items.map { |item| processor.process(item) }
end

#shutdownnil

Returns:

  • (nil)


35
36
37
# File 'lib/mammoth/runtimes/inline_adapter.rb', line 35

def shutdown
  nil
end