Class: Riak::Crdt::GrowOnlySet::BatchGrowOnlySet

Inherits:
Object
  • Object
show all
Defined in:
lib/riak/crdt/grow_only_set.rb

Direct Known Subclasses

Set::BatchSet

Instance Method Summary collapse

Constructor Details

#initialize(base) ⇒ BatchGrowOnlySet

Returns a new instance of BatchGrowOnlySet.



120
121
122
123
# File 'lib/riak/crdt/grow_only_set.rb', line 120

def initialize(base)
  @base = base
  @adds = ::Set.new
end

Instance Method Details

#add(element) ⇒ Object



125
126
127
# File 'lib/riak/crdt/grow_only_set.rb', line 125

def add(element)
  @adds.add element
end

#context?Boolean

Returns:

  • (Boolean)


137
138
139
# File 'lib/riak/crdt/grow_only_set.rb', line 137

def context?
  @base.context?
end

#empty?Boolean

Returns:

  • (Boolean)


133
134
135
# File 'lib/riak/crdt/grow_only_set.rb', line 133

def empty?
  members.empty?
end

#include?(element) ⇒ Boolean

Returns:

  • (Boolean)


129
130
131
# File 'lib/riak/crdt/grow_only_set.rb', line 129

def include?(element)
  members.include? element
end

#membersObject Also known as: value



145
146
147
# File 'lib/riak/crdt/grow_only_set.rb', line 145

def members
  @base + @adds
end

#operationsObject



151
152
153
154
155
156
# File 'lib/riak/crdt/grow_only_set.rb', line 151

def operations
  Operation::Update.new.tap do |op|
    op.type = :gset
    op.value = {add: @adds.to_a}
  end
end

#to_aObject



141
142
143
# File 'lib/riak/crdt/grow_only_set.rb', line 141

def to_a
  members.to_a
end