Svelixir.Config.Otp (svelixir v0.11.0)

Copy Markdown

The :otp project preset — priv/templates/base_otp_app.exs as code.

new!/0 returns exactly what that template describes. This preset is thin by construction: the struct defaults in Svelixir.Config are the :otp template, so the only value it supplies is project.type itself. It exists so that both project types are reached the same way, and so the template has a module that corresponds to it — Svelixir.Config.Web is where the real difference lives.

This is a builder, not a struct. It returns %Svelixir.Config{}; there is no %Svelixir.Config.Otp{}.

Summary

Functions

Builds an :otp config, with overrides merged over the preset.

The values this preset supplies, before any override.

Functions

new!(overrides \\ [])

@spec new!(keyword() | map()) :: Svelixir.Config.t()

Builds an :otp config, with overrides merged over the preset.

Overrides recurse to the leaf, so naming one key in a section keeps the rest of that section's preset values.

preset()

@spec preset() :: keyword()

The values this preset supplies, before any override.