Class: Temporalio::PayloadConverter::Bytes

Inherits:
EncodingBase show all
Defined in:
lib/temporalio/payload_converter/bytes.rb

Overview

A payload converter for encoding/decoding byte strings.

Constant Summary collapse

ENCODING =
'binary/plain'.freeze

Instance Method Summary collapse

Instance Method Details

#encodingObject



9
10
11
# File 'lib/temporalio/payload_converter/bytes.rb', line 9

def encoding
  ENCODING
end

#from_payload(payload) ⇒ Object



13
14
15
# File 'lib/temporalio/payload_converter/bytes.rb', line 13

def from_payload(payload)
  payload.data
end

#to_payload(data) ⇒ Object



17
18
19
20
21
22
23
24
# File 'lib/temporalio/payload_converter/bytes.rb', line 17

def to_payload(data)
  return nil unless data.is_a?(String) && data.encoding == Encoding::ASCII_8BIT

  Temporalio::Api::Common::V1::Payload.new(
    metadata: { 'encoding' => ENCODING },
    data: data,
  )
end