module EasyConfig::EnvVar
Public Class Methods
create_method(base, name, value)
click to toggle source
# File lib/easy_config/env_var.rb, line 24 def create_method(base, name, value) base.class_eval do (class << self; self; end).instance_eval do define_method(name.to_sym) { value } end end end
env_vars()
click to toggle source
# File lib/easy_config/env_var.rb, line 13 def env_vars configs = {} ENV.each do |key, value| if key.downcase =~ /^([a-zA-Z][^_]+)_(\w+)/ configs[$1] = configs.fetch($1, {}) configs[$1][$2] = value end end configs end
extended(base)
click to toggle source
# File lib/easy_config/env_var.rb, line 3 def extended(base) setup(base) end
setup(base)
click to toggle source
# File lib/easy_config/env_var.rb, line 7 def setup(base) env_vars.each do |key, configs| create_method(base, key, EasyConfig::Configuration.new(configs)) end end