aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorNick Kallen <nkallen@nick-kallens-computer-2.local>2008-04-18 15:14:39 -0700
committerNick Kallen <nkallen@nick-kallens-computer-2.local>2008-04-18 15:14:39 -0700
commitcaf89fe3415982fd0b593ffcda9a58a083aa7e78 (patch)
treee9beb5d3a150d488c0d1e10492f65e1c44efb1ed /lib
parent2a9117d8546941b90126d1548b0bbff85fca145a (diff)
downloadrails-caf89fe3415982fd0b593ffcda9a58a083aa7e78.tar.gz
rails-caf89fe3415982fd0b593ffcda9a58a083aa7e78.tar.bz2
rails-caf89fe3415982fd0b593ffcda9a58a083aa7e78.zip
in fact, when doing subsequent orderings, we assume that the previous orderings have taken effect and therefore where the new ordering finds things equal, the previous ordering should take effect
Diffstat (limited to 'lib')
-rw-r--r--lib/arel/relations/order.rb14
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/arel/relations/order.rb b/lib/arel/relations/order.rb
index b1454973c8..662d3740df 100644
--- a/lib/arel/relations/order.rb
+++ b/lib/arel/relations/order.rb
@@ -1,15 +1,19 @@
module Arel
class Order < Compound
- attr_reader :orders
-
- def initialize(relation, *orders)
- @relation, @orders = relation, orders.collect { |o| o.bind(relation) }
+ attr_reader :orderings
+
+ def initialize(relation, *orderings)
+ @relation, @orderings = relation, orderings.collect { |o| o.bind(relation) }
end
def ==(other)
self.class == other.class and
relation == other.relation and
- orders == other.orders
+ orderings == other.orderings
+ end
+
+ def orders
+ orderings + relation.orders
end
end
end \ No newline at end of file