module Dhall::Rails::Application

Public Class Methods

included(*) click to toggle source
# File lib/dhall/rails/application.rb, line 6
def self.included(*)
        ::I18n.backend = I18n::Simple.new
        ::I18n.load_path += Dir[
                File.expand_path("config/locales") + "/**/*.dhall"
        ]
end

Public Instance Methods

config() click to toggle source
# File lib/dhall/rails/application.rb, line 26
def config
        @config ||= Configuration.new(
                self.class.find_root(self.class.called_from)
        )
end
config_for(path, env: ::Rails.env) click to toggle source
Calls superclass method
# File lib/dhall/rails/application.rb, line 39
def config_for(path, env: ::Rails.env)
        unless path.is_a?(Pathname)
                path = config.pathname("config").join("#{path}.dhall")
        end

        return super if path.extname == ".yml"

        unless path.exist?
                raise "Could not load configuration. No such file - #{path}"
        end

        decoded = Dhall::Rails.load_decoded(path, transform_keys: :to_sym)
        ActiveSupport::OrderedOptions.new.update(decoded.fetch(env.to_sym, {}))
end
credentials() click to toggle source
# File lib/dhall/rails/application.rb, line 32
def credentials
        @credentials ||= encrypted(
                config.credentials.content_path,
                key_path: config.credentials.key_path
        )
end
encrypted( path, key_path: "config/master.key", env_key: "RAILS_MASTER_KEY" ) click to toggle source
# File lib/dhall/rails/application.rb, line 13
def encrypted(
        path,
        key_path: "config/master.key",
        env_key: "RAILS_MASTER_KEY"
)
        EncryptedConfiguration.new(
                config_path:          ::Rails.root.join(path),
                key_path:             ::Rails.root.join(key_path),
                env_key:              env_key,
                raise_if_missing_key: config.require_master_key
        )
end