title: Lua Configuration Syntax

Lua Configuration Syntax

Configuration Example

Lapis' configuration module gives you support for merging tables recursively.

For example we might define a base configuration, then override some values in the more specific configuration declarations:

-- config.moon
local config = require("lapis.config")

config({"development", "production"}, {
  host = "example.com",
  email_enabled = false,
  postgres = {
    host = "localhost",
    port = "5432",
    database = "my_app"
  }
})

config("production", {
  email_enabled = false,
  postgres = {
    database = "my_app_prod"
  }
})

This results in the following two configurations (default values omitted):

-- "development"
{
  host = "example.com",
  email_enabled = false,
  postgres = {
    host = "localhost",
    port = "5432",
    database = "my_app",
  },
  _name = "development"
}
-- "production"

{
  host = "example.com",
  email_enabled = true,
  postgres = {
    host = "localhost",
    port = "5432",
    database = "my_app_prod"
  },
  _name = "production"
}

You can call the config function as many time you like on the same configuration names, each time the passed in table is merged into the configuration.

results matching ""

    No results matching ""