diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2011-03-21 14:58:15 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2011-03-21 14:58:15 -0700 |
commit | 83d045d2d8881e4310f0f54376a5e04d395f3c7a (patch) | |
tree | a2e88cd0c5d1aa629ac5702225c5ea48b807cb9f /lib/arel/visitors | |
parent | 856fd75c9b6defb7711f93e6ecda2932e98c4113 (diff) | |
parent | 05887fc406820f2e8fecc5cedcc42b87cf9f0ab1 (diff) | |
download | rails-83d045d2d8881e4310f0f54376a5e04d395f3c7a.tar.gz rails-83d045d2d8881e4310f0f54376a5e04d395f3c7a.tar.bz2 rails-83d045d2d8881e4310f0f54376a5e04d395f3c7a.zip |
Merge branch 'master' of github.com:rails/arel
* 'master' of github.com:rails/arel:
Make as factory method convert alias name to SqlLiteral
Replace MathOperation with InfixOperation to support more operators
Diffstat (limited to 'lib/arel/visitors')
-rw-r--r-- | lib/arel/visitors/to_sql.rb | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb index 6bf5a3bb6b..1c91d7f5e6 100644 --- a/lib/arel/visitors/to_sql.rb +++ b/lib/arel/visitors/to_sql.rb @@ -374,21 +374,14 @@ 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}" + def visit_Arel_Nodes_InfixOperation o + "#{visit o.left} #{o.operator} #{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 + alias :visit_Arel_Nodes_Addition :visit_Arel_Nodes_InfixOperation + alias :visit_Arel_Nodes_Subtraction :visit_Arel_Nodes_InfixOperation + alias :visit_Arel_Nodes_Multiplication :visit_Arel_Nodes_InfixOperation + alias :visit_Arel_Nodes_Division :visit_Arel_Nodes_InfixOperation def visit_Array o o.empty? ? 'NULL' : o.map { |x| visit x }.join(', ') |