Configus
Summary
Configus helps you easily manage environment specific settings
Installing
Add this to your Gemfile
:
gem "configus"
Examples
Definition
Configus.build :development do # set current environment
env :production do
site_name 'Example'
web do
domain 'example.com'
protocol 'https'
port 80
uri -> { "#{protocol}://#{domain}:#{port}" }
end
site_uri -> { web.uri }
email do
pop do
address 'pop.example.com'
port 110
end
smtp do
address 'smtp.example.com'
port 25
end
end
end
env :development, :parent => :production do
web do
domain 'localhost'
protocol 'http'
port 9292
end
email do
smtp do
address 'smpt.text.example.com'
end
end
end
end
Usage
configus.site_name # => 'Example'
configus.web.uri # => 'https://example.com:80'
configus.site_uri # => 'https://example.com:80'
configus.email.pop.port # => 110
Rails
define your config in lib/configus.rb
Configus.build Rails.env do
# settings
end
reload
# config/environments/development.rb
ActionDispatch::Reloader.to_prepare do
load Rails.root.join('lib/configus.rb')
end