module MyModuleOne
  def my_method
    puts "self.class.name= #{self.class.name},  MyModuleOne  my_method"
  end
end

class Main
  def my_method
    puts "self.class.name= #{self.class.name},  Main  my_method"
  end
  def my_method2
    puts "my_method2"
  end
end

class Worker < Main
  prepend MyModuleOne
  #include MyModuleOne
  def my_method
    puts "self.class.name= #{self.class.name},  Worker  my_method"
    super
  end
end

car = Worker.new
car.my_method
puts Worker.ancestors   # вывести цепочку наследования

prepend MyModuleOne подключенный метод будет иметь высший приоритет при наследовании

include MyModuleOne подключаемый метод имеет приоритет меньше метода который вызываем на экземпляре

super вызовет родительский метод если он есть. честно пока не понял где может такое пригодиться.

ancestors посмотреть цепочку и порядок наследования класса, не экземпляра а именно класса.