Skip to content
Snippets Groups Projects
Commit f48ec33e authored by Mauricio Giacomini Girardello's avatar Mauricio Giacomini Girardello
Browse files

Merge branch 'master' of gitlab.c3sl.ufpr.br:portalmec/portalmec

parents 8c433a6d 2fdffc81
No related branches found
No related tags found
No related merge requests found
...@@ -47,10 +47,10 @@ module OrientDb ...@@ -47,10 +47,10 @@ module OrientDb
# list.each do |learning_object| # list.each do |learning_object|
# learning_object.inspect <LearningObject model> # learning_object.inspect <LearningObject model>
# end # end
def all # def all
learning_objects_hash = connection.query "SELECT FROM LearningObject" # learning_objects_hash = connection.query "SELECT FROM LearningObject"
build_objects(learning_objects_hash) || [] # build_objects(learning_objects_hash) || []
end # end
# Usage: # Usage:
# learning_object = repository.for(:learning_objects).get_by_dspace_id 123 # learning_object = repository.for(:learning_objects).get_by_dspace_id 123
...@@ -103,24 +103,37 @@ module OrientDb ...@@ -103,24 +103,37 @@ module OrientDb
FROM index:learningobject_search FROM index:learningobject_search
WHERE key LUCENE '#{qry}' WHERE key LUCENE '#{qry}'
", limit: 10000 ", limit: 10000
# learning_objects_hash = connection.query "#SELECT @rid.asString() FROM (
# SELECT EXPAND(rid) FROM index:learningobject_search
# WHERE key LUCENE '#{qry}'
# )", limit: 10000
build_objects(learning_objects_hash) || [] build_objects(learning_objects_hash) || []
end end
def build_object(args={}) def build_object(args={})
lo = nil lo = nil
unless args.nil? unless args.nil?
lo = LearningObject.new(:id => args["@rid"], # cache object when build
:name => args["name"], cache_key = args["@rid"] + '/' + args["last_modified"]
:description => args["description"], lo = Rails.cache.fetch(cache_key, expires_in: 12.hours) do
:thumbnail => args["thumbnail"], likes = args.has_key?("in_Likes") ? args["in_Likes"].size : 0
:created_at => args["created_at"], views = args.has_key?("in_Views") ? args["in_Views"].size : 0
:id_dspace => args["id_dspace"], LearningObject.new(
:type => args["type"], id: args["@rid"],
:bitstreams => args["bitstreams"], name: args["name"],
:metadata => args["metadata"], description: args["description"],
:last_modified => args["last_modified"]) thumbnail: args["thumbnail"],
lo.likes = args.has_key?("in_Likes") ? args["in_Likes"].size : 0 created_at: args["created_at"],
lo.views = args.has_key?("in_Views") ? args["in_Views"].size : 0 id_dspace: args["id_dspace"],
type: args["type"],
bitstreams: args["bitstreams"],
metadata: args["metadata"],
last_modified: args["last_modified"],
likes: likes,
views: views
)
end
end end
lo lo
end end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment