• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

drecom / activerecord-turntable / #1372

31 Aug 2023 03:28AM UTC coverage: 87.281% (-1.3%) from 88.629%
#1372

push

web-flow
Merge pull request #20 from mixigroup/fix-ci-matrix

Change CI matrix, Not support Ruby 2.4 in Rails6.

2587 of 2964 relevant lines covered (87.28%)

389.95 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

36.36
/lib/active_record/turntable/active_record_ext/query_cache.rb
1
module ActiveRecord::Turntable
1✔
2
  module ActiveRecordExt
1✔
3
    module QueryCache
1✔
4
      def self.prepended(klass)
1✔
5
        class << klass
1✔
6
          prepend ClassMethods.compatible_module
1✔
7
        end
8
      end
9

10
      module ClassMethods
1✔
11
        extend Compatibility
1✔
12

13
        module V6_0
1✔
14
        end
15

16
        module V5_2
1✔
17
        end
18

19
        module V5_1
1✔
20
          def run
1✔
21
            result = super
×
22

23
            pools = ActiveRecord::Base.turntable_pool_list
×
24
            pools.each do |pool|
×
25
              pool.enable_query_cache!
×
26
            end
27

28
            [*result, pools]
×
29
          end
30

31
          def complete(state)
1✔
32
            caching_pool, caching_was_enabled, turntable_pools = state
×
33
            super([caching_pool, caching_was_enabled])
×
34

35
            turntable_pools.each do |pool|
×
36
              pool.disable_query_cache! unless caching_was_enabled
×
37
            end
38
          end
39
        end
40

41
        module V5_0_1
1✔
42
          def run
1✔
43
            result = super
×
44

45
            pools = ActiveRecord::Base.turntable_pool_list
×
46
            pools.each do |pool|
×
47
              pool.enable_query_cache!
×
48
            end
49

50
            [*result, pools]
×
51
          end
52

53
          def complete(state)
1✔
54
            caching_pool, caching_was_enabled, connection_id, turntable_pools = state
×
55
            super([caching_pool, caching_was_enabled, connection_id])
×
56

57
            turntable_pools.each do |pool|
×
58
              pool.disable_query_cache! unless caching_was_enabled
×
59
            end
60
          end
61
        end
62

63
        module V5_0
1✔
64
          def run
1✔
65
            result = super
×
66

67
            pools = ActiveRecord::Base.turntable_pool_list
×
68
            pools.each do |k|
×
69
              k.connection.enable_query_cache!
×
70
            end
71

72
            result
×
73
          end
74

75
          def complete(state)
1✔
76
            enabled, _connection_id = state
×
77
            super
×
78

79
            klasses = ActiveRecord::Base.turntable_pool_list
×
80
            klasses.each do |k|
×
81
              k.connection.clear_query_cache
×
82
              k.connection.disable_query_cache! unless enabled
×
83
            end
84
          end
85
        end
86
      end
87

88
      def self.install_turntable_executor_hooks(executor = ActiveSupport::Executor)
1✔
89
        return if Util.ar_version_equals_or_later?("5.0.1")
×
90

91
        executor.to_complete do
×
92
          klasses = ActiveRecord::Base.turntable_connection_classes
×
93
          klasses.each do |k|
×
94
            unless k.connected? && k.connection.transaction_open?
×
95
              k.clear_active_connections!
×
96
            end
97
          end
98
        end
99
      end
100
    end
101
  end
102
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc