Class: ROM::FMP::Commands::Create
- Inherits:
-
Commands::Create
- Object
- Commands::Create
- ROM::FMP::Commands::Create
- Defined in:
- lib/rom/fmp/commands/create.rb
Instance Method Summary collapse
-
#execute(tuples) ⇒ Object
include Transaction.
- #insert(tuples) ⇒ Object
Instance Method Details
#execute(tuples) ⇒ Object
include Transaction
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/rom/fmp/commands/create.rb', line 10 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. end |
#insert(tuples) ⇒ Object
22 23 24 25 |
# File 'lib/rom/fmp/commands/create.rb', line 22 def insert(tuples) pks = tuples.map { |tuple| relation.insert(tuple) } relation.where(relation.primary_key => pks) end |