counterwise 0.1.3 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -1
- data/app/models/concerns/counter/verifyable.rb +6 -3
- data/lib/counter/version.rb +1 -1
- metadata +5 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3058578dbb5742b22c61ec6bfbd79253bd39886684760bd1afe2674c4e97eb00
|
4
|
+
data.tar.gz: 8cd7bb0ad3fd770090cd3a156dca65a7d5c6dd9ba607dbcce500c6c94f182a31
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2ebfb183bba510a0e2322e73d7881fed711369575ceb1c48fa128ccacb1482fdec5dbc7b631232d3de0c9f84c4ea4c9620552b96b82212a1751be209ea6d29ec
|
7
|
+
data.tar.gz: 5ed67f84bfffa86e5d438477a4c8f184cfa7b6e0bd26040e56defca7b3ba5877527c57a78b3d9f5868c75860d7b305225c82be24665761b9d3d7952a6bd3809f
|
data/README.md
CHANGED
@@ -129,10 +129,15 @@ this would use the definition of the counter, including any option to sum a colu
|
|
129
129
|
|
130
130
|
### Reset a counter
|
131
131
|
|
132
|
-
You can also reset a counter by calling `reset`.
|
132
|
+
You can also reset a counter by calling `reset`.
|
133
133
|
|
134
134
|
```ruby
|
135
135
|
store.order_revenue.reset
|
136
|
+
```
|
137
|
+
|
138
|
+
Since counters are ActiveRecord objects, you could also reset them using:
|
139
|
+
|
140
|
+
```ruby
|
136
141
|
Counter::Value.update value: 0
|
137
142
|
```
|
138
143
|
|
@@ -35,11 +35,12 @@ module Counter::Verifyable
|
|
35
35
|
def sample_and_verify scope: -> { all }, samples: 1000, verbose: true, on_error: :raise
|
36
36
|
incorrect_counters = 0
|
37
37
|
|
38
|
-
|
38
|
+
counters = Counter::Value.merge(scope)
|
39
|
+
counter_range = counters.minimum(:id)..counters.maximum(:id)
|
39
40
|
|
40
41
|
samples.times do
|
41
42
|
random_id = rand(counter_range)
|
42
|
-
counter =
|
43
|
+
counter = counters.where("id >= ?", random_id).limit(1).first
|
43
44
|
next if counter.nil?
|
44
45
|
|
45
46
|
if counter.definition.global? || counter.definition.calculated?
|
@@ -56,7 +57,9 @@ module Counter::Verifyable
|
|
56
57
|
case on_error
|
57
58
|
when :raise then raise Counter::Error.new(message)
|
58
59
|
when :log then Rails.logger.error message
|
59
|
-
when :correct
|
60
|
+
when :correct
|
61
|
+
counter.correct!
|
62
|
+
puts "🔧 Corrected counter #{counter.id}" if verbose
|
60
63
|
end
|
61
64
|
end
|
62
65
|
sleep 0.1
|
data/lib/counter/version.rb
CHANGED
metadata
CHANGED
@@ -1,43 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: counterwise
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jamie Lawrence
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '7'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '7'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: standard
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
22
|
version_requirements: !ruby/object:Gem::Requirement
|
37
23
|
requirements:
|
38
24
|
- - ">="
|
39
25
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
26
|
+
version: '7'
|
41
27
|
description: Counting and aggregation library for Rails.
|
42
28
|
email:
|
43
29
|
- jamie@ideasasylum.com
|
@@ -101,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
101
87
|
- !ruby/object:Gem::Version
|
102
88
|
version: '0'
|
103
89
|
requirements: []
|
104
|
-
rubygems_version: 3.
|
90
|
+
rubygems_version: 3.4.10
|
105
91
|
signing_key:
|
106
92
|
specification_version: 4
|
107
93
|
summary: Counters and the counting counters that count them
|