module ForgetMeNot::Memoizable
Allows the memoization of method calls
Public Class Methods
included(base)
click to toggle source
# File lib/forget-me-not/memoizable.rb, line 5 def included(base) base.extend(ClassMethods) end
storage_builder()
click to toggle source
# File lib/forget-me-not/memoizable.rb, line 81 def storage_builder @storage_builder ||= Proc.new { HashCache.new } end
storage_builder=(builder)
click to toggle source
# File lib/forget-me-not/memoizable.rb, line 85 def storage_builder=(builder) @storage_builder = builder end
Public Instance Methods
fetch_from_storage(key, &block)
click to toggle source
# File lib/forget-me-not/memoizable.rb, line 72 def fetch_from_storage(key, &block) storage.fetch(key, &block) end
log(message)
click to toggle source
# File lib/forget-me-not/memoizable.rb, line 68 def log(message) ForgetMeNot.logger.info "key: #{memoize_key}" if ForgetMeNot.logger end
storage()
click to toggle source
# File lib/forget-me-not/memoizable.rb, line 76 def storage @storage ||= Memoizable.storage_builder.call end