class FlickrCollage::FileLoader
Constants
- FLICK_RAW_URL_METHODS
Attributes
unsuccessful_keywords[RW]
Public Class Methods
image_list(keywords)
click to toggle source
# File lib/flickr_collage/file_loader.rb, line 9 def self.image_list(keywords) FileLoader.new.load_flickr_files(keywords) end
Public Instance Methods
load_flickr_files(keywords, image_list: Magick::ImageList.new, url_method: 'url_b')
click to toggle source
# File lib/flickr_collage/file_loader.rb, line 13 def load_flickr_files(keywords, image_list: Magick::ImageList.new, url_method: 'url_b') keywords.each { |k| image_list.push(load_flickr_file(k, url_method)) } [image_list, @unsuccessful_keywords] end
Private Instance Methods
flickr_file_url(keyword, url_method)
click to toggle source
# File lib/flickr_collage/file_loader.rb, line 32 def flickr_file_url(keyword, url_method) raise Errors::NoFlickRawURLMethod unless FLICK_RAW_URL_METHODS.include?(url_method) FlickRaw.send(url_method, flickr_photo_search(keyword)) end
flickr_photo_search(keyword)
click to toggle source
# File lib/flickr_collage/file_loader.rb, line 38 def flickr_photo_search(keyword) photo_search = flickr.photos.search( tags: [keyword], sort: 'interestingness-desc', content_type: 1, per_page: 1 ) raise Errors::NoImageFound unless photo_search.first photo_search.first end
load_flickr_file(keyword, url_method)
click to toggle source
# File lib/flickr_collage/file_loader.rb, line 21 def load_flickr_file(keyword, url_method) open(flickr_file_url(keyword, url_method)) do |uri| raise Errors::NoImageFound unless uri.is_a? ::Tempfile return Magick::Image.from_blob(uri.read).first end rescue Errors::NoImageFound (@unsuccessful_keywords ||= {})[keyword] = Dictionary.words.sample keyword = @unsuccessful_keywords[keyword] retry end