Module: Skit

Extended by:
T::Sig
Defined in:
lib/skit.rb,
lib/skit.rb,
lib/skit/version.rb,
lib/skit/attribute.rb,
lib/skit/json_schema.rb,
lib/skit/serialization.rb,
lib/skit/json_schema/cli.rb,
lib/skit/json_schema/config.rb,
lib/skit/serialization/path.rb,
lib/skit/serialization/errors.rb,
lib/skit/serialization/registry.rb,
lib/skit/json_schema/types/const.rb,
lib/skit/json_schema/naming_utils.rb,
lib/skit/json_schema/code_generator.rb,
lib/skit/json_schema/class_name_path.rb,
lib/skit/json_schema/schema_analyzer.rb,
lib/skit/serialization/processor/base.rb,
lib/skit/serialization/processor/date.rb,
lib/skit/serialization/processor/enum.rb,
lib/skit/serialization/processor/hash.rb,
lib/skit/serialization/processor/time.rb,
lib/skit/serialization/processor/array.rb,
lib/skit/serialization/processor/float.rb,
lib/skit/serialization/processor/tuple.rb,
lib/skit/serialization/processor/union.rb,
lib/skit/json_schema/definitions/module.rb,
lib/skit/json_schema/definitions/struct.rb,
lib/skit/serialization/processor/string.rb,
lib/skit/serialization/processor/struct.rb,
lib/skit/serialization/processor/symbol.rb,
lib/skit/serialization/processor/boolean.rb,
lib/skit/serialization/processor/integer.rb,
lib/skit/serialization/processor/nilable.rb,
lib/skit/json_schema/definitions/enum_type.rb,
lib/skit/json_schema/definitions/const_type.rb,
lib/skit/serialization/processor/simple_type.rb,
lib/skit/json_schema/definitions/property_type.rb,
lib/skit/json_schema/definitions/property_types.rb,
lib/skit/json_schema/definitions/struct_property.rb,
lib/skit/serialization/processor/json_schema_const.rb,
lib/skit/json_schema/definitions/hash_property_type.rb,
lib/skit/json_schema/definitions/array_property_type.rb,
lib/skit/json_schema/definitions/tuple_property_type.rb,
lib/skit/json_schema/definitions/union_property_type.rb

Overview

typed: strict frozen_string_literal: true

Defined Under Namespace

Modules: JsonSchema, Serialization Classes: Attribute, Error

Constant Summary collapse

VERSION =
"0.1.4"

Class Method Summary collapse

Class Method Details

.deserialize(hash, type) ⇒ Object



42
43
44
45
# File 'lib/skit.rb', line 42

def self.deserialize(hash, type)
  processor = Serialization.default_registry.processor_for(type)
  processor.deserialize(hash)
end

.serialize(struct) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/skit.rb', line 27

def self.serialize(struct)
  struct_class = struct.class
  raise Serialization::SerializeError, "Expected T::Struct, got #{struct_class}" unless struct_class < T::Struct

  processor = Serialization.default_registry.processor_for(struct_class)
  processor.serialize(struct)
end