dry-configurable 
Synopsis
class App extend Dry::Configurable # Pass a block for nested configuration (works to any depth) setting :database do # Can pass a default value setting :dsn, 'sqlite:memory' end # Defaults to nil if no default value is given setting :adapter # Passing the reader option as true will create reader method for the class setting :pool, 5, reader: true # Passing the reader attributes works with nested configuration setting :uploader, reader: true do setting :bucket, 'dev' end end App.configure do |config| config.database.dsn = 'jdbc:sqlite:memory' end App.config.database.dsn # => 'jdbc:sqlite:memory' App.config.adapter # => nil App.pool # => 5 App.uploader.bucket # => 'dev'
Links
License
See LICENSE
file.