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
291
292
293
294
295
296
297
298
299
300
|
# File 'lib/aerospike/value/value.rb', line 291
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
302
303
304
|
# File 'lib/aerospike/value/value.rb', line 302
def estimate_size
@bytes.bytesize
end
|
#get ⇒ Object
324
325
326
|
# File 'lib/aerospike/value/value.rb', line 324
def get
@vmap
end
|
#pack(packer) ⇒ Object
311
312
313
314
315
316
317
318
|
# File 'lib/aerospike/value/value.rb', line 311
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
328
329
330
|
# File 'lib/aerospike/value/value.rb', line 328
def to_bytes
@bytes
end
|
#to_s ⇒ Object
332
333
334
|
# File 'lib/aerospike/value/value.rb', line 332
def to_s
@vmap.map{|k, v| "#{k.to_s} => #{v.to_s}" }.to_s
end
|
#write(buffer, offset) ⇒ Object
306
307
308
309
|
# File 'lib/aerospike/value/value.rb', line 306
def write(buffer, offset)
buffer.write_binary(@bytes, offset)
@bytes.bytesize
end
|