Class: Flico::App
- Inherits:
-
Object
- Object
- Flico::App
- Defined in:
- lib/flico/app.rb
Instance Attribute Summary collapse
-
#resources ⇒ Object
readonly
Returns the value of attribute resources.
Instance Method Summary collapse
- #collage(images) ⇒ Object
- #create_collage ⇒ Object
- #get_images ⇒ Object
-
#initialize(resources) ⇒ App
constructor
A new instance of App.
Constructor Details
#initialize(resources) ⇒ App
Returns a new instance of App.
12 13 14 |
# File 'lib/flico/app.rb', line 12 def initialize(resources) @resources = resources end |
Instance Attribute Details
#resources ⇒ Object (readonly)
Returns the value of attribute resources.
10 11 12 |
# File 'lib/flico/app.rb', line 10 def resources @resources end |
Instance Method Details
#collage(images) ⇒ Object
24 25 26 |
# File 'lib/flico/app.rb', line 24 def collage(images) resources.save_collage.call(resources.collager.call(images)) end |
#create_collage ⇒ Object
16 17 18 19 20 21 22 |
# 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 ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# 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. end |