Module: Configureasy::Configurable
- Defined in:
- lib/configureasy/configurable.rb
Overview
Allows loading of different configuration files.
class Dumb
include Configureasy
# create class method _config_ with content of config/config.yml
load_config :config
# create class method _secrets_ with content for config/session_secrets.yml
load_config :session_secrets, as: :secrets
# create class method _aws_keys_ with content for './aws/keys.yml'
load_config :keys, as: :aws_keys, path: './aws'
end
Constant Summary collapse
- @@configurables =
{}
Instance Method Summary collapse
-
#config_filename(filename = nil) ⇒ Object
deprecated
Deprecated.
Please use #load_config instead.
-
#config_name(name = nil) ⇒ Object
deprecated
Deprecated.
Please use #load_config instead.
-
#load_config(file_basename, options = {}) ⇒ Object
dinamically create method for access config data.
Instance Method Details
#config_filename(filename = nil) ⇒ Object
Deprecated.
Please use #load_config instead.
Load config in specific location. Params
[+filename+]:: config filename
# load contents for /etc/my_configs.yml
config_filename '/etc/my_configs.yml'
54 55 56 57 58 59 |
# File 'lib/configureasy/configurable.rb', line 54 def config_filename(filename = nil) warn "[DEPRECATION] `config_filename` is deprecated. Please use `load_config` instead." basename = File.basename(filename, '.yml') path = File.dirname(filename) load_config basename, as: 'config', path: path end |
#config_name(name = nil) ⇒ Object
Deprecated.
Please use #load_config instead.
Setting config source filename. Params:
[+name+]:: the name of config file
# load contents for ./config/foo.yml
config_name :foo
# load contents for ./config/bar.yml
config_name :bar
42 43 44 45 |
# File 'lib/configureasy/configurable.rb', line 42 def config_name(name = nil) warn "[DEPRECATION] `config_name` is deprecated. Please use `load_config` instead." load_config name, as: 'config' end |
#load_config(file_basename, options = {}) ⇒ Object
dinamically create method for access config data. Params:
[+file_basename+]:: config file name (by default in *config* directory)
[+as+]:: generated method name (by default same as file_basename)
[+path+]:: config path (by default './config')
25 26 27 28 29 30 |
# File 'lib/configureasy/configurable.rb', line 25 def load_config(file_basename, = {}) name = [:as] || file_basename path = [:path] || './config' filename = File.join path, "#{file_basename}.yml" _configurable_init(name, filename) end |