diff --git a/app/controllers/learning_objects_controller.rb b/app/controllers/learning_objects_controller.rb index 7e22a79d664848a8356c499a752119ddb8dbc11e..5a24be9b6c231bda322c5e78310e20a8b9e41881 100644 --- a/app/controllers/learning_objects_controller.rb +++ b/app/controllers/learning_objects_controller.rb @@ -4,6 +4,9 @@ class LearningObjectsController < ApplicationController def show @object = repository.for(:object).get_by_dspaceid params[:id] + unless @object.nil? + @like_counts = repository.for(:edge).get_in_edges_count "ELike", @object.first["@rid"] + end end def new diff --git a/app/repositories/orient_db/edge_repository.rb b/app/repositories/orient_db/edge_repository.rb index ccf67a96565c4c5aa4162b6e5db62d11071b394e..0cdcdf686c1085acfafb0a4d72514645155435e9 100644 --- a/app/repositories/orient_db/edge_repository.rb +++ b/app/repositories/orient_db/edge_repository.rb @@ -1,6 +1,10 @@ module OrientDb class EdgeRepository < Base + def get_in_edges_count(edge_class, id) + OrientDb::Client.instance.query "SELECT COUNT(@rid) FROM #{edge_class} WHERE in = #{id}" + end + def create_like_edge(from_id, to_id) OrientDb::Client.instance.command "CREATE EDGE ELike FROM #{from_id} TO #{to_id}" end diff --git a/app/views/learning_objects/show.html.erb b/app/views/learning_objects/show.html.erb index d7be6bc619c4762850bde096de9162afe65b9feb..e7e9b7810883b14d04a10e7d3637d3d05a675fe2 100644 --- a/app/views/learning_objects/show.html.erb +++ b/app/views/learning_objects/show.html.erb @@ -17,4 +17,5 @@ { action: "create", controller: "graph_tests" }, method: :post, params: { from_id: " #14:0", to_id: get_object_property(@object,"@rid") } -) %> +)%> +Total Curtir: <%= get_object_property(@like_counts,"COUNT") %>