class Cyby::Kintone::Query::Where

Public Class Methods

new(cond = "", *params) click to toggle source
# File lib/cyby/kintone/query/where.rb, line 5
def initialize(cond = "", *params)
  @cond = cond
  @params = params
end

Public Instance Methods

param_to_s(param) click to toggle source
# File lib/cyby/kintone/query/where.rb, line 28
def param_to_s(param)
  case param
  when String, Date, DateTime
    '"' + param.to_s + '"'
  when Time
    '"' + param.strftime("%Y-%m-%dT%H:%M%:z") + '"'
  when Array
    '("' + param.join('","') + '")'
  else
    param.to_s
  end
end
to_query() click to toggle source
# File lib/cyby/kintone/query/where.rb, line 10
def to_query
  if @params.empty?
    @cond
  else
    conds = @cond.split("?")
    unless conds.count == @params.count
      fail "Condition params count mismatch!"
    end
    i = 0
    cond = ""
    while i < conds.count
      cond += conds[i] + param_to_s(@params[i])
      i += 1
    end
    cond
  end
end