diff options
Diffstat (limited to 'lib/arel/algebra/ordering.rb')
-rw-r--r-- | lib/arel/algebra/ordering.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/arel/algebra/ordering.rb b/lib/arel/algebra/ordering.rb new file mode 100644 index 0000000000..8439e937a9 --- /dev/null +++ b/lib/arel/algebra/ordering.rb @@ -0,0 +1,23 @@ +module Arel + class Ordering + delegate :relation, :to => :attribute + + def bind(relation) + self.class.new(attribute.bind(relation)) + end + + def to_ordering + self + end + end + + class Ascending < Ordering + attributes :attribute + deriving :initialize, :== + end + + class Descending < Ordering + attributes :attribute + deriving :initialize, :== + end +end |