Class: Aerospike::PredExp

Inherits:
Object
  • Object
show all
Defined in:
lib/aerospike/query/pred_exp.rb,
lib/aerospike/query/pred_exp/op.rb,
lib/aerospike/query/pred_exp/regex.rb,
lib/aerospike/query/pred_exp/and_or.rb,
lib/aerospike/query/pred_exp/regex_flags.rb,
lib/aerospike/query/pred_exp/string_value.rb,
lib/aerospike/query/pred_exp/integer_value.rb,
lib/aerospike/query/pred_exp/geo_json_value.rb

Direct Known Subclasses

AndOr, GeoJsonValue, IntegerValue, Op, Regex, StringValue

Defined Under Namespace

Modules: RegexFlags Classes: AndOr, GeoJsonValue, IntegerValue, Op, Regex, StringValue

Constant Summary collapse

AND =
1
OR =
2
NOT =
3
INTEGER_VALUE =
10
STRING_VALUE =
11
GEOJSON_VALUE =
12
INTEGER_BIN =
100
STRING_BIN =
101
GEOJSON_BIN =
102
LIST_BIN =
103
MAP_BIN =
104
INTEGER_VAR =
120
STRING_VAR =
121
GEOJSON_VAR =
122
RECSIZE =
150
LAST_UPDATE =
151
VOID_TIME =
152
INTEGER_EQUAL =
200
INTEGER_UNEQUAL =
201
INTEGER_GREATER =
202
INTEGER_GREATEREQ =
203
INTEGER_LESS =
204
INTEGER_LESSEQ =
205
STRING_EQUAL =
210
STRING_UNEQUAL =
211
STRING_REGEX =
212
GEOJSON_WITHIN =
220
GEOJSON_CONTAINS =
221
LIST_ITERATE_OR =
250
MAPKEY_ITERATE_OR =
251
MAPVAL_ITERATE_OR =
252
LIST_ITERATE_AND =
253
MAPKEY_ITERATE_AND =
254
MAPVAL_ITERATE_AND =
255

Class Method Summary collapse

Class Method Details

.and(nexp) ⇒ Object



40
41
42
# File 'lib/aerospike/query/pred_exp.rb', line 40

def self.and(nexp)
  AndOr.new(AND, nexp)
end

.estimate_size(predexp) ⇒ Object



179
180
181
182
# File 'lib/aerospike/query/pred_exp.rb', line 179

def self.estimate_size(predexp)
  return 0 unless predexp
  predexp.map(&:estimate_size).inject { |sum, size| sum + size }
end

.geojson_bin(name) ⇒ Object



73
74
75
# File 'lib/aerospike/query/pred_exp.rb', line 73

def self.geojson_bin(name)
  StringValue.new(name, GEOJSON_BIN)
end

.geojson_containsObject



149
150
151
# File 'lib/aerospike/query/pred_exp.rb', line 149

def self.geojson_contains
  Op.new(GEOJSON_CONTAINS)
end

.geojson_value(value) ⇒ Object

Raises:

  • (ArgumentError)


60
61
62
63
# File 'lib/aerospike/query/pred_exp.rb', line 60

def self.geojson_value(value)
  raise(ArgumentError, "value must be a GeoJSON object!") unless value.is_a?(Aerospike::GeoJSON)
  GeoJsonValue.new(value.to_s, GEOJSON_VALUE)
end

.geojson_var(name) ⇒ Object



93
94
95
# File 'lib/aerospike/query/pred_exp.rb', line 93

def self.geojson_var(name)
  StringValue.new(name, GEOJSON_VAR)
end

.geojson_withinObject



145
146
147
# File 'lib/aerospike/query/pred_exp.rb', line 145

def self.geojson_within
  Op.new(GEOJSON_WITHIN)
end

.integer_bin(name) ⇒ Object



65
66
67
# File 'lib/aerospike/query/pred_exp.rb', line 65

def self.integer_bin(name)
  StringValue.new(name, INTEGER_BIN)
end

.integer_equalObject



109
110
111
# File 'lib/aerospike/query/pred_exp.rb', line 109

def self.integer_equal
  Op.new(INTEGER_EQUAL)
end

.integer_greaterObject



117
118
119
# File 'lib/aerospike/query/pred_exp.rb', line 117

def self.integer_greater
  Op.new(INTEGER_GREATER)
end

.integer_greater_eqObject



121
122
123
# File 'lib/aerospike/query/pred_exp.rb', line 121

def self.integer_greater_eq
  Op.new(INTEGER_GREATEREQ)
end

.integer_lessObject



125
126
127
# File 'lib/aerospike/query/pred_exp.rb', line 125

def self.integer_less
  Op.new(INTEGER_LESS)
end

.integer_less_eqObject



129
130
131
# File 'lib/aerospike/query/pred_exp.rb', line 129

def self.integer_less_eq
  Op.new(INTEGER_LESSEQ)
