module Makitzo::Settings

mixin providing classes with a settings hash

Public Instance Methods

[](key) click to toggle source
# File lib/makitzo/settings.rb, line 8
def [](key)
  read(key)
end
[]=(key, value) click to toggle source
# File lib/makitzo/settings.rb, line 12
def []=(key, value)
  set(key, value)
end
memo(key, &block) click to toggle source
# File lib/makitzo/settings.rb, line 26
def memo(key, &block)
  set(key, MemoizedProc.new(&block))
end
read(key, default = nil) click to toggle source
# File lib/makitzo/settings.rb, line 16
def read(key, default = nil)
  val = settings[key.to_sym]
  val = val.call if val.respond_to?(:call)
  val.nil? ? default : val
end
set(key, value = nil, &block) click to toggle source
# File lib/makitzo/settings.rb, line 22
def set(key, value = nil, &block)
  settings[key.to_sym] = block_given? ? block : value
end
settings() click to toggle source
# File lib/makitzo/settings.rb, line 4
def settings
  @settings ||= {}
end