From 4dade480a1d19b1343de8c68b94f74a1237c396a Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Mon, 21 Mar 2011 21:31:45 -0700 Subject: added a factory method for creating values nodes --- lib/arel/insert_manager.rb | 6 +++++- test/test_insert_manager.rb | 10 ++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3