このコミットが含まれているのは:
@@ -1,8 +1,7 @@
|
||||
class PostImportRunner
|
||||
def initialize actor:, rows:, existing: 'skip'
|
||||
def initialize actor:, rows:
|
||||
@actor = actor
|
||||
@rows = rows
|
||||
@existing = existing == 'error' ? 'error' : 'skip'
|
||||
end
|
||||
|
||||
def run
|
||||
@@ -21,8 +20,7 @@ class PostImportRunner
|
||||
|
||||
def run_row row
|
||||
attributes = row.fetch('attributes', { }).transform_keys { _1.to_s.underscore }
|
||||
preview = PostImportPreviewer.new(existing: @existing)
|
||||
.preview_rows(
|
||||
preview = PostImportPreviewer.new.preview_rows(
|
||||
rows: [{
|
||||
source_row: row['source_row'],
|
||||
url: row['url'],
|
||||
@@ -31,7 +29,7 @@ class PostImportRunner
|
||||
tag_sources: row['tag_sources'],
|
||||
}],
|
||||
fetch_metadata: false).first
|
||||
if @existing == 'skip' && preview[:existing]
|
||||
if Array(preview.dig(:field_warnings, 'url')).include?(PostImportPreviewer::EXISTING_SKIP_WARNING)
|
||||
return row.slice('source_row').merge(status: 'skipped')
|
||||
end
|
||||
|
||||
|
||||
新しい課題から参照
ユーザをブロックする