This commit is contained in:
@@ -177,8 +177,8 @@ class PostsController < ApplicationController
|
||||
merge = bool?(:merge)
|
||||
return head :bad_request if force && merge
|
||||
|
||||
base_version_no = nil
|
||||
base_version_no = parse_base_version_no unless force
|
||||
base_version_no = parse_base_version_no
|
||||
return head :bad_request if !(force) && !(base_version_no)
|
||||
|
||||
title = params[:title].presence
|
||||
tag_names = params[:tags].to_s.split
|
||||
@@ -442,9 +442,11 @@ class PostsController < ApplicationController
|
||||
|
||||
def parse_base_version_no
|
||||
version_no = Integer(params[:base_version_no], exception: false)
|
||||
raise ArgumentError, 'base_version_no は必須です.' unless version_no&.positive?
|
||||
|
||||
version_no
|
||||
if version_no&.positive?
|
||||
version_no
|
||||
else
|
||||
nil
|
||||
end
|
||||
end
|
||||
|
||||
def post_snapshot_from_version version
|
||||
|
||||
@@ -16,7 +16,7 @@ class VersionRecorder
|
||||
@record = record_class.unscoped.lock.find(@record.id)
|
||||
latest = latest_version
|
||||
|
||||
validate_version_sequence! latest
|
||||
validate_version_sequence!(latest)
|
||||
|
||||
attrs = snapshot_attributes
|
||||
|
||||
@@ -27,7 +27,7 @@ class VersionRecorder
|
||||
version = version_class.create!(
|
||||
base_attributes(latest).merge(record_key => @record).merge(attrs))
|
||||
|
||||
update_record_version_no! version.version_no
|
||||
update_record_version_no!(version.version_no)
|
||||
|
||||
version
|
||||
end
|
||||
@@ -47,7 +47,7 @@ class VersionRecorder
|
||||
end
|
||||
|
||||
def update_record_version_no! version_no
|
||||
@record.update_columns version_no: version_no
|
||||
@record.update_columns(version_no:)
|
||||
@record.version_no = version_no
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user