struct_constructor v0.1.1 StructConstructor

StructConstructor makes it easy to define typed structures using Ecto.Schema DSL. Such structures can later be easily initialized using function new/1.

See Ecto.Schema documentation for more info about DSL.

Example

defmodule User do
  use StructConstructor do
    field :name, :string
    field :age, :integer
  end
end

iex> User.new(%{"name" => "Alex", "age" => "27"})
%User{age: 27, name: "Alex"}

iex> User.new(name: "Alex", age: "27"})
%User{age: 27, name: "Alex"}