如何检测创建后是否更改了Ruby实例?

时间:2015-07-11 08:51:48

标签: ruby-on-rails ruby

如何在创建后检测Ruby实例是否已被更改?

我试图远离已知的Gem,如ActiveModel :: Dirty,并编写一个轻量级的解决方案,如果Object的实例变量在某个点之后发生了变化,它将返回一个简单的true或false。 / p>

这也适用于常规的Ruby对象,而不是Rails对象,因此Rails特定的工具不起作用。

我看到一些关于劫持attr_writer的帖子,但我不知道这是否全面,我无法弄清楚如何去做。

有人能帮助我吗?感谢。

1 个答案:

答案 0 :(得分:0)

AFAIK那里没有轻量级解决方案。一个可能的黑客可能是编写一个C扩展,它插入GC并检查是否有一些实例变量被更改。