aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/arel/insert_manager.rb6
-rw-r--r--test/test_insert_manager.rb10
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