From 2158d592c074813471baa8fa20044b683bb156e6 Mon Sep 17 00:00:00 2001 From: Vladimir Meremyanin Date: Sat, 29 Jan 2011 14:40:39 +0800 Subject: implemented support for math operations in numeric attributes --- lib/arel/visitors/to_sql.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'lib/arel/visitors') diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb index a395b7f765..376d1460db 100644 --- a/lib/arel/visitors/to_sql.rb +++ b/lib/arel/visitors/to_sql.rb @@ -395,6 +395,22 @@ key on UpdateManager using UpdateManager#key= alias :visit_Time :quoted alias :visit_TrueClass :quoted + def visit_Arel_Nodes_Multiplication o + "#{visit o.left} * #{visit o.right}" + end + + def visit_Arel_Nodes_Division o + "#{visit o.left} / #{visit o.right}" + end + + def visit_Arel_Nodes_Addition o + "(#{visit o.left} + #{visit o.right})" + end + + def visit_Arel_Nodes_Subtraction o + "(#{visit o.left} - #{visit o.right})" + end + def visit_Array o o.empty? ? 'NULL' : o.map { |x| visit x }.join(', ') end -- cgit v1.2.3