active_record_multiple_query_cache 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
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