Module: ActiveRecordMultipleQueryCache

Defined in:
lib/active_record_multiple_query_cache.rb,
lib/active_record_multiple_query_cache/base.rb,
lib/active_record_multiple_query_cache/version.rb,
lib/active_record_multiple_query_cache/rails4_query_cache.rb,
lib/active_record_multiple_query_cache/rails5_query_cache.rb

Defined Under Namespace

Classes: Base, Rails4QueryCache, Rails5QueryCache

Constant Summary collapse

VERSION =
'0.1.3'.freeze

Class Method Summary collapse

Class Method Details

.install_query_cache(activerecord_base_class_name, rails = ::Rails) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/active_record_multiple_query_cache.rb', line 8

def self.install_query_cache(activerecord_base_class_name, rails = ::Rails)
  if rails.gem_version >= Gem::Version.new('5.0.0')
    require 'active_support/executor'
    executor = ActiveSupport::Executor
    hook = Rails5QueryCache.new(activerecord_base_class_name)

    executor.register_hook(hook)
  else
    middleware = Rails4QueryCache.new(activerecord_base_class_name)
    rails.configuration.app_middleware.insert_after('ActiveRecord::QueryCache', middleware)
  end
end