diff options
author | Ernie Miller <ernie@metautonomo.us> | 2010-09-29 20:08:57 -0400 |
---|---|---|
committer | Ernie Miller <ernie@metautonomo.us> | 2010-09-29 20:08:57 -0400 |
commit | eef61ab909b614ce6f2d100cfb50044c063bc24a (patch) | |
tree | eaa50f239fab9b1b3ed88be89ba743b5724fb19a /lib/arel/visitors | |
parent | f5b76c220ed6583628a84fd899fbb24c39c997ee (diff) | |
download | rails-eef61ab909b614ce6f2d100cfb50044c063bc24a.tar.gz rails-eef61ab909b614ce6f2d100cfb50044c063bc24a.tar.bz2 rails-eef61ab909b614ce6f2d100cfb50044c063bc24a.zip |
Support Attribute#asc and Attribute#desc to create orderings
Diffstat (limited to 'lib/arel/visitors')
-rw-r--r-- | lib/arel/visitors/dot.rb | 5 | ||||
-rw-r--r-- | lib/arel/visitors/to_sql.rb | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/lib/arel/visitors/dot.rb b/lib/arel/visitors/dot.rb index 655c75aab9..5202c5127e 100644 --- a/lib/arel/visitors/dot.rb +++ b/lib/arel/visitors/dot.rb @@ -32,6 +32,11 @@ module Arel visit_edge o, "expr" end + def visit_Arel_Nodes_Ordering o + visit_edge o, "expr" + visit_edge o, "direction" + end + def visit_Arel_Nodes_TableAlias o visit_edge o, "name" visit_edge o, "relation" diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb index 405578f604..17779b4037 100644 --- a/lib/arel/visitors/to_sql.rb +++ b/lib/arel/visitors/to_sql.rb @@ -107,6 +107,10 @@ module Arel "(#{visit o.expr})" end + def visit_Arel_Nodes_Ordering o + "#{visit o.expr} #{o.descending? ? 'DESC' : 'ASC'}" + end + def visit_Arel_Nodes_Group o visit o.expr end |