Skip to content
Snippets Groups Projects
Commit 59af2144 authored by Mateus Rambo Strey's avatar Mateus Rambo Strey
Browse files

add institution builder

parent 8cd92f5b
No related branches found
No related tags found
No related merge requests found
class InstitutionBuilder
extend RepositoriesProxy
##
# receive a list of ids and return a list of institutions
#
def self.build(institutions = [])
array = []
institutions = [institutions] if institutions.class == String
institutions.each do |institution|
unless institution['@rid'].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?
array << o
end
end
array
end
def self.build_from_orientdb(args = {})
institution = nil
unless args.nil?
# cache object when build
institution = Rails.cache.fetch(cache_key(args['@rid'], args['last_modified']), expires_in: 12.hours) do
Institution.new(
id: args['@rid'],
name: args['name'],
created_at: args['created_at'],
last_modified: args['last_modified'],
country: args['country'] || '',
city: args['city'] || '',
description: args['description'] || '',
thumbnail: args['thumbnail'] || '',
address: args['address'] || ''
)
end
end
institution
end
def self.cache_key(rid, last_modified)
rid + '/' + last_modified
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