Module: Takagi::Serialization
- Defined in:
- lib/takagi/serialization.rb,
lib/takagi/serialization/base.rb,
lib/takagi/serialization/registry.rb,
lib/takagi/serialization/cbor_serializer.rb,
lib/takagi/serialization/json_serializer.rb,
lib/takagi/serialization/text_serializer.rb,
lib/takagi/serialization/octet_stream_serializer.rb,
sig/takagi/serialization.rbs
Overview
Content-format serialization system
Provides pluggable serialization/deserialization for CoAP content-formats. Built-in serializers for common formats:
- JSON (application/json, code 50)
- CBOR (application/cbor, code 60)
- Text (text/plain, code 0)
- Binary (application/octet-stream, code 42)
Defined Under Namespace
Classes: Base, CborSerializer, DecodeError, EncodeError, Error, InvalidSerializerError, JsonSerializer, OctetStreamSerializer, Registry, TextSerializer, UnknownFormatError
Class Method Summary collapse
-
.decode(bytes, format) ⇒ Object
Decode bytes with format.
-
.encode(data, format) ⇒ String
Encode data with format.
-
.register_defaults! ⇒ void
Register default serializers.
-
.supports?(format) ⇒ Boolean
Check if format is supported.
Class Method Details
.decode(bytes, format) ⇒ Object
Decode bytes with format
99 100 101 |
# File 'lib/takagi/serialization.rb', line 99 def self.decode(bytes, format) Registry.decode(bytes, format) end |
.encode(data, format) ⇒ String
Encode data with format
87 88 89 |
# File 'lib/takagi/serialization.rb', line 87 def self.encode(data, format) Registry.encode(data, format) end |
.register_defaults! ⇒ void
This method returns an undefined value.
Register default serializers
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/takagi/serialization.rb', line 55 def self.register_defaults! Registry.register( CoAP::Registries::ContentFormat::TEXT_PLAIN, TextSerializer ) Registry.register( CoAP::Registries::ContentFormat::OCTET_STREAM, OctetStreamSerializer ) Registry.register( CoAP::Registries::ContentFormat::JSON, JsonSerializer ) Registry.register( CoAP::Registries::ContentFormat::CBOR, CborSerializer ) Takagi.logger.debug 'Registered default serializers: text/plain, octet-stream, JSON, CBOR' end |