Skip to content
Snippets Groups Projects
complaint.rb 892 B
Newer Older
class Complaint
  include ActiveModel::Model
  include OrientDbSerializable
  attr_accessor :id, :user, :object, :message, :description, :created_at
  validates_presence_of :user, :object, :message, :created_at

  def initialize(params={})
    super(params.merge(defaults))
  end
  def self.copyrights
    ComplaintMessage.new("Objeto viola direitos autorais")
  end

  def self.ofensive_content
    ComplaintMessage.new "Objeto contém conteúdo ofensivo/abusivo"
    ComplaintMessage.new "Usuário ofensivo/agressivo"
    ComplaintMessage.new "Usuário falso"
    super.merge("message" => @message.to_s)
  end

  private

  def excluded_orientdb_properties
    ['user', 'object', '@class']
  end

  def defaults
    {
        created_at: DateTime.now.strftime("%Y-%m-%d %H:%M:%S")
    }