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" end def self.ofensive_user ComplaintMessage.new "Usuário ofensivo/agressivo" end def self.fake_user ComplaintMessage.new "Usuário falso" end def to_orientdb_hash 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") } end end