Sha256: d3e92d1bde63cd106dd5c7b1bdf18833d47e4a8a81576a6a571500c8ce1b210b
Contents?: true
Size: 999 Bytes
Versions: 3
Compression:
Stored size: 999 Bytes
Contents
require 'mechanize' module RMD module Base class Playlist attr_reader :errors, :link, :songs def initialize(link) @link = link @errors = [] @songs = [] end def success? !!songs && songs.count > 0 end def fetch; end private def agent agent ||= Mechanize.new end def page @page ||= agent.get(link) end def song_elements @song_element ||= page.search(song_css) end def calculate_progress if song_elements.count > 0 progress_bar = ProgressBar.create( starting_at: 0, total: song_elements.count, format: '%c / %C Songs %B %p%%' ) song_elements.each do |element| yield element.attr('href') progress_bar.increment end else @errors << 'Can not get song lists from this playlist page.' end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rmd-0.1.2 | lib/rmd/base/playlist.rb |
rmd-0.1.1 | lib/rmd/base/playlist.rb |
rmd-0.1.0 | lib/rmd/base/playlist.rb |