投稿に対する履歴(#264) (#307)
Merge branch 'main' into feature/264 #264 #264 #264 #264 Co-authored-by: miteruzo <miteruzo@naver.com> Reviewed-on: #307
This commit was merged in pull request #307.
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
class PostVersion < ApplicationRecord
|
||||
before_update do
|
||||
raise ActiveRecord::ReadOnlyRecord, '版は更新できません.'
|
||||
end
|
||||
|
||||
before_destroy do
|
||||
raise ActiveRecord::ReadOnlyRecord, '版は削除できません.'
|
||||
end
|
||||
|
||||
belongs_to :post
|
||||
belongs_to :parent, class_name: 'Post', optional: true
|
||||
belongs_to :created_by_user, class_name: 'User', optional: true
|
||||
|
||||
enum :event_type, { create: 'create',
|
||||
update: 'update',
|
||||
discard: 'discard',
|
||||
restore: 'restore' }, prefix: true, validate: true
|
||||
|
||||
validates :version_no, presence: true, numericality: { only_integer: true, greater_than: 0 }
|
||||
validates :event_type, presence: true, inclusion: { in: event_types.keys }
|
||||
validates :url, presence: true
|
||||
|
||||
validate :validate_original_created_range
|
||||
|
||||
scope :chronological, -> { order(:version_no, :id) }
|
||||
|
||||
private
|
||||
|
||||
def validate_original_created_range
|
||||
f = original_created_from
|
||||
b = original_created_before
|
||||
return if f.blank? || b.blank?
|
||||
|
||||
if f >= b
|
||||
errors.add :original_created_before, 'オリジナルの作成日時の順番がをかしぃです.'
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user