Class: Aerospike::Filter

Inherits:
Object
  • Object
show all
Defined in:
lib/aerospike/query/filter.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.Equal(bin_name, value) ⇒ Object



21
22
23
# File 'lib/aerospike/query/filter.rb', line 21

def self.Equal(bin_name, value)
  Filter.new(bin_name, value, value)
end

.Range(bin_name, from, to) ⇒ Object



25
26
27
# File 'lib/aerospike/query/filter.rb', line 25

def self.Range(bin_name, from, to)
  Filter.new(bin_name, from, to)
end

Instance Method Details

#estimate_sizeObject



29
30
31
# File 'lib/aerospike/query/filter.rb', line 29

def estimate_size
  return @name.bytesize + @begin.estimate_size + @end.estimate_size + 10
end

#write(buf, offset) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/aerospike/query/filter.rb', line 33

def write(buf, offset)
  # Write name.
  len = buf.write_binary(@name, offset+1)
  buf.write_byte(len, offset)
  offset += len + 1

  # Write particle type.
  buf.write_byte(@begin.type, offset)
  offset+=1

  # Write filter begin.
  len = @begin.write(buf, offset+4)
  buf.write_int32(len, offset)
  offset += len + 4

  # Write filter end.
  len = @end.write(buf, offset+4)
  buf.write_int32(len, offset)
  offset += len + 4

  offset
end