Sha256: 17b8a96ff73f532e85d124e5e4021c4f2d8de1305102bb977fe253ad0bfb280d
Contents?: true
Size: 980 Bytes
Versions: 5
Compression:
Stored size: 980 Bytes
Contents
# frozen_string_literal: true module Arel class UpdateManager < Arel::TreeManager def initialize 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
5 entries across 5 versions & 3 rubygems