Class: MagicPipe::Senders::Sync
Instance Method Summary
collapse
#track_failure, #track_success
Methods inherited from Base
#initialize
Instance Method Details
#build_message(metadata) ⇒ Object
20
21
22
|
# File 'lib/magic_pipe/senders/sync.rb', line 20
def build_message(metadata)
Envelope.new(body: data, **metadata)
end
|
24
25
26
27
28
29
30
31
|
# File 'lib/magic_pipe/senders/sync.rb', line 24
def build_metadata
{
topic: @topic,
producer: @config.producer_name,
time: @time.to_i,
mime: @codec::TYPE
}
end
|
#call ⇒ Object
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/magic_pipe/senders/sync.rb', line 9
def call
metadata = build_metadata
envelope = build_message(metadata)
payload = @codec.new(envelope).encode
@transport.submit!(payload, metadata)
track_success(@metrics, @topic)
rescue => e
track_failure(@metrics, @topic)
raise e
end
|
#data ⇒ Object
33
34
35
|
# File 'lib/magic_pipe/senders/sync.rb', line 33
def data
@wrapper ? @wrapper.new(@object) : @object
end
|