Class: ImageCollage::ImageUrlRequester

Inherits:
Object
  • Object
show all
Defined in:
lib/imagecollage/image_url_requester.rb

Instance Method Summary collapse

Constructor Details

#initialize(keywords, flickr_api, options = {}) ⇒ ImageUrlRequester

Returns a new instance of ImageUrlRequester.



3
4
5
6
7
8
9
10
# File 'lib/imagecollage/image_url_requester.rb', line 3

def initialize(keywords, flickr_api, options = {})
  @keywords = keywords || []
  @flickr_api = flickr_api
  @options = options || {}

  @image_url_count = Integer(options[:image_url_count]) || 10
  @keywords_pool = fill_keywords_pool(@keywords)
end

Instance Method Details

#image_urlsObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/imagecollage/image_url_requester.rb', line 12

def image_urls
  image_urls = []

  while image_urls.length < @image_url_count
    keyword = @keywords_pool.shift || random_keyword

    print "Fetching image (#{image_urls.length + 1}/#{@image_url_count}) for #{keyword}..."

    response = @flickr_api.photos_search(keyword: keyword)
    image_url = @flickr_api.parse_image_url(response.parsed_response)

    if image_url
      image_urls << image_url
      puts 'OK'
    else
      puts 'FAILED'
    end
  end

  image_urls
end