aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/select_manager.rb
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2011-11-04 16:55:40 +0000
committerJon Leighton <j@jonathanleighton.com>2011-11-04 16:55:40 +0000
commitc0396833cd826483f1b6c957d2b1a8f0b80056ec (patch)
treede29d19e2cb83cdfce53c190ea7f776f0d2b09a6 /lib/arel/select_manager.rb
parent411336b86712df79016c2a4f36fe4e943546a185 (diff)
downloadrails-c0396833cd826483f1b6c957d2b1a8f0b80056ec.tar.gz
rails-c0396833cd826483f1b6c957d2b1a8f0b80056ec.tar.bz2
rails-c0396833cd826483f1b6c957d2b1a8f0b80056ec.zip
Add SelectManager#distinct to set/unset the Arel::Nodes::Distinct.new quantifier
Diffstat (limited to 'lib/arel/select_manager.rb')
-rw-r--r--lib/arel/select_manager.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/arel/select_manager.rb b/lib/arel/select_manager.rb
index 7a1fbbe438..ce8a9caf23 100644
--- a/lib/arel/select_manager.rb
+++ b/lib/arel/select_manager.rb
@@ -139,6 +139,14 @@ module Arel
@ctx.projections = projections
end
+ def distinct(value = true)
+ if value
+ @ctx.set_quantifier = Arel::Nodes::Distinct.new
+ else
+ @ctx.set_quantifier = nil
+ end
+ end
+
def order *expr
# FIXME: We SHOULD NOT be converting these to SqlLiteral automatically
@ast.orders.concat expr.map { |x|