Как переопределить один метод из Rails Framework? - PullRequest
1 голос
/ 05 июня 2019

Как переопределить метод в Rails?

Если быть более точным, я на 6.0.0.rc1, и я хочу этот коммит, но он будет доступен только на 6.1: https://github.com/rails/rails/pull/36072/files

Я хочу переопределить приватный метод def read_image из

module ActiveStorage
  class Analyzer::ImageAnalyzer < Analyzer
    private
      def read_image

Как бы вы это сделали, в какой папке Rails?

1 Ответ

2 голосов
/ 05 июня 2019

Поскольку это Ruby, вы можете просто сделать это, поместив этот точный код в что-то вроде config/initializers/active_storage_read_image.rb:

module ActiveStorage
  class Analyzer::ImageAnalyzer < Analyzer
  private
    def read_image
      # My implementation here
    end
  end
end

Вы можете добавить туда тест напоминания, например:

if (Rails.version.starts_with?('6.1'))
  Rails.logger.warning("This patch may not be required in Rails 6.1")
end
...