【发布时间】:2010-05-27 19:23:31
【问题描述】:
您好,
想修改全局memcache对象,发现如下问题。
- 缓存是一个常量
- 缓存是一个模块
我只想为一小部分代码全局修改 Cache 的行为,以获得可能的主要性能提升。
由于Cache是一个模块,我不能重新赋值,也不能封装。
我愿意这样做:
深入了解控制器方法...
code code code...
old_cache = Cache
Cache = MyCache.new
code code code...
Cache = old_cache
code code code...
但是,由于 Cache 是一个常量,我禁止更改它。线程目前不是问题。 :)
对我来说只是 alias_method 我需要的特殊代码是“礼貌”吗 只是为了一小段代码,然后再取消别名?那不 通过气味测试恕我直言。
有人有什么想法吗?
TIA,
-丹尼尔
【问题讨论】:
标签: ruby-on-rails ruby metaprogramming