identity_cache 1.0.1 → 1.1.0

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.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  module IdentityCache
3
- VERSION = "1.0.1"
3
+ VERSION = "1.1.0"
4
4
  CACHE_VERSION = 8
5
5
  end
@@ -107,28 +107,6 @@ module DeletedRunner
107
107
  end
108
108
  end
109
109
 
110
- module ConflictRunner
111
- def prepare
112
- super
113
- records = (1..@count).map { |id| ::Item.find(id) }
114
- orig_resolve_cache_miss = ::Item.method(:resolve_cache_miss)
115
-
116
- ::Item.define_singleton_method(:resolve_cache_miss) do |id|
117
- records[id - 1].expire_cache
118
- orig_resolve_cache_miss.call(id)
119
- end
120
- IdentityCache.cache.clear
121
- end
122
- end
123
-
124
- module DeletedConflictRunner
125
- include ConflictRunner
126
- def prepare
127
- super
128
- (1..@count).each { |i| ::Item.find(i).expire_cache }
129
- end
130
- end
131
-
132
110
  class EmbedRunner < CacheRunner
133
111
  def setup_models
134
112
  super
@@ -161,16 +139,6 @@ class FetchEmbedDeletedRunner < EmbedRunner
161
139
  end
162
140
  CACHE_RUNNERS << FetchEmbedDeletedRunner
163
141
 
164
- class FetchEmbedConflictRunner < EmbedRunner
165
- include ConflictRunner
166
- end
167
- CACHE_RUNNERS << FetchEmbedConflictRunner
168
-
169
- class FetchEmbedDeletedConflictRunner < EmbedRunner
170
- include DeletedConflictRunner
171
- end
172
- CACHE_RUNNERS << FetchEmbedDeletedConflictRunner
173
-
174
142
  class NormalizedRunner < CacheRunner
175
143
  def setup_models
176
144
  super
@@ -204,13 +172,3 @@ class FetchNormalizedDeletedRunner < NormalizedRunner
204
172
  include DeletedRunner
205
173
  end
206
174
  CACHE_RUNNERS << FetchNormalizedDeletedRunner
207
-
208
- class FetchNormalizedConflictRunner < EmbedRunner
209
- include ConflictRunner
210
- end
211
- CACHE_RUNNERS << FetchNormalizedConflictRunner
212
-
213
- class FetchNormalizedDeletedConflictRunner < EmbedRunner
214
- include DeletedConflictRunner
215
- end
216
- CACHE_RUNNERS << FetchNormalizedDeletedConflictRunner
@@ -23,7 +23,7 @@ end
23
23
  def benchmark(runners, label_width = 0)
24
24
  IdentityCache.cache.clear
25
25
  runners.each do |runner|
26
- print "#{runner.name}: ".ljust(label_width)
26
+ print("#{runner.name}: ".ljust(label_width))
27
27
  puts run(runner.new(RUNS))
28
28
  end
29
29
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: identity_cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Camilo Lopez
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2020-02-14 00:00:00.000000000 Z
17
+ date: 2021-01-08 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: ar_transaction_changes
@@ -22,14 +22,14 @@ dependencies:
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: '1.0'
25
+ version: '1.1'
26
26
  type: :runtime
27
27
  prerelease: false
28
28
  version_requirements: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: '1.0'
32
+ version: '1.1'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: activerecord
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -72,6 +72,20 @@ dependencies:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
74
  version: 1.0.0
75
+ - !ruby/object:Gem::Dependency
76
+ name: dalli
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
75
89
  - !ruby/object:Gem::Dependency
76
90
  name: rake
77
91
  requirement: !ruby/object:Gem::Requirement
@@ -160,16 +174,16 @@ dependencies:
160
174
  name: pg
161
175
  requirement: !ruby/object:Gem::Requirement
162
176
  requirements:
163
- - - "~>"
177
+ - - ">="
164
178
  - !ruby/object:Gem::Version
165
- version: '0.18'
179
+ version: '0'
166
180
  type: :development
