class HecksAdapters::SQLDatabase::Commands::Update::CreateNewValue
Create
any new values
Attributes
reference_ids[R]
Public Class Methods
new(reference:, attributes:, reference_ids:)
click to toggle source
# File lib/commands/update/create_new_value.rb, line 9 def initialize(reference:, attributes:, reference_ids:) @reference = reference @attributes = attributes @reference_ids = {} @column = Column.factory(reference) @column_name = @column.name.to_sym end
Public Instance Methods
call()
click to toggle source
# File lib/commands/update/create_new_value.rb, line 17 def call create_values create_value self end
Private Instance Methods
create_value()
click to toggle source
# File lib/commands/update/create_new_value.rb, line 35 def create_value return if @reference.list? id = SecureRandom.uuid DB[@column.to_table_name].insert(@attributes[@column.name.to_sym].merge(id: id)) @reference_ids[@reference.name] = id end
create_values()
click to toggle source
# File lib/commands/update/create_new_value.rb, line 25 def create_values return unless @reference.list? @attributes[@column_name].each do |value| @reference_ids[@column_name] ||= [] id = SecureRandom.uuid DB[@column.to_table_name].insert(value.merge(id: id)) @reference_ids[@column_name] << id end end