compiler_config.md
August 6, 2025 ยท View on GitHub
Config
Tapioca::Dsl::Compilers::Config generates RBI files for classes generated by the
config gem.
The gem creates a Config::Options instance based on the settings files and/or
env variables. It then assigns this instance to a constant with a configurable name,
by default Settings. Application code uses methods on this constant to read off
config values.
For a setting file like the following:
---
github:
token: 12345
client_id: 54321
client_secret: super_secret
and a Config setup like:
Config.setup do |config|
config.const_name = "AppSettings"
end
this compiler will produce the following RBI file:
AppSettings = T.let(T.unsafe(nil), AppSettingsConfigOptions)
class AppSettingsConfigOptions < ::Config::Options
sig { returns(T.untyped) }
def github; end
sig { params(value: T.untyped).returns(T.untyped) }
def github=(value); end
end