Sha256: a3ebbc93900fa197b67cf52368a9ac04371c4ddd98bafced33e1db22feaa9fb5
Contents?: true
Size: 618 Bytes
Versions: 3
Compression:
Stored size: 618 Bytes
Contents
module HubLink class Insert def initialize(row:, target:) @row = row @target = target end def run record.update! importable_attributes end private def record target.find_or_initialize_by(primary_key => primary_key_value) end def primary_key_value row[primary_key] end def primary_key target.primary_key end def importable_attributes row.slice(*target_columns) end def target_columns target.columns.map(&:name).map(&:to_sym) end attr_reader :row, :target end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
hub_link-0.19.0 | lib/hub_link/insert.rb |
hub_link-0.18.0 | lib/hub_link/insert.rb |
hub_link-0.15.0 | lib/hub_link/insert.rb |