class PostVersion < ApplicationRecord include VersionRecord scope :with_previous_version, -> { joins('LEFT JOIN post_versions prev ON prev.post_id = post_versions.post_id ' + 'AND prev.version_no = post_versions.version_no - 1') } belongs_to :post belongs_to :parent, class_name: 'Post', optional: true validates :url, presence: true validates :video_ms, numericality: { only_integer: true, greater_than: 0 }, allow_nil: true validate :validate_original_created_range 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