Class: Parse::Query::Condition
- Inherits:
-
Object
- Object
- Parse::Query::Condition
- Defined in:
- lib/parse/query.rb
Instance Method Summary collapse
- #exists(val = true) ⇒ Object
-
#initialize(query, column_name) ⇒ Condition
constructor
A new instance of Condition.
- #max_distance_in_kilometers(kilometers) ⇒ Object
- #max_distance_in_miles(miles) ⇒ Object
- #max_distance_in_radians(radians) ⇒ Object
-
#near_sphere(geo_point) ⇒ Object
conditions for GeoPoints.
- #or(cond) ⇒ Object
- #to_s ⇒ Object
- #within(southwest_geo_point, northeast_geo_point) ⇒ Object
Constructor Details
#initialize(query, column_name) ⇒ Condition
Returns a new instance of Condition.
171 172 173 174 175 |
# File 'lib/parse/query.rb', line 171 def initialize query, column_name @query = query @column_name = column_name @conditions = [] end |
Instance Method Details
#exists(val = true) ⇒ Object
203 204 205 206 |
# File 'lib/parse/query.rb', line 203 def exists val=true @conditions.push ['$exists', val] self end |
#max_distance_in_kilometers(kilometers) ⇒ Object
251 252 253 254 |
# File 'lib/parse/query.rb', line 251 def max_distance_in_kilometers kilometers @conditions.push ['$maxDistanceInKilometers', kilometers] self end |
#max_distance_in_miles(miles) ⇒ Object
246 247 248 249 |
# File 'lib/parse/query.rb', line 246 def max_distance_in_miles miles @conditions.push ['$maxDistanceInMiles', miles] self end |
#max_distance_in_radians(radians) ⇒ Object
256 257 258 259 |
# File 'lib/parse/query.rb', line 256 def max_distance_in_radians radians @conditions.push ['$maxDistanceInRadians', radians] self end |
#near_sphere(geo_point) ⇒ Object
conditions for GeoPoints
241 242 243 244 |
# File 'lib/parse/query.rb', line 241 def near_sphere geo_point @conditions.push ['$nearSphere', geo_point] self end |
#or(cond) ⇒ Object
230 231 232 233 234 235 236 237 |
# File 'lib/parse/query.rb', line 230 def or cond # quite dirty!! @query.where.delete self @query.where.delete cond or_cond = Condition.new @query, '$or' or_cond.eq [self, cond] @query.where.push or_cond end |
#to_s ⇒ Object
266 267 268 269 270 271 272 273 274 275 |
# File 'lib/parse/query.rb', line 266 def to_s if @conditions.size == 1 && !@conditions[0].is_a?(Array) "#{@column_name.to_s.inspect}:#{condition_to_s @conditions[0]}" elsif @conditions.size == 1 && @conditions[0][0].to_s[0] != '$' # $or "#{@column_name.to_s.inspect}:#{condition_to_s @conditions[0]}" else "#{@column_name.to_s.inspect}:{#{@conditions.map{|c| condition_to_s c}.join ','}}" end end |
#within(southwest_geo_point, northeast_geo_point) ⇒ Object
261 262 263 264 |
# File 'lib/parse/query.rb', line 261 def within southwest_geo_point, northeast_geo_point @conditions.push WithinCondition.new(southwest_geo_point, northeast_geo_point) self end |