openstreetmap-website/app/models/redaction.rb
Andy Allan a41d500b9f Create an ApplicationRecord for models to inherit from
This is the default for Rails 5+, and also paves the way for
multiple database support.
2019-11-27 11:50:48 +01:00

43 lines
1.3 KiB
Ruby

# == Schema Information
#
# Table name: redactions
#
# id :integer not null, primary key
# title :string
# description :text
# created_at :datetime
# updated_at :datetime
# user_id :bigint(8) not null
# description_format :enum default("markdown"), not null
#
# Foreign Keys
#
# redactions_user_id_fkey (user_id => users.id)
#
##
# Redaction represents a record associated with a particular
# action on the database to hide revisions from the history
# which are not appropriate to redistribute any more.
#
# The circumstances of the redaction can be recorded in the
# record's title and description fields, which can be
# displayed linked from the redacted records.
#
class Redaction < ApplicationRecord
belongs_to :user
has_many :old_nodes
has_many :old_ways
has_many :old_relations
validates :title, :presence => true, :characters => true
validates :description, :presence => true, :characters => true
validates :description_format, :inclusion => { :in => %w[text html markdown] }
# this method overrides the AR default to provide the rich
# text object for the description field.
def description
RichText.new(self[:description_format], self[:description])
end
end