167
181
  prerelease: false
168
182
  version_requirements: !ruby/object:Gem::Requirement
169
183
  requirements:
170
- - - "~>"
184
+ - - ">="
171
185
  - !ruby/object:Gem::Version
172
- version: '0.18'
186
+ version: '0'
173
187
  - !ruby/object:Gem::Dependency
174
188
  name: stackprof
175
189
  requirement: !ruby/object:Gem::Requirement
@@ -195,7 +209,7 @@ files:
195
209
  - ".github/workflows/ci.yml"
196
210
  - ".gitignore"
197
211
  - ".rubocop.yml"
198
- - ".travis.yml"
212
+ - CAVEATS.md
199
213
  - CHANGELOG.md
200
214
  - CONTRIBUTING.md
201
215
  - Gemfile
@@ -204,8 +218,8 @@ files:
204
218
  - Rakefile
205
219
  - dev.yml
206
220
  - gemfiles/Gemfile.latest-release
221
+ - gemfiles/Gemfile.min-supported
207
222
  - gemfiles/Gemfile.rails-edge
208
- - gemfiles/Gemfile.rails52
209
223
  - identity_cache.gemspec
210
224
  - lib/identity_cache.rb
211
225
  - lib/identity_cache/belongs_to_caching.rb
@@ -237,6 +251,7 @@ files:
237
251
  - lib/identity_cache/load_strategy/lazy.rb
238
252
  - lib/identity_cache/load_strategy/load_request.rb
239
253
  - lib/identity_cache/load_strategy/multi_load_request.rb
254
+ - lib/identity_cache/mem_cache_store_cas.rb
240
255
  - lib/identity_cache/memoized_cache_proxy.rb
241
256
  - lib/identity_cache/parent_model_expiration.rb
242
257
  - lib/identity_cache/query_api.rb
@@ -254,7 +269,8 @@ files:
254
269
  - shipit.rubygems.yml
255
270
  homepage: https://github.com/Shopify/identity_cache
256
271
  licenses: []
257
- metadata: {}
272
+ metadata:
273
+ allowed_push_host: https://rubygems.org
258
274
  post_install_message:
259
275
  rdoc_options: []
260
276
  require_paths:
@@ -263,7 +279,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
263
279
  requirements:
264
280
  - - ">="
265
281
  - !ruby/object:Gem::Version
266
- version: 2.4.0
282
+ version: 2.5.0
267
283
  required_rubygems_version: !ruby/object:Gem::Requirement
268
284
  requirements:
269
285
  - - ">="
@@ -1,45 +0,0 @@
1
- language: ruby
2
-
3
- rvm:
4
- - 2.4
5
- - 2.6
6
-
7
- gemfile:
8
- - gemfiles/Gemfile.rails52
9
- - gemfiles/Gemfile.latest-release
10
- - gemfiles/Gemfile.rails-edge
11
-
12
- env:
13
- - DB=mysql2
14
- - DB=postgresql
15
-
16
- jobs:
17
- exclude:
18
- - rvm: 2.4
19
- gemfile: gemfiles/Gemfile.rails-edge
20
- - rvm: 2.4
21
- gemfile: gemfiles/Gemfile.latest-release
22
-
23
- services:
24
- - memcache
25
- - mysql
26
- - postgresql
27
-
28
- sudo: false
29
-
30
- before_script:
31
- - mysql -e 'create database identity_cache_test'
32
- - psql -c 'create database identity_cache_test;' -U postgres
33
-
34
- script:
35
- - bundle exec rake test
36
-
37
- cache: bundler
38
-
39
- matrix:
40
- exclude:
41
- - rvm: 2.2.6
42
- gemfile: gemfiles/Gemfile.rails-edge
43
-
44
- notifications:
45
- email: false
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
- gemspec path: '..'
3
-
4
- gem 'activerecord', '~> 5.2'
5
- gem 'activesupport', '~> 5.2'
6
- gem 'mysql2', '>= 0.4.4', '< 0.6.0'