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__) |