Class: SknUtils::SknConfiguration

Inherits:
NestedResult show all
Defined in:
lib/skn_utils/skn_configuration.rb

Instance Method Summary collapse

Methods inherited from NestedResult

#==, #[], #[]=, #delete_field, #encode_with, #eql?, #hash, #hash_from, #init_with, #keys, #to_hash, #to_json, #to_s

Constructor Details

#initialize(params = {}) ⇒ SknConfiguration

Returns a new instance of SknConfiguration.



8
9
10
11
12
13
# File 'lib/skn_utils/skn_configuration.rb', line 8

def initialize(params={})
  default_mode = defined?(Rails) ? Rails.env : ENV.fetch('RAILS_ENV', 'development') 
  @config_filename = params.is_a?(String) ? params : params.fetch(:config_filename, default_mode)
  @base_path = ENV.fetch('TEST_GEM', 'rails').eql?('gem') ? './spec/factories/' : './config/'
  load_config_basename!(@config_filename)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class SknUtils::NestedResult

Instance Method Details

#config_path!(fpath) ⇒ Object



20
21
22
# File 'lib/skn_utils/skn_configuration.rb', line 20

def config_path!(fpath)
  @base_path = fpath if File.exist?("#{fpath}settings.yml")
end

#load_config_basename!(conf) ⇒ Object



15
16
17
18
# File 'lib/skn_utils/skn_configuration.rb', line 15

def load_config_basename!(conf)
  reset_from_empty!(load_config(conf), false) # enable dot notation via defined methods vs method_missing
  self
end