Определения классов
class MyBaseClass
attr_writer :an_attr_writer
attr_reader :an_attr_reader
def instance_m
end
def self.class_m
end
end
class SubClass < MyBaseClass
attr_accessor :id
def sub_instance_m
end
def self.class_sub_m
end
end
вызов методов класса
p SubClass.instance_methods - Object.methods
p MyBaseClass.instance_methods - Object.methods
вызов методов экземпляра
a = SubClass.new
b = MyBaseClass.new
p a.methods - Object.methods
p b.methods - Object.methods
Оба будут выводить одинаковые
#=> [:id, :sub_instance_m, :id=, :an_attr_reader, :instance_m, :an_attr_writer=]
#=> [:an_attr_reader, :instance_m, :an_attr_writer=]
Как узнать, кто автор и читатель?
attr_accessor является одновременно attr_writer и attr_reader
attr_reader выводит no = после имени метода
attr_writer выводит = после имени метода
Вы всегда можете использовать регулярное выражение для фильтрации этого вывода.