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:



241
242
243
244
245
246
247
248
249
# File 'lib/aerospike/value/value.rb', line 241

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



251
252
253
# File 'lib/aerospike/value/value.rb', line 251

def estimate_size
  @bytes.bytesize
end

#getObject



271
272
273
# File 'lib/aerospike/value/value.rb', line 271

def get
  @list
end

#pack(packer) ⇒ Object



260
261
262
263
264
265
# File 'lib/aerospike/value/value.rb', line 260

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

#to_bytesObject



275
276
277
# File 'lib/aerospike/value/value.rb', line 275

def to_bytes
  @bytes
end

#to_sObject



279
280
281
# File 'lib/aerospike/value/value.rb', line 279

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

#typeObject



267
268
269
# File 'lib/aerospike/value/value.rb', line 267

def type
  Aerospike::ParticleType::LIST
end

#write(buffer, offset) ⇒ Object



255
256
257
258
# File 'lib/aerospike/value/value.rb', line 255

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