Sha256: fa7447a64b2473a3695d276e84e8488c4a177538182244fa23d9c62a57f4626f
Contents?: true
Size: 957 Bytes
Versions: 17
Compression:
Stored size: 957 Bytes
Contents
module Arel class UpdateManager < Arel::TreeManager def initialize engine super @ast = Nodes::UpdateStatement.new @ctx = @ast end def take limit @ast.limit = Nodes::Limit.new(Nodes.build_quoted(limit)) if limit self end def key= key @ast.key = Nodes.build_quoted(key) end def key @ast.key end def order *expr @ast.orders = expr self end ### # UPDATE +table+ def table table @ast.relation = table self end def wheres= exprs @ast.wheres = exprs end def where expr @ast.wheres << expr self end def set values if String === values @ast.values = [values] else @ast.values = values.map { |column,value| Nodes::Assignment.new( Nodes::UnqualifiedColumn.new(column), value ) } end self end end end
Version data entries
17 entries across 17 versions & 7 rubygems