diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2011-03-21 21:31:45 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2011-03-21 21:31:45 -0700 |
commit | 4dade480a1d19b1343de8c68b94f74a1237c396a (patch) | |
tree | ae158cd08f32855eacfcab575970329c2cd9987d | |
parent | aca58b2360f7459623499018e0a19febac926267 (diff) | |
download | rails-4dade480a1d19b1343de8c68b94f74a1237c396a.tar.gz rails-4dade480a1d19b1343de8c68b94f74a1237c396a.tar.bz2 rails-4dade480a1d19b1343de8c68b94f74a1237c396a.zip |
added a factory method for creating values nodes
-rw-r--r-- | lib/arel/insert_manager.rb | 6 | ||||
-rw-r--r-- | test/test_insert_manager.rb | 10 |
2 files changed, 15 insertions, 1 deletions
diff --git a/lib/arel/insert_manager.rb b/lib/arel/insert_manager.rb index f62f36369b..d6a11b7be0 100644 --- a/lib/arel/insert_manager.rb +++ b/lib/arel/insert_manager.rb @@ -27,8 +27,12 @@ module Arel @ast.columns << column values << value end - @ast.values = Nodes::Values.new values, @ast.columns + @ast.values = create_values values, @ast.columns end end + + def create_values values, columns + Nodes::Values.new values, columns + end end end diff --git a/test/test_insert_manager.rb b/test/test_insert_manager.rb index 0a1b1fcf5a..f3900da4e0 100644 --- a/test/test_insert_manager.rb +++ b/test/test_insert_manager.rb @@ -9,6 +9,16 @@ module Arel end describe 'insert' do + it 'can create a Values node' do + table = Table.new(:users) + manager = Arel::InsertManager.new Table.engine + values = manager.create_values %w{ a b }, %w{ c d } + + assert_kind_of Arel::Nodes::Values, values + assert_equal %w{ a b }, values.left + assert_equal %w{ c d }, values.right + end + it "inserts false" do table = Table.new(:users) manager = Arel::InsertManager.new Table.engine |