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

of

Constructor Details

#initialize(list) ⇒ ListValue

:nodoc:



275
276
277
278
279
280
281
282
# File 'lib/aerospike/value/value.rb', line 275

def initialize(list)
  @list = list || nil
  Packer.use do |packer|
    pack(packer)
    @bytes = packer.bytes
  end
  self
end

Instance Method Details

#estimate_sizeObject



284
285
286
# File 'lib/aerospike/value/value.rb', line 284

def estimate_size
  @bytes.bytesize
end

#getObject



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

def get
  @list
end

#pack(packer) ⇒ Object



293
294
295
296
297
298
# File 'lib/aerospike/value/value.rb', line 293

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

#to_bytesObject



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

def to_bytes
  @bytes
end

#to_sObject



312
313
314
# File 'lib/aerospike/value/value.rb', line 312

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

#typeObject



300
301
302
# File 'lib/aerospike/value/value.rb', line 300

def type
  Aerospike::ParticleType::LIST
end

#write(buffer, offset) ⇒ Object



288
289
290
291
# File 'lib/aerospike/value/value.rb', line 288

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