class Flico::App
Attributes
resources[R]
Public Class Methods
new(resources)
click to toggle source
# File lib/flico/app.rb, line 12 def initialize(resources) @resources = resources end
Public Instance Methods
collage(images)
click to toggle source
# File lib/flico/app.rb, line 24 def collage(images) resources.save_collage.call(resources.collager.call(images)) end
create_collage()
click to toggle source
# File lib/flico/app.rb, line 16 def create_collage image_urls = [] begin image_urls.push get_images end while image_urls.count < 10 collage(image_urls) end
get_images()
click to toggle source
# File lib/flico/app.rb, line 28 def get_images keywords_count = 10 keyword = resources.dictionary.call image_url = resources.flickr_api.call(keyword) downloaded_image = resources.fetch_image.call(image_url) rescue NoImage => e puts "Image not found for keyword '#{keyword}'. Message: #{e.message}. Retrying" unless (tries -= 1) > 0 raise ApplicationError, "Failed getting image after retrying #{MAX_KEYWORD_RETRIES} times" else retry end rescue FetchingError => e raise ApplicationError, e.message end