Class: Aerospike::ListValue

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

Overview

List value. Supported by Aerospike 3 servers only.

Instance Method Summary collapse

Methods inherited from Value

get_packer, of, put_packer

Constructor Details

#initialize(list) ⇒ ListValue

:nodoc:



288
289
290
291
292
293
294
295
296
# File 'lib/aerospike/value/value.rb', line 288

def initialize(list)
  @list = list || nil
  packer = Value.get_packer
  pack(packer)
  @bytes = packer.to_s.force_encoding('binary')
  Value.put_packer(packer)

  self
end

Instance Method Details

#estimate_sizeObject



298
299
300
# File 'lib/aerospike/value/value.rb', line 298

def estimate_size
  @bytes.bytesize
end

#getObject



318
319
320
# File 'lib/aerospike/value/value.rb', line 318

def get
  @list
end

#pack(packer) ⇒ Object



307
308
309
310
311
312
# File 'lib/aerospike/value/value.rb', line 307

def pack(packer)
  packer.write_array_header(@list.length)
  for val in @list
    Value.of(val).pack(packer)
  end
end

#to_bytesObject



322
323
324
# File 'lib/aerospike/value/value.rb', line 322

def to_bytes
  @bytes
end

#to_sObject



326
327
328
# File 'lib/aerospike/value/value.rb', line 326

def to_s
  @list.map{|v| v.to_s}.to_s
end

#typeObject



314
315
316
# File 'lib/aerospike/value/value.rb', line 314

def type
  Aerospike::ParticleType::LIST
end

#write(buffer, offset) ⇒ Object



302
303
304
305
# File 'lib/aerospike/value/value.rb', line 302

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