counter_culture 2.1.0 → 2.1.1
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 +4 -4
- data/CHANGELOG.md +10 -0
- data/VERSION +1 -1
- data/counter_culture.gemspec +3 -3
- data/lib/counter_culture/extensions.rb +2 -0
- data/spec/counter_culture_spec.rb +29 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 750074b917f0a0e9b7191aa948120ef09a1bc1496a949733aaf16d410656484d
|
|
4
|
+
data.tar.gz: 7d272b1c474a7a4201d1169e6116ad2b6946dcaba07abad814024a164d87e96c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0f65dbd3b05fd218642e18a229afcd1dfb4db538d896d9b866bfc083dceb5585d1bfcb9333738d9e854a1c9c4275445391962f891f642e0ed4d21a2091d65e90
|
|
7
|
+
data.tar.gz: af264d88858d62892cf4c601c1367cb57da56c82accbe51297398f296cd9c286c60f2861279df1cb32c569cbe46494033e320da21b3ae484c2468e00dd7a929b
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## 2.1.1 (November 7, 2018)
|
|
2
|
+
|
|
3
|
+
Bugfixes:
|
|
4
|
+
- Don't double-decrement when discarding and then hard-destroying a record (#237)
|
|
5
|
+
|
|
6
|
+
## 2.1.0 (October 19, 2018)
|
|
7
|
+
|
|
8
|
+
Bugfixes:
|
|
9
|
+
- Fix behavior with Models that are part of a module (ex: `Users::Admin`) (#234)
|
|
10
|
+
|
|
1
11
|
## 2.0.1 (August 19, 2018)
|
|
2
12
|
|
|
3
13
|
Bugfixes:
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.1.
|
|
1
|
+
2.1.1
|
data/counter_culture.gemspec
CHANGED
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
|
5
|
-
# stub: counter_culture 2.1.
|
|
5
|
+
# stub: counter_culture 2.1.1 ruby lib
|
|
6
6
|
|
|
7
7
|
Gem::Specification.new do |s|
|
|
8
8
|
s.name = "counter_culture".freeze
|
|
9
|
-
s.version = "2.1.
|
|
9
|
+
s.version = "2.1.1"
|
|
10
10
|
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
|
12
12
|
s.require_paths = ["lib".freeze]
|
|
13
13
|
s.authors = ["Magnus von Koeller".freeze]
|
|
14
|
-
s.date = "2018-
|
|
14
|
+
s.date = "2018-11-07"
|
|
15
15
|
s.description = "counter_culture provides turbo-charged counter caches that are kept up-to-date not just on create and destroy, that support multiple levels of indirection through relationships, allow dynamic column names and that avoid deadlocks by updating in the after_commit callback.".freeze
|
|
16
16
|
s.email = "magnus@vonkoeller.de".freeze
|
|
17
17
|
s.extra_rdoc_files = [
|
|
@@ -23,6 +23,8 @@ module CounterCulture
|
|
|
23
23
|
before_destroy :_update_counts_after_destroy, if: -> (model) do
|
|
24
24
|
if model.respond_to?(:paranoia_destroyed?)
|
|
25
25
|
!model.paranoia_destroyed?
|
|
26
|
+
elsif defined?(Discard::Model) && model.class.include?(Discard::Model)
|
|
27
|
+
!model.discarded?
|
|
26
28
|
else
|
|
27
29
|
true
|
|
28
30
|
end
|
|
@@ -1784,6 +1784,35 @@ describe "CounterCulture" do
|
|
|
1784
1784
|
sd.undiscard
|
|
1785
1785
|
expect(company.reload.soft_delete_discards_count).to eq(1)
|
|
1786
1786
|
end
|
|
1787
|
+
|
|
1788
|
+
describe "when calling hard-destroy" do
|
|
1789
|
+
it "does not run destroy callback for discarded records" do
|
|
1790
|
+
skip("Unsupported in this version of Rails") if Rails.version < "4.2.0"
|
|
1791
|
+
|
|
1792
|
+
company = Company.create!
|
|
1793
|
+
sd = SoftDeleteDiscard.create!(company_id: company.id)
|
|
1794
|
+
|
|
1795
|
+
expect(company.reload.soft_delete_discards_count).to eq(1)
|
|
1796
|
+
|
|
1797
|
+
sd.discard
|
|
1798
|
+
expect(company.reload.soft_delete_discards_count).to eq(0)
|
|
1799
|
+
|
|
1800
|
+
sd.destroy
|
|
1801
|
+
expect(company.reload.soft_delete_discards_count).to eq(0)
|
|
1802
|
+
end
|
|
1803
|
+
|
|
1804
|
+
it "runs destroy callback for undiscarded records" do
|
|
1805
|
+
skip("Unsupported in this version of Rails") if Rails.version < "4.2.0"
|
|
1806
|
+
|
|
1807
|
+
company = Company.create!
|
|
1808
|
+
sd = SoftDeleteDiscard.create!(company_id: company.id)
|
|
1809
|
+
|
|
1810
|
+
expect(company.reload.soft_delete_discards_count).to eq(1)
|
|
1811
|
+
|
|
1812
|
+
sd.destroy
|
|
1813
|
+
expect(company.reload.soft_delete_discards_count).to eq(0)
|
|
1814
|
+
end
|
|
1815
|
+
end
|
|
1787
1816
|
end
|
|
1788
1817
|
|
|
1789
1818
|
describe "when using paranoia for soft deletes" do
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: counter_culture
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.1.
|
|
4
|
+
version: 2.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Magnus von Koeller
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-
|
|
11
|
+
date: 2018-11-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: after_commit_action
|