Skip to content

About

An Elixir library for generating struct constructors using Ecto.Schema for handling external data

Resources

Stars

7 stars

Watchers

35 watching

Forks

Latest commit

 

History

25 Commits

Folders and files

Repository files navigation

StructConstructor

StructConstructor allows you to declare structs using Ecto.Schema and generate constructor functions that will take care of coercion and handling various input formats (maps, keyword lists with string or atom keys).

Documentation can be found at https://hexdocs.pm/struct_constructor.

Installation

Add struct_constructor to your list of dependencies in mix.exs:

def deps do
  [
    {:struct_constructor, "~> 0.2.0"}
  ]
end

Usage

Define a typed structure:

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

Initialize your structure with external input:

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

Note, that :age attribute was automatically converted to integer.

License

MIT License, Copyright (c) 2017-2018 SaleMove

About

An Elixir library for generating struct constructors using Ecto.Schema for handling external data

Resources

Stars

7 stars

Watchers

35 watching

Forks

Releases

Packages

Contributors

Languages