Method: Module#memoized

Defined in:
lib/aliyun/oss/extensions.rb

#memoized(method_name) ⇒ Object



179
180
181
182
183
184
185
186
187
188
189
# File 'lib/aliyun/oss/extensions.rb', line 179

def memoized(method_name)
  original_method = "unmemoized_#{method_name}_#{Time.now.to_i}"
  alias_method original_method, method_name
  module_eval("    def \#{method_name}(reload = false, *args, &block)\n      expirable_memoize(reload) do\n        send(:\#{original_method}, *args, &block)\n      end\n    end\n  EVAL\nend\n", __FILE__, __LINE__)