Method: Configlet#default

Defined in:
lib/configlet.rb

#default(args, &block) ⇒ Object

Set one or more default values. Use “friendly” names, not env vars, so a default for the THUNK_SECRET could be set as Configlet.default :secret => "sssssh" (assuming a "thunk" prefix).

If a default value is a lambda, it’ll be resolved the first time the config value is retrieved, and the result of calling the lambda will be the new default value.

If a single string or symbol is provided instead of a hash, the method block form may be used to provide a delayed default. This is just sugar over providing a lambda:

default(:foo) { Rails.env } # is the same as
default :foo => lambda { Rails.env }


62
63
64
65
66
67
68
# File 'lib/configlet.rb', line 62

def default args, &block
  if Hash === args
    args.each { |k, v| defaults[k.to_s] = v }
  elsif block_given?
    defaults[args.to_s] = block
  end
end