module Straw::Memoizable

Public Instance Methods

memoize(key) { || ... } click to toggle source
# File lib/straw.rb, line 22
def memoize(key)
  if memoized?(key)
    instance_variable_get(var_for(key))
  else
    instance_variable_set(var_for(key), yield)
  end
end
memoized?(key) click to toggle source
# File lib/straw.rb, line 30
def memoized?(key)
  instance_variable_defined?(var_for(key))
end

Private Instance Methods

var_for(key) click to toggle source
# File lib/straw.rb, line 36
def var_for(key)
  "@#{key}"
end