У меня есть класс Product в моем проекте rails, я пытаюсь получить список методов экземпляра моего класса, которые определены в моем файле (не унаследованный метод или включены через mixin).Вот небольшой пример моего класса:
class Product
include Mongoid::Document
include Mongoid::Paperclip
include Mongoid::Search
include Mongoid::Slug
include Mongoid::Timestamps
extend Enumerize
def product_image
image.url(:small) unless image.nil?
end
def product_school_level
self.school_levels.join ' | '
end
def product_grades
self.grades.where(degree_ids: nil).pluck(:name).uniq.join ' | '
end
end
Я пытался использовать Product.instance_methods(false)
.Однако это по-прежнему возвращает много методов, которые мне не нужны, вот небольшой пример:aliased_fields ?,: _save_callbacks,: localized_fields ?,: readonly_attributes,: fields ?,: pre_processed_defaults ?,: _update_callbacks,: post_processed_defaults ?,: fields,: _id_default
1009
Product.new.method(:_run_post_process_callbacks).source_location
1009 *1009* 1009 *1009* 1007 *1009* 1009 *1009* 1009 *1009* 1009 *1009* 1009 *1009* 1009 *1009* 1009 *1009* 1009 *1009* 1009 *1009* 1009 *1009* 1009на некоторых из этих методов, чтобы попытаться проверить, откуда они берутся.Кажется, все они из active_support.Я никогда не включал active_support в свой класс, поэтому я предполагаю, что классы в проекте rails автоматически включают методы active_supports?Как это возможно без какого-либо синтаксиса наследования (<<) или включения синтаксиса?Как я могу тогда добиться того, что я хочу сделать, и избавиться от этих методов, которые мне не нужны в моем списке? </p>