class Envlogic::Env
Env module to get and set environment
def app_dir_name
- Note: - Will return only the last part, so if the dir is /home/apps/my_app it will
Returns:
-
(String)
- name of the directory in which this application is
def app_dir_name Pathname .new(ENV['BUNDLE_GEMFILE']) .dirname .basename .to_s end
def initialize(klass)
- Note: - Will load appropriate environment automatically
Returns:
-
(Envlogic::Env)
- envlogic env object]
Parameters:
-
klass
(Class, Module
) -- class/module for which we want to build a Envlogic::Env object
def initialize(klass) env = ENV[to_env_key(app_dir_name)] env ||= ENV[to_env_key(klass.to_s)] env ||= ENV[FALLBACK_ENV_KEY] update(env || FALLBACK_ENV) end
def method_missing(method_name, *arguments)
-
arguments
(Array
) -- any arguments that we pass to the method -
method_name
(String
) -- method name for missing or env name with question mark
def method_missing(method_name, *arguments) method_name[-1] == '?' ? self == method_name[0..-2] : super end
def respond_to_missing?(method_name, include_private = false)
-
(Boolean)
- true if we respond to a given missing method, otherwise false
Parameters:
-
include_private
(Boolean
) -- should we include private methods as well -
method_name
(String
) -- method name
def respond_to_missing?(method_name, include_private = false) (method_name[-1] == '?') || super end
def to_env_key(string)
def to_env_key(string) INFLECTOR .underscore(string) .tr('/', '_') .upcase + ENV_KEY_POSTFIX end