class Tepee

Tepee configuration helper for the braves

Constants

MISSING_BLOCK
SEP

Attributes

env_var_prefix[RW]

Protected Class Methods

add(name, default = nil, env_var: " click to toggle source
# File lib/tepee.rb, line 13
def add(name, default = nil, env_var: "#{env_var_prefix}#{name}")
  value = ENV[String(env_var).upcase] || default
  const_set(String(name).upcase, value)
  define_singleton_method(name) { value }
  self
end
section(name, &block) click to toggle source
# File lib/tepee.rb, line 23
def section(name, &block)
  raise MISSING_BLOCK unless block_given?
  new_env_var_prefix = "#{String(name)}#{SEP}"
  unless env_var_prefix.nil?
    new_env_var_prefix = "#{env_var_prefix}#{new_env_var_prefix}"
  end
  klass = Class.new(self)
  klass.env_var_prefix = new_env_var_prefix.upcase
  klass.instance_exec(&block)
  const_set(String(name).upcase, klass)
  define_singleton_method(name) { klass }
end