我有一个包含敏感数据的对象,我希望在没有敏感数据的情况下使用<div class="slider-box-1">
<div class="swipe-box-1"></div>
<div class="space-1"></div>
<div>the version type</div>
</div>
)进行编组。
我希望能够说:
Marshal
但这会产生一种“超级方法”。错误。在使用默认实现时,有没有办法让我的对象按照我想要的方式运行def _dump(*args)
# Clean-up sensitive data
super
end
?
我希望Marshal.dump
开箱即用,而不要求API使用者记住调用其他方法。
答案 0 :(得分:1)
_dump
可能没有超类方法。如果在你的对象上定义它就被调用。如果没有,则使用默认处理程序。
您可能希望clone
您的对象并移除敏感字段,将其作为Hash返回到_dump
函数中,然后在_load
方法中撤消该字段。
您还可以阅读the documentation on Marshal,其中介绍了推荐的方法。