экземпляр класса, вы можете сделать это.

аюсь переопределить динамически сгенерированный метод, включая модуль.

В приведенном ниже примере ассоциация Ripple добавляетrows= Способ к табл. Я хочу вызвать этот метод, но потом сделаю еще кое-что.

Я создал модуль для переопределения метода, думая, что модульrow= сможет позвонитьsuper использовать существующий метод.

class Table

  # Ripple association - creates rows= method
  many :rows, :class_name => Table::Row

  # Hacky first attempt to use the dynamically-created
  # method and also do additional stuff - I would actually
  # move this code elsewhere if it worked
  module RowNormalizer
    def rows=(*args)
      rows = super
      rows.map!(&:normalize_prior_year)
    end
  end
  include RowNormalizer

end

Тем не менее, мой новыйrows= никогда не вызывается, о чем свидетельствует тот факт, что если я возьму исключение внутри него, ничего не произойдет.

Я знаю, что модуль включается, потому что, если я добавлю это, мое исключение будет повышено.

      included do
        raise 'I got included, woo!'
      end

Кроме того, если вместоrows=модуль определяетsomethingelse=этот метод вызывается.

Почему мой метод модуля не перекрывает динамически генерируемый?

Ответы на вопрос(3)

Ваш ответ на вопрос