当我开始使用匿名类state_machine gem开始动态生成状态机时,我正试图追踪per the README example中我开始注意到的内存泄漏。 This gist演示了我最初是如何发现这个问题的。
我已经能够将问题缩小到帮助方法在状态机gem中定义的方式,我总结了in this gist。
我的问题是,define_method
块正在做什么导致匿名类不被垃圾收集?评论这三行(18-20)似乎解决了这个问题。
提前感谢任何指示。
更新:我正在使用Ruby 2.0.0p195