class SsmConfig
Constants
- VERSION
Public Class Methods
method_missing(meth, *args, &block)
click to toggle source
Calls superclass method
# File lib/ssm_config.rb, line 6 def method_missing(meth, *args, &block) config_file = Rails.root.join('config', "#{meth}.yml") if File.exists?(config_file) write_config_accessor_for(meth) self.send(meth) else super end end
Private Class Methods
parse_config_file(filename)
click to toggle source
# File lib/ssm_config.rb, line 19 def parse_config_file(filename) YAML.load(ERB.new(File.read("#{Rails.root}/config/#{filename}")).result).symbolize_keys end
parse_config_file_with_env(filename)
click to toggle source
# File lib/ssm_config.rb, line 23 def parse_config_file_with_env(filename) yaml_loaded = YAML.load(ERB.new(File.read("#{Rails.root}/config/#{filename}")).result) (yaml_loaded[Rails.env] || yaml_loaded['any']).try(:with_indifferent_access) end
write_config_accessor_for(meth)
click to toggle source
# File lib/ssm_config.rb, line 28 def write_config_accessor_for(meth) self.instance_eval %Q{ def #{meth} @#{meth} ||= parse_config_file_with_env('#{meth}.yml') end } end