Я хотел бы знать, куда поместить код исправления обезьян, как показано ниже, в моем приложении 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