ExConstructor
ExConstructor is an Elixir library which makes it easier to instantiate structs from external data, such as that emitted by a JSON parser.
ExConstructor provides a define_constructor macro which can be invoked
from a struct module. The generated constructor, called new by default,
handles map-vs-dict, string-vs-atom, and camelCase-vs-under_score
input data issues automatically, DRYing up your code and letting you
move on to the interesting parts of your program.
Example
defmodule TestStruct do
import ExConstructor
defstruct field_one: nil,
field_two: nil,
field_three: nil,
field_four: nil,
define_constructor
end
TestStruct.new(%{"field_one" => "a", "fieldTwo" => "b", :field_three => "c", :fieldFour => "d"})
# => %TestStruct{field_one: "a", field_two: "b", field_three: "c", field_four: "d"}Full Documentation
Full ExConstructor documentation is available on Hexdocs.pm.
Authorship and License
ExConstructor is copyright 2016 Appcues, Inc.
ExConstructor is released under the MIT License.