diff options
-rw-r--r-- | lib/arel/nodes/over.rb | 2 | ||||
-rw-r--r-- | test/nodes/test_over.rb | 9 |
2 files changed, 11 insertions, 0 deletions
diff --git a/lib/arel/nodes/over.rb b/lib/arel/nodes/over.rb index 727ccd2dc7..21d1b5029e 100644 --- a/lib/arel/nodes/over.rb +++ b/lib/arel/nodes/over.rb @@ -2,6 +2,8 @@ module Arel module Nodes class Over < Binary + include Arel::AliasPredication + def initialize(left, right = nil) super(left, right) end diff --git a/test/nodes/test_over.rb b/test/nodes/test_over.rb index fcc5078e7b..0bdd665e56 100644 --- a/test/nodes/test_over.rb +++ b/test/nodes/test_over.rb @@ -1,6 +1,15 @@ require 'helper' describe Arel::Nodes::Over do + describe 'as' do + it 'should alias the expression' do + table = Arel::Table.new :users + table[:id].count.over.as('foo').to_sql.must_be_like %{ + COUNT("users"."id") OVER () AS foo + } + end + end + describe 'with literal' do it 'should reference the window definition by name' do table = Arel::Table.new :users |