diff options
Diffstat (limited to 'lib/arel/engines/memory/primitives.rb')
-rw-r--r-- | lib/arel/engines/memory/primitives.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/arel/engines/memory/primitives.rb b/lib/arel/engines/memory/primitives.rb index 77d4c1a52c..f8bbcedb55 100644 --- a/lib/arel/engines/memory/primitives.rb +++ b/lib/arel/engines/memory/primitives.rb @@ -10,4 +10,18 @@ module Arel value end end + + class Ordering + def eval(row1, row2) + (attribute.eval(row1) <=> attribute.eval(row2)) * direction + end + end + + class Descending < Ordering + def direction; -1 end + end + + class Ascending < Ordering + def direction; 1 end + end end
\ No newline at end of file |