Module: Restate::JsonSerde

Defined in:
lib/restate/serde.rb,
sig/restate.rbs

Overview

JSON serializer/deserializer (default). Converts Ruby objects to JSON byte strings and back.

Class Method Summary collapse

Class Method Details

.deserialize(buf) ⇒ Object

Deserialize a JSON byte string to a Ruby object. Returns nil for nil or empty input.

Parameters:

  • buf (String, nil)

Returns:

  • (Object)


23
24
25
26
27
# File 'lib/restate/serde.rb', line 23

def deserialize(buf)
  return nil if buf.nil? || buf.empty?

  JSON.parse(buf, symbolize_names: false)
end

.json_schemaHash[String, untyped]?

Return the JSON Schema for this serde, or nil if unspecified.

Returns:

  • (Hash[String, untyped], nil)


30
31
32
# File 'lib/restate/serde.rb', line 30

def json_schema
  nil
end

.serialize(obj) ⇒ String

Serialize a Ruby object to a JSON byte string. Returns empty bytes for nil.

Parameters:

  • obj (Object)

Returns:

  • (String)


16
17
18
19
20
# File 'lib/restate/serde.rb', line 16

def serialize(obj)
  return EMPTY_BYTES if obj.nil?

  JSON.generate(obj).b
end