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