aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2012-09-24 11:24:54 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2012-09-24 11:24:54 -0700
commitde7e7c84856a628493ab6f14a7ab41f0011cd83f (patch)
treecbabd96e459357abfc1e7a18b0340664ad295b40
parent0138356d9100ab1a6cccf0250932f93df7950a62 (diff)
parent24ff439eeeef2b9b4ddf1b0ee360e78610fe30c8 (diff)
downloadrails-de7e7c84856a628493ab6f14a7ab41f0011cd83f.tar.gz
rails-de7e7c84856a628493ab6f14a7ab41f0011cd83f.tar.bz2
rails-de7e7c84856a628493ab6f14a7ab41f0011cd83f.zip
Merge pull request #141 from sunaku/GH-138
feature: add Arel::SelectManager#projections method
-rw-r--r--lib/arel/select_manager.rb4
-rw-r--r--test/test_select_manager.rb8
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/arel/select_manager.rb b/lib/arel/select_manager.rb
index d20faa6eb3..b5c5834a51 100644
--- a/lib/arel/select_manager.rb
+++ b/lib/arel/select_manager.rb
@@ -141,6 +141,10 @@ module Arel
self
end
+ def projections
+ @ctx.projections
+ end
+
def projections= projections
@ctx.projections = projections
end
diff --git a/test/test_select_manager.rb b/test/test_select_manager.rb
index d68deb3061..46a2cbbe97 100644
--- a/test/test_select_manager.rb
+++ b/test/test_select_manager.rb
@@ -1033,6 +1033,14 @@ module Arel
end
end
+ describe 'projections' do
+ it 'reads projections' do
+ manager = Arel::SelectManager.new Table.engine
+ manager.project Arel.sql('foo'), Arel.sql('bar')
+ manager.projections.must_equal [Arel.sql('foo'), Arel.sql('bar')]
+ end
+ end
+
describe 'projections=' do
it 'overwrites projections' do
manager = Arel::SelectManager.new Table.engine