diff options
Diffstat (limited to 'activerecord/lib/arel/update_manager.rb')
-rw-r--r-- | activerecord/lib/arel/update_manager.rb | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/activerecord/lib/arel/update_manager.rb b/activerecord/lib/arel/update_manager.rb index eac414eafb..6e36e82cf9 100644 --- a/activerecord/lib/arel/update_manager.rb +++ b/activerecord/lib/arel/update_manager.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + module Arel class UpdateManager < Arel::TreeManager def initialize @@ -7,12 +8,12 @@ module Arel @ctx = @ast end - def take limit + def take(limit) @ast.limit = Nodes::Limit.new(Nodes.build_quoted(limit)) if limit self end - def key= key + def key=(key) @ast.key = Nodes.build_quoted(key) end @@ -20,32 +21,32 @@ module Arel @ast.key end - def order *expr + def order(*expr) @ast.orders = expr self end ### # UPDATE +table+ - def table table + def table(table) @ast.relation = table self end - def wheres= exprs + def wheres=(exprs) @ast.wheres = exprs end - def where expr + def where(expr) @ast.wheres << expr self end - def set values + def set(values) if String === values @ast.values = [values] else - @ast.values = values.map { |column,value| + @ast.values = values.map { |column, value| Nodes::Assignment.new( Nodes::UnqualifiedColumn.new(column), value |