Sha256: dae9713cf86c28f2c144c05b6f958174af51139ebdee4e0cd3c4b3bbae12e8b9
Contents?: true
Size: 695 Bytes
Versions: 4
Compression:
Stored size: 695 Bytes
Contents
require 'rom/sql/commands' require 'rom/sql/commands/transaction' module ROM module SQL module Commands class Create < ROM::Commands::Create include Transaction def execute(tuples) insert_tuples = Array([tuples]).flatten.map do |tuple| attributes = input[tuple] validator.call(attributes) attributes.to_h end insert(insert_tuples) rescue *ERRORS => e raise ConstraintError, e.message end def insert(tuples) pks = tuples.map { |tuple| relation.insert(tuple) } relation.where(relation.primary_key => pks) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems