Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def authorSearch(author)
- books = []
- complex_entity_key = "#{author}"
- isbns_books = @Remote_cache.get "bks_#{author}"
- if isbns_books
- isbns_books.split(',').each do |isbn|
- version = @Remote_cache.get "v_#{isbn}"
- if version
- complex_entity_key += "_#{isbn}_#{version}"
- else
- complex_entity_key += "_#{isbn}_1"
- end
- end
- str_books = @Remote_cache.get complex_entity_key
- if str_books
- str_books.split(';').each {|book| books.insert(-1,BookInStock.from_cache(book))}
- else
- books = @database.authorSearch author
- isbns = ""
- str_books = ""
- complex_entity_key = "#{author}"
- books.each do |book|
- isbns += "#{book.isbn},"
- str_books += "#{book.to_cache};"
- version = @Remote_cache.get "v_#{book.isbn}"
- if version
- complex_entity_key += "_#{book.isbn}_#{version}"
- else
- complex_entity_key += "_#{book.isbn}_1"
- end
- end
- if books.size>=1
- @Remote_cache.set "bks_#{author}", isbns[0,isbns.size-1]
- @Remote_cache.set complex_entity_key, str_books[0,str_books.size-1]
- end
- end
- else
- books = @database.authorSearch author
- isbns = ""
- str_books = ""
- books.each do |book|
- isbns += "#{book.isbn},"
- str_books += "#{book.to_cache};"
- version = @Remote_cache.get "v_#{book.isbn}"
- if version
- complex_entity_key += "_#{book.isbn}_#{version}"
- else
- complex_entity_key += "_#{book.isbn}_1"
- end
- end
- if books.size>=1
- @Remote_cache.set "bks_#{author}", isbns[0,isbns.size-1]
- @Remote_cache.set complex_entity_key, str_books[0,str_books.size-1]
- end
- end
- books
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement