Sha256: 3d38a57f4a66d8ff57bf23f48d26de02b651ac82d0aab6f5bc134103f4baea50
Contents?: true
Size: 1.31 KB
Versions: 1
Compression:
Stored size: 1.31 KB
Contents
module Riak module Crdt # A map that exists inside a {TypedCollection} inside another map. class InnerMap attr_reader :counters, :flags, :maps, :registers, :sets attr_accessor :name # The parent of this counter. # # @api private attr_reader :parent # @api private def initialize(parent, value={}) @parent = parent @value = value.symbolize_keys initialize_collections end # @api private def operate(inner_operation) wrapped_operation = Operation::Update.new.tap do |op| op.value = inner_operation op.type = :map end @parent.operate(name, wrapped_operation) end # @api private def self.delete Operation::Delete.new.tap do |op| op.type = :map end end def context? @parent.context? end private def initialize_collections @counters = TypedCollection.new InnerCounter, self, @value[:counters] @flags = TypedCollection.new InnerFlag, self, @value[:flags] @maps = TypedCollection.new InnerMap, self, @value[:maps] @registers = TypedCollection.new InnerRegister, self, @value[:registers] @sets = TypedCollection.new InnerSet, self, @value[:sets] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
riak-client-2.0.0.rc1 | lib/riak/crdt/inner_map.rb |