File tree Expand file tree Collapse file tree 2 files changed +14
-3
lines changed Expand file tree Collapse file tree 2 files changed +14
-3
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,12 @@ def add_observer(*args, &block)
10
10
observers . add_observer ( *args , &block )
11
11
end
12
12
13
+ # @return [Observable] self
14
+ def with_observer ( *args , &block )
15
+ add_observer *args , &block
16
+ self
17
+ end
18
+
13
19
# @return [Object] the deleted observer
14
20
def delete_observer ( *args )
15
21
observers . delete_observer ( *args )
Original file line number Diff line number Diff line change @@ -23,14 +23,19 @@ module Concurrent
23
23
end
24
24
25
25
it 'uses the given observer set' do
26
- expected = CopyOnWriteObserverSet . new
26
+ expected = CopyOnWriteObserverSet . new
27
27
subject . observers = expected
28
28
subject . observers . should eql expected
29
29
end
30
30
31
31
it 'delegates #add_observer' do
32
- observer_set . should_receive ( :add_observer ) . with ( :observer )
33
- subject . add_observer ( :observer )
32
+ observer_set . should_receive ( :add_observer ) . with ( :observer ) . and_return { |v | v }
33
+ subject . add_observer ( :observer ) . should eq :observer
34
+ end
35
+
36
+ it 'delegates #with_observer' do
37
+ observer_set . should_receive ( :add_observer ) . with ( :observer ) . and_return { |v | v }
38
+ subject . with_observer ( :observer ) . should eq subject
34
39
end
35
40
36
41
it 'delegates #delete_observer' do
You can’t perform that action at this time.
0 commit comments