active_record_multiple_query_cache 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d2c39557d189b8d85b4e35ee4ae6f356d862cdfc
4
- data.tar.gz: 7b46a465aa2b57d19e007cdca200c57c3a59880d
3
+ metadata.gz: 9b5f3b62f168811516395c3f2c8ee96304bcc426
4
+ data.tar.gz: be142483ce01190fcdc349f03685f5d6265c4655
5
5
  SHA512:
6
- metadata.gz: 897508b3089e9ff1a6f7cc7b99203df4de7db7e6fc1ef1100cb7e6c5928ec03fe27fcfa9d28d5be27adac0ffcb510db758fe4fdf9795c6bfdffb01e950f76286
7
- data.tar.gz: cd1d2b0bb823a05e477077a14c5687dbbd74116621a94b2afe594074eebef80b47bba5453bb23895567a6f1806e13e43e5af73ef1af696f5dc312364f45bb725
6
+ metadata.gz: b1adfaea3133d213471891c30e9bf68763b9ffe51bf00fe0f4eb6c234750f8a91fa1cd811daa20c3b0130ec0c35bef2dd56ec06774d2eee057ffb941897b0144
7
+ data.tar.gz: 6bd90e7b9caaa1af70cb9d4d119116642220e27b4db687232396e754fb005b81dd0d5a11e0be55662b6b26a10782af25df0de8afe32ff00a4c248893343e4966
@@ -20,12 +20,11 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ['lib']
21
21
 
22
22
  spec.add_dependency('activerecord', '>= 4.2')
23
+ spec.add_dependency('rack')
23
24
 
24
25
  # for test
25
- spec.add_development_dependency('sqlite3')
26
- spec.add_development_dependency('rack')
27
-
28
26
  spec.add_development_dependency('bundler')
29
27
  spec.add_development_dependency('rake')
30
28
  spec.add_development_dependency('rspec')
29
+ spec.add_development_dependency('sqlite3')
31
30
  end
@@ -0,0 +1,17 @@
1
+ module ActiveRecordMultipleQueryCache
2
+ class Base
3
+ def initialize(active_record_base_name_or_class)
4
+ @active_record_base_name_or_class = active_record_base_name_or_class
5
+ end
6
+
7
+ private
8
+
9
+ def active_record_base_class
10
+ @active_record_base_class ||= if @active_record_base_name_or_class.is_a?(String)
11
+ @active_record_base_name_or_class.constantize
12
+ else
13
+ @active_record_base_name_or_class
14
+ end
15
+ end
16
+ end
17
+ end
@@ -2,21 +2,16 @@ require 'rack'
2
2
  require 'active_support/core_ext/string/inflections'
3
3
 
4
4
  module ActiveRecordMultipleQueryCache
5
- class Rails4QueryCache
6
- def initialize(active_record_base_class)
7
- active_record_base_class = active_record_base_class.constantize if active_record_base_class.is_a?(String)
8
- @active_record_base_class = active_record_base_class
9
- end
10
-
5
+ class Rails4QueryCache < Base
11
6
  def new(app)
12
7
  @app = app
13
8
  self
14
9
  end
15
10
 
16
11
  def call(env)
17
- connection = @active_record_base_class.connection
12
+ connection = active_record_base_class.connection
18
13
  enabled = connection.query_cache_enabled
19
- connection_id = @active_record_base_class.connection_id
14
+ connection_id = active_record_base_class.connection_id
20
15
  connection.enable_query_cache!
21
16
 
22
17
  response = @app.call(env)
@@ -35,15 +30,15 @@ module ActiveRecordMultipleQueryCache
35
30
  end
36
31
 
37
32
  def to_s
38
- %{#<#{self.class} @active_record_class: "#{@active_record_base_class}">}
33
+ %{#<#{self.class} active_record_class: "#{active_record_base_class}">}
39
34
  end
40
35
 
41
36
  private
42
37
 
43
38
  def restore_query_cache_settings(connection_id, enabled)
44
- @active_record_base_class.connection_id = connection_id
45
- @active_record_base_class.connection.clear_query_cache
46
- @active_record_base_class.connection.disable_query_cache! unless enabled
39
+ active_record_base_class.connection_id = connection_id
40
+ active_record_base_class.connection.clear_query_cache
41
+ active_record_base_class.connection.disable_query_cache! unless enabled
47
42
  end
48
43
  end
49
44
  end
@@ -1,9 +1,5 @@
1
1
  module ActiveRecordMultipleQueryCache
2
- class Rails5QueryCache
3
- def initialize(active_record_base_name_or_class)
4
- @active_record_base_name_or_class = active_record_base_name_or_class
5
- end
6
-
2
+ class Rails5QueryCache < Base
7
3
  def run
8
4
  caching_pool = active_record_base_class.connection.pool
9
5
  caching_was_enabled = caching_pool.query_cache_enabled
@@ -16,15 +12,5 @@ module ActiveRecordMultipleQueryCache
16
12
  def complete((caching_pool, caching_was_enabled))
17
13
  caching_pool.disable_query_cache! unless caching_was_enabled
18
14
  end
19
-
20
- private
21
-
22
- def active_record_base_class
23
- @active_record_base_class ||= if @active_record_base_name_or_class.is_a?(String)
24
- @active_record_base_name_or_class.constantize
25
- else
26
- @active_record_base_name_or_class
27
- end
28
- end
29
15
  end
30
16
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveRecordMultipleQueryCache
2
- VERSION = '0.1.1'.freeze
2
+ VERSION = '0.1.2'.freeze
3
3
  end
@@ -1,12 +1,13 @@
1
1
  require 'active_record_multiple_query_cache/version'
2
- require 'active_record_multiple_query_cache/rails4_query_cache'
3
2
 
4
3
  module ActiveRecordMultipleQueryCache
4
+ autoload :Base, 'active_record_multiple_query_cache/base'
5
5
  autoload :Rails4QueryCache, 'active_record_multiple_query_cache/rails4_query_cache'
6
6
  autoload :Rails5QueryCache, 'active_record_multiple_query_cache/rails5_query_cache'
7
7
 
8
8
  def self.install_query_cache(activerecord_base_class_name, rails = ::Rails)
9
9
  if rails.gem_version >= Gem::Version.new('5.0.0')
10
+ require 'active_support/executor'
10
11
  executor = ActiveSupport::Executor
11
12
  hook = Rails5QueryCache.new(activerecord_base_class_name)
12
13
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record_multiple_query_cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - alpaca-tc
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-08 00:00:00.000000000 Z
11
+ date: 2017-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -25,13 +25,13 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.2'
27
27
  - !ruby/object:Gem::Dependency
28
- name: sqlite3
28
+ name: rack
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
- type: :development
34
+ type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rack
42
+ name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: bundler
56
+ name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: rake
70
+ name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: rspec
84
+ name: sqlite3
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -112,6 +112,7 @@ files:
112
112
  - bin/console
113
113
  - bin/setup
114
114
  - lib/active_record_multiple_query_cache.rb
115
+ - lib/active_record_multiple_query_cache/base.rb
115
116
  - lib/active_record_multiple_query_cache/rails4_query_cache.rb
116
117
  - lib/active_record_multiple_query_cache/rails5_query_cache.rb
117
118
  - lib/active_record_multiple_query_cache/version.rb