|
@@ -5,39 +5,39 @@ module Import
|
|
|
extend self
|
|
|
|
|
|
def import_action(records, *args)
|
|
|
- pre_import_hook(records)
|
|
|
- import_loop(records) do |record|
|
|
|
- next if skip?(record)
|
|
|
+ pre_import_hook(records, *args)
|
|
|
+ import_loop(records, *args) do |record|
|
|
|
+ next if skip?(record, *args)
|
|
|
backend_instance = create_instance(record, *args)
|
|
|
- post_import_hook(record, backend_instance)
|
|
|
+ post_import_hook(record, backend_instance, *args)
|
|
|
end
|
|
|
end
|
|
|
|
|
|
- def import(_records)
|
|
|
+ def import(_records, *_args)
|
|
|
raise 'Missing import method implementation for this factory'
|
|
|
end
|
|
|
|
|
|
- def pre_import_hook(_records)
|
|
|
+ def pre_import_hook(_records, *args)
|
|
|
end
|
|
|
|
|
|
- def post_import_hook(_record, _backend_instance)
|
|
|
+ def post_import_hook(_record, _backend_instance, *args)
|
|
|
end
|
|
|
|
|
|
- def backend_class(_record)
|
|
|
+ def backend_class(_record, *_args)
|
|
|
"Import::#{module_name}".constantize
|
|
|
end
|
|
|
|
|
|
- def skip?(_record)
|
|
|
+ def skip?(_record, *_args)
|
|
|
false
|
|
|
end
|
|
|
|
|
|
private
|
|
|
|
|
|
def create_instance(record, *args)
|
|
|
- backend_class(record).new(record, *args)
|
|
|
+ backend_class(record, *args).new(record, *args)
|
|
|
end
|
|
|
|
|
|
- def import_loop(records, &import_block)
|
|
|
+ def import_loop(records, *_args, &import_block)
|
|
|
records.each(&import_block)
|
|
|
end
|
|
|
|