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