incrdecr_cached_counts 1.0.1 → 1.0.3

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
  SHA256:
3
- metadata.gz: b7e0642baff088005dc6aa97e344f1ac5b85fa5eded2f8a5d8853a694ef37c5e
4
- data.tar.gz: c642b17b46c8c52b2186d0d545f0a2f40fa5fd421f8bbde71ac45cc0631eb51a
3
+ metadata.gz: 787795a7c9bd59e8a1163b8a1b0865607606e6670b40f646e786efee72ff3d12
4
+ data.tar.gz: b99c1eb114d83506b6e19af822f324a424ff49c9c4f7fb304ea0097407ade46d
5
5
  SHA512:
6
- metadata.gz: a1a0bfb19781184a166720ec1a585d86133077a3fed888e77453c86ebe853584297739f476d933b5eb38a9616c8419b97b787cdeaa43de82a1b777ac9f584d1c
7
- data.tar.gz: 65fd27837361f7ddbd0f8a36ef763906364485f6328f2977cd60b79f30baa20d75545fd6e7f1ccb4420323cd91c7b66044dad92c72023ad4e70d1f1b824d909a
6
+ metadata.gz: 6762bf048717294e9039485308b2ed15db8b9f94e9f6653b56aab402d75021b88b7074af9a43db3519c4d294fdfab3a38e831f28ac25ff786ef0613c3e5db9fe
7
+ data.tar.gz: 766cb4cff090a49c4752c14624b39447ca51d908634ec6abeeaaaa6a3be1c1e1353a6a98a72736d2baf8600542e8ced8134f29a5d9ac10b1037354f69bb852e3
@@ -22,7 +22,6 @@ Gem::Specification.new do |s|
22
22
  s.add_dependency "rails", ">= 7.0"
23
23
  s.add_dependency "dalli"
24
24
 
25
- s.add_development_dependency "concurrent-ruby", "1.3.4"
26
25
  s.add_development_dependency "sqlite3"
27
26
  s.add_development_dependency "rspec"
28
27
  s.add_development_dependency "database_cleaner"
@@ -1,3 +1,3 @@
1
1
  module CachedCounts
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.3"
3
3
  end
data/lib/cached_counts.rb CHANGED
@@ -288,23 +288,15 @@ module CachedCounts
288
288
  def add_counting_hooks(attribute_name, key_getter, counted_class, options)
289
289
  increment_hook = "increment_#{attribute_name}_count".to_sym
290
290
  counted_class.send :define_method, increment_hook do
291
- if (key = instance_exec &key_getter)
292
- Rails.cache.increment(
293
- key,
294
- 1,
295
- initial: nil # Increment only if the key already exists
296
- )
291
+ if (key = instance_exec &key_getter) && Rails.cache.exist?(key, raw: true)
292
+ Rails.cache.increment(key)
297
293
  end
298
294
  end
299
295
 
300
296
  decrement_hook = "decrement_#{attribute_name}_count".to_sym
301
297
  counted_class.send :define_method, decrement_hook do
302
- if (key = instance_exec &key_getter)
303
- Rails.cache.decrement(
304
- key,
305
- 1,
306
- initial: nil # Decrement only if the key already exists
307
- )
298
+ if (key = instance_exec &key_getter) && Rails.cache.exist?(key, raw: true)
299
+ Rails.cache.decrement(key)
308
300
  end
309
301
  end
310
302
 
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,12 @@
1
1
  require 'rubygems'
2
2
  require 'bundler/setup'
3
+
4
+ # This is a workaround for https://github.com/rails/rails/issues/54260.
5
+ # It can be removed when we stop supporting Rails 7.0.
6
+ if Gem::Specification.find_by_name('rails').version < Gem::Version.new('7.1')
7
+ require 'logger'
8
+ end
9
+
3
10
  require 'active_record'
4
11
  require 'rails'
5
12
  require 'active_support/cache/mem_cache_store'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: incrdecr_cached_counts
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Judd
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-04-30 00:00:00.000000000 Z
10
+ date: 2025-07-10 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: rails
@@ -37,20 +37,6 @@ dependencies:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  version: '0'
40
- - !ruby/object:Gem::Dependency
41
- name: concurrent-ruby
42
- requirement: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - '='
45
- - !ruby/object:Gem::Version
46
- version: 1.3.4
47
- type: :development
48
- prerelease: false
49
- version_requirements: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - '='
52
- - !ruby/object:Gem::Version
53
- version: 1.3.4
54
40
  - !ruby/object:Gem::Dependency
55
41
  name: sqlite3
56
42
  requirement: !ruby/object:Gem::Requirement
@@ -158,13 +144,4 @@ requirements: []
158
144
  rubygems_version: 3.6.3
159
145
  specification_version: 4
160
146
  summary: A replacement for Rails' counter caches using memcached (via Dalli)
161
- test_files:
162
- - spec/caches_count_of_spec.rb
163
- - spec/caches_count_where_spec.rb
164
- - spec/database.yml
165
- - spec/fixtures.rb
166
- - spec/fixtures/department.rb
167
- - spec/fixtures/following.rb
168
- - spec/fixtures/university.rb
169
- - spec/fixtures/user.rb
170
- - spec/spec_helper.rb
147
+ test_files: []