Sha256: 17e540b7426a41093fffc5f0ab970b52e7f1000ca20a16872cef9ca8104fb2a1
Contents?: true
Size: 769 Bytes
Versions: 61
Compression:
Stored size: 769 Bytes
Contents
class Comment < ApplicationRecord include Concerns::Parentable include Concerns::Locale include Concerns::Spammable STATUSES = %w(pending_moderation published) after_initialize :default_values belongs_to :commentable, polymorphic: true validates :author, :message, presence: true validates :status, inclusion: { in: STATUSES } validates :email, presence: true, email: true validates :website, url: true, allow_blank: true def published? status.to_s == 'published' end def publish! update_attribute :status, :published end def unpublish! update_attribute :status, :pending_moderation end private def default_values if self.new_record? self.status = 'pending_moderation' if status.nil? end end end
Version data entries
61 entries across 61 versions & 1 rubygems