module Mize::CacheMethods
Public Instance Methods
mize_cache_clear()
click to toggle source
Clear cached values for all methods/functions of this object.
# File lib/mize/cache_methods.rb, line 6 def mize_cache_clear __mize_cache__.clear self end
mize_cache_clear_name(name)
click to toggle source
Clear all cached results for the method/function name
.
# File lib/mize/cache_methods.rb, line 12 def mize_cache_clear_name(name) name = build_key_prefix(name) __mize_cache__.each_name do |n| n =~ %r{\A#{Regexp.quote(name)}/} and __mize_cache__.delete(n) end self end
Private Instance Methods
__mize_cache__()
click to toggle source
Return the cache object.
# File lib/mize/cache_methods.rb, line 28 def __mize_cache__ if defined?(@__mize_cache__) @__mize_cache__ else self.__mize_cache__ = Mize.default_cache.prototype end end
__mize_cache__=(cache)
click to toggle source
Set the cache object to cache
.
# File lib/mize/cache_methods.rb, line 23 def __mize_cache__=(cache) @__mize_cache__ = cache end
build_key(name, *args)
click to toggle source
Build a name
prefixed key for the arguments args
.
# File lib/mize/cache_methods.rb, line 42 def build_key(name, *args) "#{build_key_prefix(name)}/#{Marshal.dump(args)}" end
build_key_prefix(name)
click to toggle source
Build a key prefix for name
.
# File lib/mize/cache_methods.rb, line 37 def build_key_prefix(name) "mize/#{name}" end
memoize_apply_visibility(id) { || ... }
click to toggle source
Apply the visibility of method id
to the wrapper method of this method.
# File lib/mize/cache_methods.rb, line 47 def memoize_apply_visibility(id) visibility = instance_eval do case when private_method_defined?(id) :private when protected_method_defined?(id) :protected end end yield ensure visibility and __send__(visibility, id) end