aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/update_manager.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/arel/update_manager.rb')
-rw-r--r--lib/arel/update_manager.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/arel/update_manager.rb b/lib/arel/update_manager.rb
index f712103f98..cd4342529b 100644
--- a/lib/arel/update_manager.rb
+++ b/lib/arel/update_manager.rb
@@ -22,7 +22,16 @@ module Arel
end
def set values
- @head.values = values
+ if String === values
+ @head.values = [values]
+ else
+ @head.values = values.map { |column,value|
+ Nodes::Equality.new(
+ Nodes::UnqualifiedColumn.new(column),
+ value
+ )
+ }
+ end
self
end
end