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

时间:2017-10-04 17:08:24

标签: ruby-on-rails ruby activerecord

有没有办法列出在Rails 5模型中实现的所有类和实例方法(单独),同时排除继承的方法,mixins提供的方法,属性访问器,ActiveRecord回调和任何其他未在模型中明确实现的方法?换句话说,如果模型文件中没有def some_method语句,则不应列出some_method

谢谢。

1 个答案:

答案 0 :(得分:2)

对于类方法:

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

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