frenzy/lib/frenzy/rule.ex

35 lines
828 B
Elixir
Raw Normal View History

2019-03-10 23:47:01 +00:00
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()
}
2019-03-10 23:47:01 +00:00
@doc false
def changeset(rule, attrs) do
rule
2019-03-15 02:32:20 +00:00
|> cast(attrs, [:mode, :property, :param, :weight])
2019-03-10 23:47:01 +00:00
|> validate_required([:mode, :property, :param, :weight])
end
end