Methods
Included Modules
Public Instance methods
[ show source ]
# File lib/og/adapter/mysql/utils.rb, line 8
8: def escape(str)
9: return nil unless str
10: return Mysql.quote(str.to_s)
11: end
Escape the various Ruby types.
[ show source ]
# File lib/og/adapter/mysql/utils.rb, line 15
15: def quote(vals)
16: vals = [vals] unless vals.is_a?(Array)
17: quoted = vals.inject('') do |s, val|
18: s += case val
19: when Fixnum, Integer, Float
20: val ? val.to_s : 'NULL'
21: when String
22: val ? "'#{escape(val)}'" : 'NULL'
23: when Time
24: val ? "'#{timestamp(val)}'" : 'NULL'
25: when Date
26: val ? "'#{date(val)}'" : 'NULL'
27: when TrueClass, FalseClass
28: val ? "'1'" : 'NULL'
29: else
30: # gmosx: keep the '' for nil symbols.
31: val ? escape(val.to_yaml) : ''
32: end + ','
33: end
34: quoted.chop!
35: vals.size > 1 ? "(#{quoted})" : quoted
36: end