Патч обезьяны ActiveRecord метод PostgreSQLAdapter

По этому вопросу я пытаюсь переопределить postgresql_version метод, определенный в ActiveRecord::ConnectionAdapters::PostgreSQLAdapter который возвращает версию PostgreSQL:

module ActiveRecord
  module ConnectionAdapters
    class PostgreSQLAdapter < AbstractAdapter

      protected
        # Returns the version of the connected PostgreSQL server.
        def postgresql_version
          80200
        end
    end
  end
end

Но патч не применяется. Я попытался в config/initializer и требует его в файле /lib. Помогите?

1 ответ

Решение

Попробуй это:

# ensure ActiveRecord's version has been required already
require 'active_record/connection_adapters/postgresql_adapter'

class ActiveRecord::ConnectionAdapters::PostgreSQLAdapter 
protected
  def postgresql_version
    80200
  end
end

Ваше решение терпит неудачу, потому что вы не можете добавить секцию наследования во время патчирования обезьян (т.е. PostgreSQLAdapter < AbstractAdapter)

Другие вопросы по тегам