module Baptize::Plugins::Env

Public Instance Methods

any?(key) click to toggle source
# File lib/baptize/plugins/env.rb, line 5
def any?(key)
  value = fetch(key)
  if value && value.respond_to?(:any?)
    value.any?
  else
    !fetch(key).nil?
  end
end
delete(key) click to toggle source
# File lib/baptize/plugins/env.rb, line 22
def delete(key)
  config.delete(key)
end
fetch(key, default=nil, &block) click to toggle source
# File lib/baptize/plugins/env.rb, line 26
def fetch(key, default=nil, &block)
  value = fetch_for(key, default, &block)
  while callable_without_parameters?(value)
    value = set(key, value.call)
  end
  return value
end
method_missing(sym, *args, &block) click to toggle source
Calls superclass method
# File lib/baptize/plugins/env.rb, line 38
def method_missing(sym, *args, &block)
  if any?(sym)
    fetch(sym)
  else
    super
  end
end
respond_to?(sym, include_priv = false) click to toggle source
Calls superclass method
# File lib/baptize/plugins/env.rb, line 34
def respond_to?(sym, include_priv = false)
  super || any?(sym)
end
set(key, value=nil, &block) click to toggle source
# File lib/baptize/plugins/env.rb, line 14
def set(key, value=nil, &block)
  config[key] = block || value
end
set_if_empty(key, value=nil, &block) click to toggle source
# File lib/baptize/plugins/env.rb, line 18
def set_if_empty(key, value=nil, &block)
  set(key, value, &block) unless config.has_key? key
end

Private Instance Methods

callable_without_parameters?(x) click to toggle source
# File lib/baptize/plugins/env.rb, line 60
def callable_without_parameters?(x)
  x.respond_to?(:call) && ( !x.respond_to?(:arity) || x.arity == 0)
end
config() click to toggle source
# File lib/baptize/plugins/env.rb, line 48
def config
  @@config ||= Hash.new
end
fetch_for(key, default, &block) click to toggle source
# File lib/baptize/plugins/env.rb, line 52
def fetch_for(key, default, &block)
  if block_given?
    config.fetch(key, &block)
  else
    config.fetch(key, default)
  end
end