Current section
Files
Jump to
Current section
Files
lib/avrogen/schema/schema_module.ex
defmodule Avrogen.Schema.SchemaModule do
@moduledoc """
Common behaviour for modules that define avro schemas in code.
"""
@doc """
The schema's name, used for creating a file name.
"""
@callback schema_name() :: String.t()
# TODO: consider removing this as avro_schema_elixir is sufficient
@doc """
The actual schema, i.e. a json-string.
"""
@callback avsc() :: String.t()
@doc """
The actual schema, but as an elixir list, so it can be 'imported' into other
schemas.
"""
@callback avro_schema_elixir() :: [map()]
end