Skip to content

Commit 4b3da9a

Browse files
committed
Restored old AtomicBoolean behaviour and fixed failing tests
1 parent 5ec1c54 commit 4b3da9a

File tree

2 files changed

+14
-16
lines changed

2 files changed

+14
-16
lines changed

lib/concurrent/atomic/atomic_boolean.rb

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -75,26 +75,24 @@ def false?
7575
#
7676
# Explicitly sets the value to true.
7777
#
78-
# @return [Boolean] true if the value changed
78+
# @return [nil]
7979
def make_true
8080
@mutex.lock
81-
old = @value
8281
@value = true
8382
@mutex.unlock
84-
!old
83+
nil
8584
end
8685

8786
# @!macro [attach] atomic_boolean_method_make_false
8887
#
8988
# Explicitly sets the value to false.
9089
#
91-
# @return [Boolean] true if the value changed
90+
# @return [nil]
9291
def make_false
9392
@mutex.lock
94-
old = @value
9593
@value = false
9694
@mutex.unlock
97-
old
95+
nil
9896
end
9997
end
10098

@@ -123,12 +121,12 @@ def value=(value)
123121

124122
# @!macro [attach] atomic_boolean_method_is_true
125123
def true?
126-
@atomic.get == true
124+
@atomic.get
127125
end
128126

129127
# @!macro [attach] atomic_boolean_method_is_false
130128
def false?
131-
@atomic.get != true
129+
!@atomic.get
132130
end
133131

134132
# @!macro atomic_boolean_method_make_true

spec/concurrent/atomic/atomic_boolean_spec.rb

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -75,30 +75,30 @@
7575

7676
describe '#make_true' do
7777

78-
it 'makes a false value true and returns true' do
78+
it 'makes a false value true and returns nil' do
7979
subject = described_class.new(false)
80-
subject.make_true.should be_true
80+
subject.make_true.should be_nil
8181
subject.value.should be_true
8282
end
8383

84-
it 'keeps a true value true and returns false' do
84+
it 'keeps a true value true and returns nil' do
8585
subject = described_class.new(true)
86-
subject.make_true.should be_false
86+
subject.make_true.should be_nil
8787
subject.value.should be_true
8888
end
8989
end
9090

9191
describe '#make_false' do
9292

93-
it 'makes a true value false and returns true' do
93+
it 'makes a true value false and returns nil' do
9494
subject = described_class.new(true)
95-
subject.make_false.should be_true
95+
subject.make_false.should be_nil
9696
subject.value.should be_false
9797
end
9898

99-
it 'keeps a false value false and returns false' do
99+
it 'keeps a false value false and returns nil' do
100100
subject = described_class.new(false)
101-
subject.make_false.should be_false
101+
subject.make_false.should be_nil
102102
subject.value.should be_false
103103
end
104104
end

0 commit comments

Comments
 (0)