Class: Temporalio::PayloadConverter::JSON

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

Overview

A payload converter for encoding/decoding JSON data.

Constant Summary collapse

ENCODING =
'json/plain'.freeze

Instance Method Summary collapse

Instance Method Details

#encodingObject



10
11
12
# File 'lib/temporalio/payload_converter/json.rb', line 10

def encoding
  ENCODING
end

#from_payload(payload) ⇒ Object



14
15
16
# File 'lib/temporalio/payload_converter/json.rb', line 14

def from_payload(payload)
  ::JSON.parse(payload.data, create_additions: true)
end

#to_payload(data) ⇒ Object



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

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