在Rails 5模型中实现的列表方法。排除访问器和回调

问题描述:

有没有办法在Rails 5模型中列出实现的所有类和实例方法(单独),但不包括继承的方法,由mixins提供的方法,属性访问器,ActiveRecord回调和任何其他方法那在模型中没有明确实施?换言之,如果模型文件中没有def some_method语句,则不应列出some_method在Rails 5模型中实现的列表方法。排除访问器和回调

谢谢。

对于类方法:

module_methods = Model.included_modules.map(&:methods) 
Model.methods - Model.superclass.methods - module_methods 

对于一些模型模型。您可以使用instance_methods作为实例方法。

+0

这两个解决方案(用于类和实例方法)都包括诸如'before_add_for_ *'和'before_remove_for_ *'之类的回调。任何想法如何删除这些? – BrunoFacca