Class: MagicPipe::Senders::Sync

Inherits:
Base
  • Object
show all
Includes:
MetricsMixin
Defined in:
lib/magic_pipe/senders/sync.rb

Instance Method Summary collapse

Methods included from MetricsMixin

#track_failure, #track_success

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from MagicPipe::Senders::Base

Instance Method Details

#build_message(metadata) ⇒ Object



20
21
22
# File 'lib/magic_pipe/senders/sync.rb', line 20

def build_message()
  Envelope.new(body: data, **)
end

#build_metadataObject



24
25
26
27
28
29
30
31
# File 'lib/magic_pipe/senders/sync.rb', line 24

def 
  {
    topic: @topic,
    producer: @config.producer_name,
    time: @time.to_i,
    mime: @codec::TYPE
  }
end

#callObject



9
10
11
12
13
14
15
16
17
18
# File 'lib/magic_pipe/senders/sync.rb', line 9

def call
   = 
  envelope = build_message()
  payload = @codec.new(envelope).encode
  @transport.submit!(payload, )
  track_success(@metrics, @topic)
rescue => e
  track_failure(@metrics, @topic)
  raise e
end

#dataObject



33
34
35
# File 'lib/magic_pipe/senders/sync.rb', line 33

def data
  @wrapper ? @wrapper.new(@object) : @object
end