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
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, InvalidSerializerError, JsonSerializer, OctetStreamSerializer, Registry, TextSerializer, UnknownFormatError
Class Method Summary collapse
-
.decode(bytes, format) ⇒ Object
Convenience method: Decode bytes with format.
-
.encode(data, format) ⇒ String
Convenience method: Encode data with format.
-
.register_defaults! ⇒ Object
Auto-register built-in serializers on module load.
-
.supports?(format) ⇒ Boolean
Check if format is supported.
Class Method Details
.decode(bytes, format) ⇒ Object
Convenience method: 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
Convenience method: 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! ⇒ Object
Auto-register built-in serializers on module load
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 |