Class: Wallbum::DiscogsHelper
- Inherits:
-
Object
- Object
- Wallbum::DiscogsHelper
- Defined in:
- lib/wallbum/discogs_helper.rb
Instance Method Summary collapse
- #get_artist_images(artist_id, &block) ⇒ Object
- #get_discogs_artist_id(name) ⇒ Object
- #get_discogs_releases(artist_id) ⇒ Object
- #get_release_images(release, &block) ⇒ Object
-
#initialize ⇒ DiscogsHelper
constructor
A new instance of DiscogsHelper.
Constructor Details
#initialize ⇒ DiscogsHelper
Returns a new instance of DiscogsHelper.
6 7 8 |
# File 'lib/wallbum/discogs_helper.rb', line 6 def initialize @discogs_wrapper = Discogs::Wrapper.new('wallbum') end |
Instance Method Details
#get_artist_images(artist_id, &block) ⇒ Object
34 35 36 37 38 39 40 41 42 43 |
# File 'lib/wallbum/discogs_helper.rb', line 34 def get_artist_images(artist_id, &block) get_discogs_releases(artist_id).each do |release| begin get_release_images(release) do |filename, image| yield filename, image end rescue Discogs::UnknownResource end end end |
#get_discogs_artist_id(name) ⇒ Object
10 11 12 |
# File 'lib/wallbum/discogs_helper.rb', line 10 def get_discogs_artist_id(name) @discogs_wrapper.search(name, type: :artist).results.first.id end |
#get_discogs_releases(artist_id) ⇒ Object
14 15 16 |
# File 'lib/wallbum/discogs_helper.rb', line 14 def get_discogs_releases(artist_id) @discogs_wrapper.get_artist_releases(artist_id).releases end |
#get_release_images(release, &block) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/wallbum/discogs_helper.rb', line 18 def get_release_images(release, &block) return unless ['Main', 'Remix'].include? release.role puts "Downloading '#{release.title}'" release_images = @discogs_wrapper.get_release(release.main_release).images unless release_images.nil? filenames = release_images.map { |image| image.resource_url.split("/").last } filenames.each do |fn| yield fn, open( "http://s.pixogs.com/image/#{fn}", "User-Agent" => "Mozilla/5.0", "Referer" => "http://www.discogs.com/viewimages?release=#{release.main_release}") end end end |