119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
# File 'lib/arel_extensions/visitors/mssql.rb', line 119
def quote value, column = nil
case value
when Arel::Nodes::SqlLiteral
value
when String, Symbol, ActiveSupport::Multibyte::Chars
"'#{quote_string(value.to_s)}'"
when true
quoted_true
when false
quoted_false
when nil
'NULL'
when BigDecimal
value.to_s('F')
when Numeric, ActiveSupport::Duration
value.to_s
when Arel::VERSION.to_i > 6 && ActiveRecord::Type::Time::Value
"'#{quoted_time(value)}'"
when Date, Time
"'#{quoted_date(value)}'"
when Class
"'#{value}'"
else
raise TypeError, "can't quote #{value.class.name}"
end
end
|