Configus

Gem Version Build Status Dependency Status Code Climate Coverage Status Gem Version

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

Similar