aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2014-09-12 18:15:28 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2014-09-12 18:15:28 -0300
commitd23df0ec8a50b50024f8d4dc5d91a47509df9b1f (patch)
treebd70b551cab1af27874ac6e31e617a15505b9f9b /lib/arel
parent1ee24112e8b42879f02fcee995e222dcabb2cb64 (diff)
parent112cb940aa17a0979b9f6282c07ace2f6a0896c1 (diff)
downloadrails-d23df0ec8a50b50024f8d4dc5d91a47509df9b1f.tar.gz
rails-d23df0ec8a50b50024f8d4dc5d91a47509df9b1f.tar.bz2
rails-d23df0ec8a50b50024f8d4dc5d91a47509df9b1f.zip
Merge pull request #306 from mxhold/master
Add SelectManager#distinct_on to set/unset Arel::Nodes::DistinctOn quantifier
Diffstat (limited to 'lib/arel')
-rw-r--r--lib/arel/select_manager.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/arel/select_manager.rb b/lib/arel/select_manager.rb
index 4a652f2c9c..5a05e7e181 100644
--- a/lib/arel/select_manager.rb
+++ b/lib/arel/select_manager.rb
@@ -155,6 +155,15 @@ module Arel
self
end
+ def distinct_on(value)
+ if value
+ @ctx.set_quantifier = Arel::Nodes::DistinctOn.new(value)
+ else
+ @ctx.set_quantifier = nil
+ end
+ self
+ end
+
def order *expr
# FIXME: We SHOULD NOT be converting these to SqlLiteral automatically
@ast.orders.concat expr.map { |x|