From a9d8ec804f58590eaa2843990ea8b860626f3560 Mon Sep 17 00:00:00 2001 From: Mauricio Giacomini Girardello <mauriciogiacomini4@gmail.com> Date: Thu, 19 Nov 2015 11:42:17 -0200 Subject: [PATCH] change complaint serialization --- app/models/complaint.rb | 23 ++++++++++++++++++++--- test/models/complaint_test.rb | 5 +++-- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/app/models/complaint.rb b/app/models/complaint.rb index b87bc2ab..bdb9d893 100644 --- a/app/models/complaint.rb +++ b/app/models/complaint.rb @@ -2,8 +2,12 @@ class Complaint include ActiveModel::Model include OrientDbSerializable - attr_accessor :user, :object, :message, :description - validates_presence_of :user, :object, :message + attr_accessor :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") @@ -22,6 +26,19 @@ class Complaint end def to_orientdb_hash - super.merge("user" => @user.rid, "object" => @object.id, "message" => @message.to_s) + 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 diff --git a/test/models/complaint_test.rb b/test/models/complaint_test.rb index 7c4d13ca..02a3bb18 100644 --- a/test/models/complaint_test.rb +++ b/test/models/complaint_test.rb @@ -10,10 +10,11 @@ class ComplaintTest < ActiveSupport::TestCase user: User.new(rid: '#14:15'), object: LearningObject.new(id: '#16:43'), message: Complaint.copyrights, - description: 'teste' + description: 'teste', + created_at: DateTime.now.strftime("%Y-%m-%d %H:%M:%S") ) - expected_hash = {"@class" => "Complaint", "user" => complaint.user.rid, "object" => complaint.object.id, "description" => complaint.description, "message" => complaint.message.to_s} + expected_hash = {"created_at" => complaint.created_at.to_s, "description" => complaint.description, "message" => complaint.message.to_s} assert_equal(expected_hash, complaint.to_orientdb_hash) end -- GitLab