class Riak::Crdt::InnerFlag

The {InnerFlag} is a boolean member of a {Map}. Since flag operations are extremely simple, this object simply provides internal API methods for {TypedCollection} to use.

@api private

Public Class Methods

delete() click to toggle source
# File lib/riak/crdt/inner_flag.rb, line 24
def self.delete
  Operation::Delete.new.tap do |op|
    op.type = :flag
  end
end
new(parent, value = false) click to toggle source
# File lib/riak/crdt/inner_flag.rb, line 9
def self.new(parent, value = false)
  ensure_boolean value

  return value
end
update(value) click to toggle source
# File lib/riak/crdt/inner_flag.rb, line 15
def self.update(value)
  ensure_boolean value

  Operation::Update.new.tap do |op|
    op.value = value
    op.type = :flag
  end
end

Private Class Methods

ensure_boolean(value) click to toggle source
# File lib/riak/crdt/inner_flag.rb, line 31
def self.ensure_boolean(value)
  return if value.is_a? TrueClass
  return if value.is_a? FalseClass

  raise FlagError, t('crdt.flag.not_boolean')
end