khiav223577/active_model_cachers

View on GitHub
lib/active_model_cachers.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
94%
# frozen_string_literal: true
require 'active_model_cachers/version'
require 'active_model_cachers/config'
require 'active_model_cachers/cache_service_factory'
require 'active_record'
require 'active_record/relation'
require 'active_model_cachers/active_record/extension'

module ActiveModelCachers
  def self.config
    @config ||= Config.new
    yield(@config) if block_given?
    return @config
  end
end

ActiveRecord::Base.send(:extend, ActiveModelCachers::ActiveRecord::Extension)

gem_version = Gem::Version.new(ActiveRecord::VERSION::STRING)
if gem_version < Gem::Version.new('4')
  require 'active_model_cachers/patches/patch_rails_3'
end

# https://github.com/rails/rails/pull/29018
if gem_version >= Gem::Version.new('5') && gem_version < Gem::Version.new('5.2')
  require 'active_model_cachers/patches/uninitialized_attribute'
end