class FlickrCollageTty::ImagesAggregator
Constants
- MAX_IMAGE_URLS
Attributes
dictionary[R]
flickr[R]
image_urls[R]
keywords[R]
Public Class Methods
call(keywords, flickr, dictionary)
click to toggle source
# File lib/flickr_collage_tty/images_aggregator.rb, line 7 def self.call(keywords, flickr, dictionary) new(keywords, flickr, dictionary).call end
new(keywords, flickr, dictionary)
click to toggle source
# File lib/flickr_collage_tty/images_aggregator.rb, line 13 def initialize(keywords, flickr, dictionary) @keywords = keywords @flickr = flickr @dictionary = dictionary @image_urls = [] end
Public Instance Methods
call()
click to toggle source
# File lib/flickr_collage_tty/images_aggregator.rb, line 20 def call FlickrCollageTty::Utils::Spinner.start(message: "Aggregating image urls ...") keywords.each do |keyword| get_new_image_url(keyword) end while image_urls.size < MAX_IMAGE_URLS keyword = dictionary.sample get_new_image_url(keyword) end FlickrCollageTty::Utils::Spinner.stop(message: "Finish aggregate image urls!") image_urls end
Private Instance Methods
get_new_image_url(keyword)
click to toggle source
# File lib/flickr_collage_tty/images_aggregator.rb, line 39 def get_new_image_url(keyword) url = flickr.search(text: keyword) image_urls << url if url end