class Quickbooks::Util::QueryBuilder
Constants
- VALUE_QUOTE
Public Class Methods
new()
click to toggle source
# File lib/quickbooks/util/query_builder.rb, line 9 def initialize end
Public Instance Methods
clause(field, operator, value)
click to toggle source
# File lib/quickbooks/util/query_builder.rb, line 12 def clause(field, operator, value) value = case value when DateTime, Time value.iso8601 when Date value.strftime('%Y-%m-%d') when Array value = value.map{|v| v.to_s.gsub("'", "\\\\'") } else # escape single quotes with an escaped backslash value = value.gsub("'", "\\\\'") end if operator.downcase == 'in' && value.is_a?(Array) value = value.map{|v| "#{VALUE_QUOTE}#{v}#{VALUE_QUOTE}"} "#{field} #{operator} (#{value.join(', ')})" else "#{field} #{operator} #{VALUE_QUOTE}#{value}#{VALUE_QUOTE}" end end