Sha256: c0462c161a2396faca8809413abb9b49892004fe43b097a8d50e332ebaa9e596
Contents?: true
Size: 1.6 KB
Versions: 1
Compression:
Stored size: 1.6 KB
Contents
require 'avromatic/model/builder' require 'avromatic/model/decoder' require 'avromatic/model/type_registry' module Avromatic module Model # Returns a module that can be included in a class to define a model # based on Avro schema(s). # # Example: # class MyTopic # include Avromatic::Model.build(schema_name: :topic_value, # key_schema_name: :topic_key) # end # # Either schema(_name) or value_schema(_name) must be specified. # # value_schema(_name) is handled identically to schema(_name) and is # treated like an alias for use when both a value and a key schema are # specified. # # Options: # value_schema_name: # The full name of an Avro schema. The schema will be loaded # using the schema store. # value_schema: # An Avro::Schema. # schema_name: # The full name of an Avro schema. The schema will be loaded # using the schema store. # schema: # An Avro::Schema. # key_schema_name: # The full name of an Avro schema for the key. When an instance of # the model is encoded, this schema will be used to encode the key. # The schema will be loaded using the schema store. # key_schema: # An Avro::Schema for the key. def self.build(**options) Builder.new(**options).mod end # Returns an anonymous class, that can be assigned to a constant, # defined based on Avro schema(s). See Avromatic::Model.build. def self.model(**options) Builder.model(**options) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
avromatic-0.4.0 | lib/avromatic/model.rb |