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

abstracting builder concern in base class

parent fa63aeb8
No related branches found
No related tags found
No related merge requests found
class AttributeBuilder < Builder
extend RepositoriesProxy
##
# receive a list of ids and return a list of attributes
#
def self.build(attributes = [])
array = []
attributes = [attributes] if attributes.class == String
attributes.each do |attributes|
unless attributes['@rid'].blank?
o = Rails.cache.fetch(cache_key(attribute['@rid'], attribute['last_modified'])) unless attribute['last_modified'].blank?
o = attribute_repository.find attribute['@rid'] if o.nil?
array << o
end
end
array
end
def self.build_from_orientdb(args = {})
attribute = nil
unless args.nil?
# cache object when build
attribute = Rails.cache.fetch(cache_key(args['@rid'], args['last_modified']), expires_in: 12.hours) do
Attribute.new(
id: args['@rid'],
key: args['key'],
value: args['value']
)
end
end
attribute
end
end
class Builder
protected
def self.cache_key(rid, last_modified)
rid + '/' + last_modified
end
end
\ No newline at end of file
class CollectionBuilder class CollectionBuilder < Builder
extend RepositoriesProxy extend RepositoriesProxy
## ##
...@@ -42,10 +42,6 @@ class CollectionBuilder ...@@ -42,10 +42,6 @@ class CollectionBuilder
lo lo
end end
def self.cache_key(rid, last_modified)
rid + '/' + last_modified
end
def self.map_rid_to_object(ids) def self.map_rid_to_object(ids)
return {'rid' => ids} if ids.class == String return {'rid' => ids} if ids.class == String
......
class InstitutionBuilder class InstitutionBuilder < Builder
extend RepositoriesProxy extend RepositoriesProxy
## ##
...@@ -40,7 +40,4 @@ class InstitutionBuilder ...@@ -40,7 +40,4 @@ class InstitutionBuilder
institution institution
end end
def self.cache_key(rid, last_modified)
rid + '/' + last_modified
end
end end
class LearningObjectBuilder class LearningObjectBuilder < Builder
extend RepositoriesProxy extend RepositoriesProxy
## ##
...@@ -50,7 +50,4 @@ class LearningObjectBuilder ...@@ -50,7 +50,4 @@ class LearningObjectBuilder
lo lo
end end
def self.cache_key(rid, last_modified)
rid + '/' + last_modified
end
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