hotseat 0.1.1 → 0.1.2
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.
- data/VERSION +1 -1
- data/hotseat.gemspec +3 -2
- data/lib/hotseat/queue.rb +6 -2
- data/spec/hotseat/queue_spec.rb +31 -8
- metadata +13 -13
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
data/hotseat.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{hotseat}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Elad Kehat"]
|
12
|
-
s.date = %q{2011-08-
|
12
|
+
s.date = %q{2011-08-17}
|
13
13
|
s.email = %q{eladkehat@gmail.com}
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"LICENSE.txt",
|
@@ -23,6 +23,7 @@ Gem::Specification.new do |s|
|
|
23
23
|
"README.rdoc",
|
24
24
|
"Rakefile",
|
25
25
|
"VERSION",
|
26
|
+
"hotseat.gemspec",
|
26
27
|
"lib/hotseat.rb",
|
27
28
|
"lib/hotseat/hotseat.rb",
|
28
29
|
"lib/hotseat/queue.rb",
|
data/lib/hotseat/queue.rb
CHANGED
@@ -54,7 +54,10 @@ module Hotseat
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def add(doc_id)
|
57
|
-
@db.update_doc(doc_id)
|
57
|
+
@db.update_doc(doc_id) do |doc|
|
58
|
+
Queue.patch doc
|
59
|
+
yield doc if block_given?
|
60
|
+
end
|
58
61
|
end
|
59
62
|
|
60
63
|
def add_bulk(doc_ids)
|
@@ -101,6 +104,7 @@ module Hotseat
|
|
101
104
|
else
|
102
105
|
Queue.mark_done( Queue.remove_lock( doc ) )
|
103
106
|
end
|
107
|
+
yield doc if block_given?
|
104
108
|
end
|
105
109
|
end
|
106
110
|
|
@@ -154,4 +158,4 @@ module Hotseat
|
|
154
158
|
end
|
155
159
|
|
156
160
|
end
|
157
|
-
end
|
161
|
+
end
|
data/spec/hotseat/queue_spec.rb
CHANGED
@@ -53,7 +53,7 @@ module Hotseat
|
|
53
53
|
doc.should_not have_key(Hotseat.config[:object_name])
|
54
54
|
end
|
55
55
|
end
|
56
|
-
|
56
|
+
|
57
57
|
describe "#add_lock" do
|
58
58
|
it "should add a lock object on a patched document" do
|
59
59
|
doc = Queue.add_lock( Queue.patch( sample_doc ) )
|
@@ -72,7 +72,7 @@ module Hotseat
|
|
72
72
|
@doc.should have_key(Hotseat.config[:object_name])
|
73
73
|
end
|
74
74
|
end
|
75
|
-
|
75
|
+
|
76
76
|
describe "#locked?" do
|
77
77
|
it "should be true for a locked document" do
|
78
78
|
doc = Queue.add_lock( Queue.patch( sample_doc ) )
|
@@ -87,7 +87,7 @@ module Hotseat
|
|
87
87
|
Queue.locked?(doc).should be_false
|
88
88
|
end
|
89
89
|
end
|
90
|
-
|
90
|
+
|
91
91
|
describe "#mark_done" do
|
92
92
|
before(:each) { @doc = Queue.mark_done( Queue.patch( sample_doc ) ) }
|
93
93
|
it "should leave the queue patch intact" do
|
@@ -98,13 +98,26 @@ module Hotseat
|
|
98
98
|
patch.should have_key('done')
|
99
99
|
end
|
100
100
|
end
|
101
|
-
|
101
|
+
|
102
102
|
describe "#add" do
|
103
|
-
|
103
|
+
before(:each) do
|
104
104
|
reset_test_queue!
|
105
|
-
doc_id = DB.save_doc(sample_doc)['id']
|
106
|
-
|
107
|
-
|
105
|
+
@doc_id = DB.save_doc(sample_doc)['id']
|
106
|
+
end
|
107
|
+
|
108
|
+
it "should add a document to the queue, given a doc id" do
|
109
|
+
@q.add @doc_id
|
110
|
+
DB.get(@doc_id).should have_key(Hotseat.config[:object_name])
|
111
|
+
end
|
112
|
+
|
113
|
+
it "should save changes made in the block" do
|
114
|
+
@q.add(@doc_id) do |doc|
|
115
|
+
doc['field'] = 'changed value'
|
116
|
+
doc['another_field'] = 'another value'
|
117
|
+
end
|
118
|
+
doc = DB.get(@doc_id)
|
119
|
+
doc['field'].should == 'changed value'
|
120
|
+
doc['another_field'].should == 'another value'
|
108
121
|
end
|
109
122
|
end
|
110
123
|
|
@@ -270,6 +283,16 @@ module Hotseat
|
|
270
283
|
doc = DB.get(@doc_id)
|
271
284
|
doc.should_not have_key(Hotseat.config[:object_name])
|
272
285
|
end
|
286
|
+
|
287
|
+
it "should save any changes made in the block" do
|
288
|
+
@q.remove(@doc_id) do |doc|
|
289
|
+
doc['field'] = 'changed value'
|
290
|
+
doc['another_field'] = 'another value'
|
291
|
+
end
|
292
|
+
doc = DB.get(@doc_id)
|
293
|
+
doc['field'].should == 'changed value'
|
294
|
+
doc['another_field'].should == 'another value'
|
295
|
+
end
|
273
296
|
end
|
274
297
|
|
275
298
|
describe "#remove_bulk" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hotseat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-08-
|
12
|
+
date: 2011-08-17 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: couchrest
|
16
|
-
requirement: &
|
16
|
+
requirement: &75234680 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.1.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *75234680
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &75234410 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *75234410
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: yard
|
38
|
-
requirement: &
|
38
|
+
requirement: &75234140 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *75234140
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
|
-
requirement: &
|
49
|
+
requirement: &75233890 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *75233890
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: jeweler
|
60
|
-
requirement: &
|
60
|
+
requirement: &75233580 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *75233580
|
69
69
|
description:
|
70
70
|
email: eladkehat@gmail.com
|
71
71
|
executables: []
|
@@ -103,7 +103,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
103
103
|
version: '0'
|
104
104
|
segments:
|
105
105
|
- 0
|
106
|
-
hash:
|
106
|
+
hash: 620751953
|
107
107
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
108
|
none: false
|
109
109
|
requirements:
|