From 30228cf5d2a48c6a6558f7fe7a64a077bf72ac80 Mon Sep 17 00:00:00 2001
From: Mauricio Giacomini Girardello <mauriciogiacomini4@gmail.com>
Date: Wed, 18 Nov 2015 11:21:55 -0200
Subject: [PATCH] adding orientdb serializable concern for models

---
 app/models/concerns/orient_db_serializable.rb | 25 +++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 app/models/concerns/orient_db_serializable.rb

diff --git a/app/models/concerns/orient_db_serializable.rb b/app/models/concerns/orient_db_serializable.rb
new file mode 100644
index 00000000..b7d62608
--- /dev/null
+++ b/app/models/concerns/orient_db_serializable.rb
@@ -0,0 +1,25 @@
+module OrientDbSerializable
+  extend ActiveSupport::Concern
+  include OrientDb::Methods::SanitizableMethods
+
+  def to_orientdb_hash
+    hash = {'@class' => self.class.to_s}
+    self.instance_variables.each do |var|
+      var_name = sanitize_orientdb_vars(var)
+      hash[var_name] = sanitize_orientdb_values(object.instance_variable_get(var))
+    end
+    hash.delete('id')
+
+    excluded_orientdb_properties.each do |property|
+      hash.delete(property.to_s)
+    end
+
+    # TODO: find a better way to ignore variables from ActiveModel
+    hash.delete("validation_context")
+    hash.delete("errors")
+    hash
+  end
+
+  def excluded_orientdb_properties; end
+
+end
\ No newline at end of file
-- 
GitLab