Sha256: f2a16974fa880bc372eb3952b761a907d84f83bc2fcae462269d340a33861b7a
Contents?: true
Size: 965 Bytes
Versions: 2
Compression:
Stored size: 965 Bytes
Contents
require 'rom/sql/commands/error_wrapper' require 'rom/sql/commands/transaction' module ROM module SQL module Commands # Update command # # @api public class Update < ROM::Commands::Update adapter :sql include Transaction include ErrorWrapper use :schema # Updates existing tuple in a relation # # @return [Array<Hash>, Hash] # # @api public def execute(tuple) update(input[tuple].to_h) end private # Executes update statement for a given tuple # # @api private def update(tuple) pks = relation.map { |t| t[primary_key] } dataset = relation.dataset dataset.update(tuple) dataset.unfiltered.where(primary_key => pks).to_a end # @api private def primary_key relation.primary_key end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rom-sql-1.0.0.beta2 | lib/rom/sql/commands/update.rb |
rom-sql-1.0.0.beta1 | lib/rom/sql/commands/update.rb |