class AbstractImporter::Strategies::Base
Attributes
collection[R]
Public Class Methods
new(collection, options={})
click to toggle source
# File lib/abstract_importer/strategies/base.rb, line 19 def initialize(collection, options={}) @collection = collection @remap_ids = options.fetch(:id_map, use_id_map_for?(collection)) end
Public Instance Methods
already_imported?(hash)
click to toggle source
# File lib/abstract_importer/strategies/base.rb, line 32 def already_imported?(hash) id_map.contains? collection.table_name, hash[:id] end
flush()
click to toggle source
# File lib/abstract_importer/strategies/base.rb, line 36 def flush end
prepare_attributes(hash)
click to toggle source
# File lib/abstract_importer/strategies/base.rb, line 39 def prepare_attributes(hash) hash = invoke_callback(:before_build, hash) || hash if remap_ids? hash = hash.merge(legacy_id: hash.delete(:id)) if generate_id hash[:id] = generate_id.arity.zero? ? generate_id.call : generate_id.call(hash) end end hash.merge(association_attrs) end
process_record(hash)
click to toggle source
# File lib/abstract_importer/strategies/base.rb, line 28 def process_record(hash) raise NotImplementedError end
remap_ids?()
click to toggle source
# File lib/abstract_importer/strategies/base.rb, line 24 def remap_ids? @remap_ids end