Где разместить расширения объекта ruby - PullRequest
1 голос
/ 13 августа 2010

Я хотел бы знать, куда поместить код исправления обезьян, как показано ниже, в моем приложении rails, которое откроет существующие классы и добавит или переопределит новую функциональность. Я хочу, чтобы этот код был доступен для всех экземпляров как можно скорее. Является ли автозагрузка правильным способом сделать это и поместить вызов в environment.rb?

class Class
  def attr_initializer(*attributes)
    attr_reader *attributes
    class_eval <<-RUBY
      def initialize(#{attributes.join(', ')})
        #{attributes.map{ |attribute| "@#{attribute}" }.join(', ')} = #{attributes.join(', ')}
      end
    RUBY
  end
end

1 Ответ

2 голосов
/ 13 августа 2010

Если вы используете rails 2.3.x, то стандартное место для их размещения - файл в каталоге config / initializer.Rails загрузит эти файлы в самом начале процесса загрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...