View Source ExToolkit.Kernel (ExToolkit v0.9.2)

Basic language primitives to ease development flow.

Summary

Functions

Defines a module attribute and a function to get it. Inspired by attr_reader from ruby.

Functions

Link to this macro

defattr(attrs)

View Source (macro)

Defines a module attribute and a function to get it. Inspired by attr_reader from ruby.

Examples

iex> defmodule ExampleModule do
...>   require ExToolkit.Kernel
...>   defattr foo: :bar
...> end
iex> ExampleModule.foo()
:bar

iex> defmodule ExampleModule2 do
...>   require ExToolkit.Kernel
...>   defattr name: "ExToolkit", version: "1.0.0"
...> end
iex> %{name: ExampleModule2.name(), version: ExampleModule2.version()}
%{name: "ExToolkit", version: "1.0.0"}

iex> defmodule ExampleModule3 do
...>   require ExToolkit.Kernel
...>   defattr [version: Version.parse!("1.0.1")]
...> end
iex> ExampleModule3.version()
%Version{major: 1, minor: 0, patch: 1}