Class: Aerospike::MapValue
- Inherits:
-
Value
- Object
- Value
- Aerospike::MapValue
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
get_packer, of, put_packer
Constructor Details
#initialize(vmap) ⇒ MapValue
338
339
340
341
342
343
344
345
346
347
|
# File 'lib/aerospike/value/value.rb', line 338
def initialize(vmap)
@vmap = vmap || {}
packer = Value.get_packer
pack(packer)
@bytes = packer.to_s.force_encoding('binary')
Value.put_packer(packer)
self
end
|
Instance Method Details
#estimate_size ⇒ Object
349
350
351
|
# File 'lib/aerospike/value/value.rb', line 349
def estimate_size
@bytes.bytesize
end
|
#get ⇒ Object
371
372
373
|
# File 'lib/aerospike/value/value.rb', line 371
def get
@vmap
end
|
#pack(packer) ⇒ Object
358
359
360
361
362
363
364
365
|
# File 'lib/aerospike/value/value.rb', line 358
def pack(packer)
packer.(@vmap.length)
for key, val in @vmap
Value.of(key).pack(packer)
Value.of(val).pack(packer)
end
end
|
#to_bytes ⇒ Object
375
376
377
|
# File 'lib/aerospike/value/value.rb', line 375
def to_bytes
@bytes
end
|
#to_s ⇒ Object
379
380
381
|
# File 'lib/aerospike/value/value.rb', line 379
def to_s
@vmap.map{|k, v| "#{k.to_s} => #{v.to_s}" }.to_s
end
|
#write(buffer, offset) ⇒ Object
353
354
355
356
|
# File 'lib/aerospike/value/value.rb', line 353
def write(buffer, offset)
buffer.write_binary(@bytes, offset)
@bytes.bytesize
end
|