diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2010-08-23 14:59:53 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2010-08-23 14:59:53 -0700 |
commit | f2144229f5353cbc6b932474c94978523756a644 (patch) | |
tree | e9e16f54ee3c4e63cc5fd995d185a0ea27ec423d | |
parent | 819a0920f0ca1165db3e8b05f0276b3338f1be30 (diff) | |
download | rails-f2144229f5353cbc6b932474c94978523756a644.tar.gz rails-f2144229f5353cbc6b932474c94978523756a644.tar.bz2 rails-f2144229f5353cbc6b932474c94978523756a644.zip |
project takes *args now
-rw-r--r-- | lib/arel/select_manager.rb | 4 | ||||
-rw-r--r-- | spec/arel/select_manager_spec.rb | 12 |
2 files changed, 11 insertions, 5 deletions
diff --git a/lib/arel/select_manager.rb b/lib/arel/select_manager.rb index 3d6aef0745..1c8daf8e50 100644 --- a/lib/arel/select_manager.rb +++ b/lib/arel/select_manager.rb @@ -18,8 +18,8 @@ module Arel self end - def project projection - @ctx.projections << projection + def project *projections + @ctx.projections.concat projections self end diff --git a/spec/arel/select_manager_spec.rb b/spec/arel/select_manager_spec.rb index 493b79264d..0120650a9f 100644 --- a/spec/arel/select_manager_spec.rb +++ b/spec/arel/select_manager_spec.rb @@ -143,13 +143,19 @@ module Arel end describe 'project' do + it 'takes multiple args' do + table = Table.new :users + manager = Arel::SelectManager.new Table.engine + manager.project Nodes::SqlLiteral.new('foo'), + Nodes::SqlLiteral.new('bar') + manager.to_sql.should be_like %{ SELECT foo, bar } + end + it 'takes strings' do table = Table.new :users manager = Arel::SelectManager.new Table.engine manager.project Nodes::SqlLiteral.new('*') - manager.to_sql.should be_like %{ - SELECT * - } + manager.to_sql.should be_like %{ SELECT * } end it "takes sql literals" do |