progress_tracker 0.0.1 → 0.1.0
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/lib/progress_tracker/base.rb +14 -0
- data/lib/progress_tracker/version.rb +1 -1
- data/spec/progress_tracker_spec.rb +15 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cbbb98936230ac221d533e385e7a157645cab00e
|
4
|
+
data.tar.gz: 51ec3be99c7e7dd057be599c6b50592510b11640
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a94fe2cfdb638ede6ab49d3e0f72bcd73cdc37e132ea658fc3ec71b8139ea6b01b3abd9b54f1aa9096f82f9d4d10972bf07854fffead2dece07d7f10e7c364e5
|
7
|
+
data.tar.gz: 2d2401475573755c3c354a3b66715356933e4f9fe0f70f77ae537174c4065d1982fc34b247ed40b26a152112487eadd3176cc20219cceeb117045900095669f2
|
@@ -32,6 +32,14 @@ module ProgressTracker
|
|
32
32
|
@current_tracked_object = :_base
|
33
33
|
end
|
34
34
|
|
35
|
+
# re-set every redis key that this instance is tracking
|
36
|
+
def reset!
|
37
|
+
['tracked-object-keys', *tracked_object_keys.to_a].each { |key| redis.del key }
|
38
|
+
|
39
|
+
@tracked_object_keys = Set.new([:_base])
|
40
|
+
@current_tracked_object = :_base
|
41
|
+
end
|
42
|
+
|
35
43
|
# Build a compound key and store it for future reference
|
36
44
|
def track(object_name, object_id = nil)
|
37
45
|
new_key = _ck(object_name, object_id)
|
@@ -73,6 +81,12 @@ module ProgressTracker
|
|
73
81
|
redis.hmset current_tracked_object, *hsh.to_a.flatten
|
74
82
|
end
|
75
83
|
|
84
|
+
# reset the currently trackd object
|
85
|
+
def reset
|
86
|
+
redis.del current_tracked_object
|
87
|
+
end
|
88
|
+
|
89
|
+
|
76
90
|
def progress(value)
|
77
91
|
update progress: value.to_i
|
78
92
|
end
|
@@ -29,7 +29,6 @@ shared_examples "a ProgressTracker::Tracker instance" do
|
|
29
29
|
expect(_result(getter, :message, setter.current_tracked_object)).to eql(msg)
|
30
30
|
end
|
31
31
|
|
32
|
-
|
33
32
|
it "remembers several things at once" do
|
34
33
|
things = { progress: 42, message: "Share and enjoy." }
|
35
34
|
setter.update things
|
@@ -41,6 +40,11 @@ shared_examples "a ProgressTracker::Tracker instance" do
|
|
41
40
|
setter.update foo: "bar!"
|
42
41
|
expect(getter.to_hash[setter.current_tracked_object][:foo]).to eql("bar!")
|
43
42
|
end
|
43
|
+
|
44
|
+
it "can be reset" do
|
45
|
+
setter.reset
|
46
|
+
expect(getter.to_hash[setter.current_tracked_object]).to_not have_key(setter.current_tracked_object)
|
47
|
+
end
|
44
48
|
end
|
45
49
|
|
46
50
|
|
@@ -81,6 +85,16 @@ describe ProgressTracker::Base do
|
|
81
85
|
expect(pt.to_hash).to have_key(:bar_100)
|
82
86
|
end
|
83
87
|
|
88
|
+
it "can re-set the entire tracker set" do
|
89
|
+
pt.track :foo
|
90
|
+
pt.track :bar, 100
|
91
|
+
|
92
|
+
pt.reset!
|
93
|
+
|
94
|
+
expect(pt.to_hash).to eql({ _base: { progress: 0, message: "" } })
|
95
|
+
end
|
96
|
+
|
97
|
+
|
84
98
|
# it "ensures that any tracked sub-objects are re-cached when initialising a new tracker" do
|
85
99
|
# pt.track :foo
|
86
100
|
# pt.track :bar, 100
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: progress_tracker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Cheail
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-01-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -147,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
147
|
version: '0'
|
148
148
|
requirements: []
|
149
149
|
rubyforge_project:
|
150
|
-
rubygems_version: 2.
|
150
|
+
rubygems_version: 2.0.3
|
151
151
|
signing_key:
|
152
152
|
specification_version: 4
|
153
153
|
summary: ''
|