Class: Aerospike::MapValue

Inherits:
Value
  • Object
show all
Defined in:
lib/aerospike/value/value.rb

Overview

Map value. Supported by Aerospike 3+ servers only.

Instance Method Summary collapse

Methods inherited from Value

of, validate_hash_key

Constructor Details

#initialize(vmap) ⇒ MapValue

:nodoc:



427
428
429
# File 'lib/aerospike/value/value.rb', line 427

def initialize(vmap)
  @vmap = vmap || {}
end

Instance Method Details

#estimate_sizeObject



431
432
433
# File 'lib/aerospike/value/value.rb', line 431

def estimate_size
  bytes.bytesize
end

#getObject



454
455
456
# File 'lib/aerospike/value/value.rb', line 454

def get
  @vmap
end

#pack(packer) ⇒ Object



440
441
442
443
444
445
446
447
448
# File 'lib/aerospike/value/value.rb', line 440

def pack(packer)
  packer.write_map_header(@vmap.length)
  for key, val in @vmap
    Value.validate_hash_key(key)

    Value.of(key).pack(packer)
    Value.of(val).pack(packer)
  end
end

#to_bytesObject



458
459
460
# File 'lib/aerospike/value/value.rb', line 458

def to_bytes
  bytes
end

#to_sObject



462
463
464
# File 'lib/aerospike/value/value.rb', line 462

def to_s
  @vmap.map { |k, v| "#{k.to_s} => #{v.to_s}" }.to_s
end

#typeObject



450
451
452
# File 'lib/aerospike/value/value.rb', line 450

def type
  Aerospike::ParticleType::MAP
end

#write(buffer, offset) ⇒ Object



435
436
437
438
# File 'lib/aerospike/value/value.rb', line 435

def write(buffer, offset)
  buffer.write_binary(bytes, offset)
  bytes.bytesize
end