dont_repeat_for 1.0.0.0 → 1.0.0.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/dont_repeat_for.gemspec +3 -4
- data/lib/dont_repeat_for.rb +9 -5
- data/lib/dont_repeat_for/version.rb +1 -1
- metadata +6 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1fdd5e137761ab97922dc862d3b51ac37ff09ede
|
4
|
+
data.tar.gz: 51f3b900f05a0e14ac49b9a6588dde4832484fbc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 12dee7be4c8005e5392517e805862a0688501211353abfaa51a02a3fe81e5e7d93420db24d0537ef2d4a933289311d25ed2f12efd7572ebbb5f2e55bb283696b
|
7
|
+
data.tar.gz: 246ee28e90141a0c413652033e422234e3d5b1c1086370b9bdb5e1442dc90ca784e509ac609483e013ea4090f7f63cb8fbc63cbffdc6425cee83713ce3de5a33
|
data/dont_repeat_for.gemspec
CHANGED
@@ -9,9 +9,8 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["Jay El-Kaake"]
|
10
10
|
spec.email = ["najibkaake@gmail.com"]
|
11
11
|
|
12
|
-
spec.summary = %q{
|
13
|
-
spec.description = %q{
|
14
|
-
that are stored within one database column cell instead of several columns.}
|
12
|
+
spec.summary = %q{Allows you to easily run a code block only once every X amount of time}
|
13
|
+
spec.description = %q{Allows you to easily run a code block only once every X amount of time}
|
15
14
|
spec.homepage = "https://www.github.com/jayelkaake/dont_repeat_for"
|
16
15
|
spec.license = "MIT"
|
17
16
|
|
@@ -32,7 +31,7 @@ Gem::Specification.new do |spec|
|
|
32
31
|
|
33
32
|
spec.add_development_dependency "bundler"
|
34
33
|
spec.add_development_dependency "temping", "~> 3.3.0"
|
35
|
-
spec.add_development_dependency "rake", "~>
|
34
|
+
spec.add_development_dependency "rake", "~> 12.3.3"
|
36
35
|
spec.add_development_dependency "rspec", '~> 3.4'
|
37
36
|
spec.add_development_dependency "sqlite3", '~> 1.3.11'
|
38
37
|
|
data/lib/dont_repeat_for.rb
CHANGED
@@ -24,23 +24,27 @@ class DontRepeatFor
|
|
24
24
|
|
25
25
|
return nil if ran_recently?
|
26
26
|
|
27
|
-
|
27
|
+
set_key_expiry
|
28
28
|
|
29
29
|
yield
|
30
30
|
end
|
31
31
|
|
32
32
|
private
|
33
33
|
|
34
|
-
def
|
35
|
-
redis.
|
34
|
+
def set_key_expiry
|
35
|
+
redis.expire(storage_key, time)
|
36
36
|
end
|
37
37
|
|
38
|
+
##
|
39
|
+
# Using an incr to atomically get & set the value.
|
40
|
+
# If incr === 1 then the key was empty before incrementing
|
41
|
+
# Otherwise, it has already been incremented before expiring
|
38
42
|
def ran_recently?
|
39
|
-
redis.
|
43
|
+
redis.incr(storage_key) != 1
|
40
44
|
end
|
41
45
|
|
42
46
|
def storage_key
|
43
|
-
@storage_key ||= "DontRepeatFor/Keys/#{@key}"
|
47
|
+
@storage_key ||= "DontRepeatFor/v1/Keys/#{@key}"
|
44
48
|
end
|
45
49
|
|
46
50
|
def redis
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dont_repeat_for
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jay El-Kaake
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-05-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 12.3.3
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 12.3.3
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,9 +94,7 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 1.3.11
|
97
|
-
description:
|
98
|
-
This gem adds the ability for models to have an unlimited number of custom flags \
|
99
|
-
that are stored within one database column cell instead of several columns.
|
97
|
+
description: Allows you to easily run a code block only once every X amount of time
|
100
98
|
email:
|
101
99
|
- najibkaake@gmail.com
|
102
100
|
executables: []
|
@@ -138,6 +136,5 @@ rubyforge_project:
|
|
138
136
|
rubygems_version: 2.6.10
|
139
137
|
signing_key:
|
140
138
|
specification_version: 4
|
141
|
-
summary:
|
142
|
-
(like devise).
|
139
|
+
summary: Allows you to easily run a code block only once every X amount of time
|
143
140
|
test_files: []
|