Modular
Apply modular programming principles and patterns to build better Elixir apps.
Modular is a toolbox that helps Elixir developers to apply modular programming principles and patterns in their projects. It includes checks for defining and enforcing modular programming rules & conventions as well as utilities for mapping the characteristics of a growing project.
Modular currently offers following tools:
Modular.AreaAccess- allows to declare external deps and optionally resolve them to mocksModular.Delegate- defines thin contracts with call delegation to internal implementationsModular.Mutability- provides command/query annotations for functions within area contractsModular.Owner- provides ownership annotations for area contracts
Installation
Add modular to your list of dependencies in mix.exs:
def deps do
[
{:modular, "~> 0.1"}
]
end