Module: Insta::Serializers
- Defined in:
- lib/insta/serializers/base.rb,
lib/insta/serializers/json.rb,
lib/insta/serializers/yaml.rb,
lib/insta/serializers/string.rb,
lib/insta/serializers/inspect.rb,
sig/insta/serializers/base.rbs,
sig/insta/serializers/json.rbs,
sig/insta/serializers/yaml.rbs,
sig/insta/serializers/string.rbs,
sig/insta/serializers/inspect.rbs
Defined Under Namespace
Classes: Base, InspectSerializer, JSONSerializer, StringSerializer, YAMLSerializer
Constant Summary collapse
- REGISTRY =
: Hash[Symbol, singleton(Base)] # rubocop:disable Style/MutableConstant
{}
Class Method Summary collapse
-
.fetch(name) ⇒ singleton(Base)
: (Symbol) -> singleton(Base).
-
.register(name, serializer) ⇒ void
: (Symbol, singleton(Base)) -> void.
-
.serialize(name, value) ⇒ String
: (Symbol, untyped) -> String.
Class Method Details
.fetch(name) ⇒ singleton(Base)
: (Symbol) -> singleton(Base)
20 21 22 23 24 |
# File 'lib/insta/serializers/base.rb', line 20 def self.fetch(name) REGISTRY.fetch(name) do raise ArgumentError, "Unknown serializer: #{name.inspect}. Available: #{REGISTRY.keys.join(", ")}" end end |
.register(name, serializer) ⇒ void
This method returns an undefined value.
: (Symbol, singleton(Base)) -> void
15 16 17 |
# File 'lib/insta/serializers/base.rb', line 15 def self.register(name, serializer) REGISTRY[name] = serializer end |
.serialize(name, value) ⇒ String
: (Symbol, untyped) -> String
27 28 29 |
# File 'lib/insta/serializers/base.rb', line 27 def self.serialize(name, value) fetch(name).serialize(value) end |