Skip to content
Snippets Groups Projects
Commit 57a6fbe1 authored by Matheus Agio Nerone's avatar Matheus Agio Nerone
Browse files

fix the database

parent a1af3fdb
No related branches found
No related tags found
No related merge requests found
class WelcomeController < ApplicationController
def index
aux = Array.new
@Carousel = Array.new
@General = Array.new
mainPage = repository.for(:mainPage).find_all
......
module ActiveRecord
class DspaceRepository
class LearningObjectRepository
def find_all
end
......
module OrientDb
class DspaceRepository < Base
def find_all
connection.query "SELECT FROM DSpace"
end
def find_by_id(id)
connection.query "SELECT FROM Object where @rid = '#{id}'"
end
def insert_data (name,url)
connection.command "INSERT INTO Object (name,URL) VALUES ('#{name}','#{url}')"
end
def destroy_data(id)
return @connection.command "DELETE VERTEX Object where @rid = '#{id}'"
rescue
return nil
end
end
end
module OrientDb
class LearningObjectRepository < Base
def find_all
connection.query "SELECT FROM LearningObject"
end
def find_by_id(id)
connection.query "SELECT FROM LearningObject where @rid = '#{id}'"
end
def insert_data (name,url)
connection.command "INSERT INTO LearningObject (name,URL) VALUES ('#{name}','#{url}')"
end
def destroy_data(id)
return @connection.command "DELETE VERTEX LearningObject where @rid = '#{id}'"
rescue
return nil
end
def get_likes(id)
likes = connection.query "select outE('Likes') from #{id}"
return likes[0]["outE"]
end
def get_downloads(id)
downloads = connection.query "select outE('Downloads') from #{id}"
return downloads[0]["outE"]
end
def get_views(id)
views = connection.query "select outE('Views') from #{id}"
return views[0]["outE"]
end
end
end
......@@ -59,7 +59,7 @@
</a>
</div>
<div class="media-body">
<h4 class="media-heading"><%= highlight['title'] %></h4>
<h4 class="media-heading"><%= highlight['name'] %></h4>
<span>Por <a>Usuário&nbsp</a></span>
<span class="glyphicon glyphicon-eye-open"><%= highlight['views'] %>&nbsp </span>
<span class="glyphicon glyphicon-star"><%= highlight['likes'] %>&nbsp</span><br>
......
......@@ -6,7 +6,7 @@ Repository::Environments.create :development do |repository|
repository.register :carousel, OrientDb::CarouselRepository.new(OrientDb::Client.instance)
repository.register :object, OrientDb::ObjectRepository.new(OrientDb::Client.instance)
repository.register :user, OrientDb::UserRepository.new(OrientDb::Client.instance)
repository.register :dspace, OrientDb::DspaceRepository.new(OrientDb::Client.instance)
repository.register :learningObjet, OrientDb::LearningObjectRepository.new(OrientDb::Client.instance)
end
Repository::Environments.create :test do |repository|
......@@ -17,7 +17,7 @@ Repository::Environments.create :test do |repository|
repository.register :carousel, OrientDb::CarouselRepository.new(OrientDb::Client.instance)
repository.register :object, OrientDb::ObjectRepository.new(OrientDb::Client.instance)
repository.register :user, OrientDb::UserRepository.new(OrientDb::Client.instance)
repository.register :dspace, OrientDb::DspaceRepository.new(OrientDb::Client.instance)
repository.register :learningObjet, OrientDb::LearningObjectRepository.new(OrientDb::Client.instance)
end
Repository::Environments.create :production do |repository|
......@@ -28,5 +28,5 @@ Repository::Environments.create :production do |repository|
repository.register :carousel, OrientDb::CarouselRepository.new(OrientDb::Client.instance)
repository.register :object, OrientDb::ObjectRepository.new(OrientDb::Client.instance)
repository.register :user, OrientDb::UserRepository.new(OrientDb::Client.instance)
repository.register :dspace, OrientDb::DspaceRepository.new(OrientDb::Client.instance)
repository.register :learningObjet, OrientDb::LearningObjectRepository.new(OrientDb::Client.instance)
end
scheduler = Rufus::Scheduler.new
scheduler.every '5s' do
scheduler.every '10m' do
system('rake mainPage:highlights')
end
......@@ -4,9 +4,12 @@ namespace :mainPage do
repository = Portalmec::Application.repository
puts 'Generating the main page highlights'
objects = repository.for(:dspace).find_all
objects = repository.for(:learningObjet).find_all
objects = objects.collect do |object|
Ranking::Item.new(object['@rid'],object['views'],object['downloads'],object['likes'])
likes = repository.for(:learningObjet).get_likes(object['@rid']).size()
views = repository.for(:learningObjet).get_views(object['@rid']).size()
downloads = repository.for(:learningObjet).get_downloads(object['@rid']).size()
Ranking::Item.new(object['@rid'],views,downloads,likes)
end
rater = Ranking::Rater.new(Ranking::Strategies::BasicRater.new(1000,1,100))
objects = rater.sortByRate(objects).take(5)
......
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