Метод instance_methods в Ruby

В Ruby, метод instance_methods використовується для отримання списку імен методів, доступних для об’єктів даного класу. Цей метод може бути викликаний на класі або на конкретному об’єкті. Він повертає масив string, які представляють імена всіх інстанс-методів даного класу або об’єкта.

Ось приклад використання методу instance_methods на класі:

class MyClass
  def method1
    # some code
  end

  def method2
    # some code
  end
end

# Отримання списку імен інстанс-методів класу
methods_list = MyClass.instance_methods
puts methods_list

У цьому прикладі methods_list буде виведено щось подібне до:

[:method1, :method2, ...]

Якщо потрібно отримати імена інстанс-методів лише для конкретного об’єкта, можна викликати instance_methods на самому об’єкті:

obj = MyClass.new
obj_methods_list = obj.instance_methods
puts obj_methods_list

Також можна використовувати instance_methods з параметром false, щоб відфільтрувати методи, успадковані від батьківського класу:

obj_methods_list = obj.instance_methods(false)
puts obj_methods_list

Це може бути корисно, якщо ви хочете отримати тільки ті методи Ruby, які були визначені в даному класі, а не успадковані від інших класів.