このコミットが含まれているのは:
2026-07-12 02:01:25 +09:00
コミット ccfe65a6a4
3個のファイルの変更15行の追加4行の削除
+5 -2
ファイルの表示
@@ -107,11 +107,14 @@ class PostImportsController < ApplicationController
raise ArgumentError, 'タグ由来が大きすぎます.'
end
source_row = Integer(normalised['source_row'], exception: false)
raise ArgumentError, '元行番号が不正です.' if source_row.nil? || source_row <= 0
normalised['source_row'] = source_row
normalised.symbolize_keys
end
source_rows = normalised_rows.map { _1[:source_row] }
if source_rows.any? { |value| Integer(value, exception: false).to_i <= 0 } ||
source_rows.uniq.length != source_rows.length
if source_rows.uniq.length != source_rows.length
raise ArgumentError, '元行番号が不正です.'
end
+4 -1
ファイルの表示
@@ -164,7 +164,10 @@ class PostImportPreviewer
video_ms: parse_duration(attributes['duration'], errors))
post.valid?
post.errors.each { |error| (errors[error.attribute] ||= []) << error.message }
errors.delete(:url)
if errors[:url]
errors[:url].reject! { |message| message.include?('すでに存在') || message.include?('taken') }
errors.delete(:url) if errors[:url].empty?
end
end
def parse_duration value, errors
+6 -1
ファイルの表示
@@ -90,6 +90,11 @@ class PostImportRunner
raise ArgumentError, '取込行の形式が不正です.'
end
row.to_h.deep_transform_keys { _1.to_s.underscore }
normalised = row.to_h.deep_transform_keys { _1.to_s.underscore }
source_row = Integer(normalised['source_row'], exception: false)
raise ArgumentError, '元行番号が不正です.' if source_row.nil? || source_row <= 0
normalised['source_row'] = source_row
normalised
end
end