Class: Parse::Query::Condition

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

Instance Method Summary collapse

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

#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_sObject



239
240
241
242
243
244
245
246
247
248
# File 'lib/parse/query.rb', line 239

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