defmodule Frenzy.Rule do use Ecto.Schema import Ecto.Changeset schema "rules" do field :mode, :string field :property, :string field :param, :string field :weight, :integer belongs_to :filter, Frenzy.Filter timestamps() end @type t() :: %__MODULE__{ __meta__: Ecto.Schema.Metadata.t(), id: integer() | nil, mode: String.t(), property: String.t(), param: String.t(), weight: integer(), filter: Frenzy.Filter.t() | Ecto.Association.NotLoaded.t(), inserted_at: NaiveDateTime.t(), updated_at: NaiveDateTime.t() } @doc false def changeset(rule, attrs) do rule |> cast(attrs, [:mode, :property, :param, :weight]) |> validate_required([:mode, :property, :param, :weight]) end end