Class: Riak::Crdt::Set::BatchSet
Instance Method Summary collapse
- #add(element) ⇒ Object
- #context? ⇒ Boolean
- #empty? ⇒ Boolean
- #include?(element) ⇒ Boolean
-
#initialize(base) ⇒ BatchSet
constructor
A new instance of BatchSet.
- #members ⇒ Object (also: #value)
- #operations ⇒ Object
- #remove(element) ⇒ Object (also: #delete)
- #to_a ⇒ Object
Constructor Details
Instance Method Details
#add(element) ⇒ Object
124 125 126 |
# File 'lib/riak/crdt/set.rb', line 124 def add(element) @adds.add element end |
#context? ⇒ Boolean
143 144 145 |
# File 'lib/riak/crdt/set.rb', line 143 def context? @base.context? end |
#empty? ⇒ Boolean
139 140 141 |
# File 'lib/riak/crdt/set.rb', line 139 def empty? members.empty? end |
#include?(element) ⇒ Boolean
135 136 137 |
# File 'lib/riak/crdt/set.rb', line 135 def include?(element) members.include? element end |
#members ⇒ Object Also known as: value
151 152 153 |
# File 'lib/riak/crdt/set.rb', line 151 def members (@base + @adds).subtract @removes end |
#operations ⇒ Object
157 158 159 160 161 162 |
# File 'lib/riak/crdt/set.rb', line 157 def operations Operation::Update.new.tap do |op| op.type = :set op.value = {add: @adds.to_a, remove: @removes.to_a} end end |
#remove(element) ⇒ Object Also known as: delete
128 129 130 131 |
# File 'lib/riak/crdt/set.rb', line 128 def remove(element) raise CrdtError::SetRemovalWithoutContextError.new unless context? @removes.add element end |
#to_a ⇒ Object
147 148 149 |
# File 'lib/riak/crdt/set.rb', line 147 def to_a members.to_a end |