class FronkinBandcampScraper::Release
Attributes
cover[RW]
date[RW]
doc[RW]
fans[RW]
formats[RW]
title[RW]
tracks[RW]
Public Class Methods
new(doc)
click to toggle source
# File lib/fronkin_bandcamp_scraper/release.rb, line 7 def initialize(doc) @doc = doc @title = doc.css('div#name-section h2.trackTitle').text.strip @date = doc.css('div.tralbumData.tralbum-credits meta').attribute('content').value @cover = doc.css('div#tralbumArt a.popupImage').attribute('href').value @tracks = scrape_tracks @tags = doc.css('div.tralbumData.tralbum-tags a.tag').map(&:text) end
Private Instance Methods
scrape_tracks()
click to toggle source
# File lib/fronkin_bandcamp_scraper/release.rb, line 18 def scrape_tracks track_titles = doc.css('table#track_table td.title-col span[itemprop="name"]').map(&:text) track_durations = doc.css('table#track_table td.title-col span.time').map { |node| node.text.strip } track_titles.zip(track_durations).map.with_index { |t, idx| Track.new(idx + 1, t[0], t[1]) } end