mercredi 30 septembre 2015

Define a constant module in elixir

I would like to create some changeable boundary module. Ideally the result would look like any other module but the behaviour could be set at compile time or in the configuration files. I think I am looking for something like define in erlang

Say I have a SystemClock module and a DummyClock tuple module. Ideally the Clock module would be one or other of the two modules above chosen in the config file.

In config/test.ex

define(Clock, {DummyClock, 12345678})

Later

Clock.now
# => 12345678

In config/prod.ex

define(Clock, SystemClock)

Later

Clock.now
# => 32145687

Aucun commentaire:

Enregistrer un commentaire