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

move some institution repository logic for explicity methods

parent c6172417
No related branches found
No related tags found
No related merge requests found
...@@ -10,9 +10,7 @@ class InstitutionBuilder ...@@ -10,9 +10,7 @@ class InstitutionBuilder
institutions.each do |institution| institutions.each do |institution|
unless institution['@rid'].blank? unless institution['@rid'].blank?
o = Rails.cache.fetch(cache_key(institution['@rid'], institution['last_modified'])) unless institution['last_modified'].blank? o = Rails.cache.fetch(cache_key(institution['@rid'], institution['last_modified'])) unless institution['last_modified'].blank?
o = institution_repository.find institution['@rid'] if o.nil? o = institution_repository.find institution['@rid'] if o.nil?
array << o array << o
end end
end end
......
...@@ -4,7 +4,7 @@ module OrientDb ...@@ -4,7 +4,7 @@ module OrientDb
def create(institution) def create(institution)
institution = connection.command sprintf("INSERT INTO Institution (name, created_at, last_modified, country, city, description, thumbnail, address) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", institution = connection.command sprintf("INSERT INTO Institution (name, created_at, last_modified, country, city, description, thumbnail, address) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",
institution.name, Time.now, Time.now, institution.country, institution.city, institution.description, institution.thumbnail, institution.address ) institution.name, Time.now, Time.now, institution.country, institution.city, institution.description, institution.thumbnail, institution.address)
find(institution["result"][0]["@rid"]) || false find(institution["result"][0]["@rid"]) || false
end end
...@@ -21,16 +21,23 @@ module OrientDb ...@@ -21,16 +21,23 @@ module OrientDb
# else return nil # else return nil
# #
def associated_with(object) def associated_with(object)
return InstitutionBuilder.build get_edges_end('BelongsTo', 'out', object.rid) if object.class == User return associated_institutions(object) if object.class == User
return User.find(get_edges_end('BelongsTo', 'in', object.id).map{|user| user['p_id']}) if object.class == Institution return associated_users(object) if object.class == Institution
return nil return nil
end end
def associated_institutions(user)
InstitutionBuilder.build get_edges_end('BelongsTo', 'out', user.rid)
end
def associated_users(institution)
User.find(get_edges_end('BelongsTo', 'in', institution.id).map { |user| user['p_id'] })
end
def add_user(user, institution) def add_user(user, institution)
unless edge_exists? "BelongsTo", user.rid, institution.id unless edge_exists? "BelongsTo", user.rid, institution.id
create_edge "BelongsTo", user.rid, institution.id create_edge "BelongsTo", user.rid, institution.id
end end
institution institution
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