Method: Baza::BaseSqlDriver#sql_make_where
- Defined in:
- lib/baza/base_sql_driver.rb
#sql_make_where(arr_terms, _driver = nil) ⇒ Object
Internally used to generate SQL.
Examples
sql = db.sql_make_where(“Doe”, driver_obj)
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 |
# File 'lib/baza/base_sql_driver.rb', line 220 def sql_make_where(arr_terms, _driver = nil) sql = "" first = true arr_terms.each do |key, value| if first first = false else sql << " AND " end if value.is_a?(Array) raise "Array for column '#{key}' was empty." if value.empty? values = value.map { |v| "'#{escape(v)}'" }.join(",") sql << "#{quote_column(key)} IN (#{values})" elsif value.is_a?(Hash) raise "Dont know how to handle hash." else sql << "#{quote_column(key)} = #{quote_value(value)}" end end sql end |