Sha256: 673807e76b35a6e6e557401ff6b600300ce020dc7f3a6be469dc801e0d7d774a

Contents?: true

Size: 652 Bytes

Versions: 5

Compression:

Stored size: 652 Bytes

Contents

module SpotifyToMp3
  class TrackIdResolver
    def initialize(spotify)
      @spotify = spotify
    end

    def resolve(track_id)
      resolve_spotify_track(track_id) || resolve_plain_track(track_id)
    end

    private

    def resolve_spotify_track(id)
      if @spotify.resolvable_uri?(id)
        spotify_track = @spotify.get_track(id)
        description = "#{spotify_track.artist} - #{spotify_track.name}"
        grooveshark_query = "artist:\"#{spotify_track.artist}\" title:\"#{spotify_track.name}\""
        Track.new(description, grooveshark_query)
      end
    end

    def resolve_plain_track(id)
      Track.new(id)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
spotify-to-mp3-0.5.4 lib/spotify_to_mp3/track_id_resolver.rb
spotify-to-mp3-0.5.3 lib/spotify_to_mp3/track_id_resolver.rb
spotify-to-mp3-0.5.2 lib/spotify_to_mp3/track_id_resolver.rb
spotify-to-mp3-0.5.1 lib/spotify_to_mp3/track_id_resolver.rb
spotify-to-mp3-0.5 lib/spotify_to_mp3/track_id_resolver.rb