diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2012-09-24 11:24:54 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2012-09-24 11:24:54 -0700 |
commit | de7e7c84856a628493ab6f14a7ab41f0011cd83f (patch) | |
tree | cbabd96e459357abfc1e7a18b0340664ad295b40 | |
parent | 0138356d9100ab1a6cccf0250932f93df7950a62 (diff) | |
parent | 24ff439eeeef2b9b4ddf1b0ee360e78610fe30c8 (diff) | |
download | rails-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.rb | 4 | ||||
-rw-r--r-- | test/test_select_manager.rb | 8 |
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 |