end

.integer_unequalObject



113
114
115
# File 'lib/aerospike/query/pred_exp.rb', line 113

def self.integer_unequal
  Op.new(INTEGER_UNEQUAL)
end

.integer_value(value) ⇒ Object



52
53
54
# File 'lib/aerospike/query/pred_exp.rb', line 52

def self.integer_value(value)
  IntegerValue.new(value, INTEGER_VALUE)
end

.integer_var(name) ⇒ Object



85
86
87
# File 'lib/aerospike/query/pred_exp.rb', line 85

def self.integer_var(name)
  StringValue.new(name, INTEGER_VAR)
end

.last_updateObject



101
102
103
# File 'lib/aerospike/query/pred_exp.rb', line 101

def self.last_update
  Op.new(LAST_UPDATE)
end

.list_bin(name) ⇒ Object



77
78
79
# File 'lib/aerospike/query/pred_exp.rb', line 77

def self.list_bin(name)
  StringValue.new(name, LIST_BIN)
end

.list_iterate_and(var_name) ⇒ Object



157
158
159
# File 'lib/aerospike/query/pred_exp.rb', line 157

def self.list_iterate_and(var_name)
  StringValue.new(var_name, LIST_ITERATE_AND)
end

.list_iterate_or(var_name) ⇒ Object



153
154
155
# File 'lib/aerospike/query/pred_exp.rb', line 153

def self.list_iterate_or(var_name)
  StringValue.new(var_name, LIST_ITERATE_OR)
end

.map_bin(name) ⇒ Object



81
82
83
# File 'lib/aerospike/query/pred_exp.rb', line 81

def self.map_bin(name)
  StringValue.new(name, MAP_BIN)
end

.mapkey_iterate_and(var_name) ⇒ Object



165
166
167
# File 'lib/aerospike/query/pred_exp.rb', line 165

def self.mapkey_iterate_and(var_name)
  StringValue.new(var_name, MAPKEY_ITERATE_AND)
end

.mapkey_iterate_or(var_name) ⇒ Object



161
162
163
# File 'lib/aerospike/query/pred_exp.rb', line 161

def self.mapkey_iterate_or(var_name)
  StringValue.new(var_name, MAPKEY_ITERATE_OR)
end

.mapval_iterate_and(var_name) ⇒ Object



173
174
175
# File 'lib/aerospike/query/pred_exp.rb', line 173

def self.mapval_iterate_and(var_name)
  StringValue.new(var_name, MAPVAL_ITERATE_AND)
end

.mapval_iterate_or(var_name) ⇒ Object



169
170
171
# File 'lib/aerospike/query/pred_exp.rb', line 169

def self.mapval_iterate_or(var_name)
  StringValue.new(var_name, MAPVAL_ITERATE_OR)
end

.notObject



48
49
50
# File 'lib/aerospike/query/pred_exp.rb', line 48

def self.not
  Op.new(NOT)
end

.or(nexp) ⇒ Object



44
45
46
# File 'lib/aerospike/query/pred_exp.rb', line 44

def self.or(nexp)
  AndOr.new(OR, nexp)
end

.record_sizeObject



97
98
99
# File 'lib/aerospike/query/pred_exp.rb', line 97

def self.record_size
  Op.new(RECSIZE)
end

.string_bin(name) ⇒ Object



69
70
71
# File 'lib/aerospike/query/pred_exp.rb', line 69

def self.string_bin(name)
  StringValue.new(name, STRING_BIN)
end

.string_equalObject



133
134
135
# File 'lib/aerospike/query/pred_exp.rb', line 133

def self.string_equal
  Op.new(STRING_EQUAL)
end

.string_regex(flags) ⇒ Object



141
142
143
# File 'lib/aerospike/query/pred_exp.rb', line 141

def self.string_regex(flags)
  Regex.new(STRING_REGEX, flags)
end

.string_unequalObject



137
138
139
# File 'lib/aerospike/query/pred_exp.rb', line 137

def self.string_unequal
  Op.new(STRING_UNEQUAL)
end

.string_value(value) ⇒ Object



56
57
58
# File 'lib/aerospike/query/pred_exp.rb', line 56

def self.string_value(value)
  StringValue.new(value, STRING_VALUE)
end

.string_var(name) ⇒ Object



89
90
91
# File 'lib/aerospike/query/pred_exp.rb', line 89

def self.string_var(name)
  StringValue.new(name, STRING_VAR)
end

.void_timeObject



105
106
107
# File 'lib/aerospike/query/pred_exp.rb', line 105

def self.void_time
  Op.new(VOID_TIME)
end

.write(predexp, buffer, offset) ⇒ Object



184
185
186
187
188
189
190
# File 'lib/aerospike/query/pred_exp.rb', line 184

def self.write(predexp, buffer, offset)
  predexp.each do |p|
    offset = p.write(buffer, offset)
  end

  offset
end