module Wiki class CompatibilityWriter def self.create! tag_name:, body:, created_by_user:, message: nil Commit.create_legacy_content!( tag_name:, body:, created_by_user:, message:) end def self.update! page:, body:, updated_by_user:, message: nil, base_revision_id: nil normalised = Commit.normalise_body(body) if normalised.blank? return Commit.legacy_content!( page:, body: normalised, created_user: updated_by_user, message:, base_revision_id:) end if base_revision_id.present? current_id = page.wiki_revisions.maximum(:id) if current_id && current_id != base_revision_id.to_i raise Commit::Conflict, "競合が発生してゐます" + "(現在の Id.:#{ current_id },ベース Id.:#{ base_revision_id })." end end return if Commit.normalise_body(page.body) == normalised Commit.legacy_content!( page:, body: normalised, created_user: updated_by_user, message:, base_revision_id:) end end end