Sha256: 99289f016e424b792cc132e84a2a6fdae58269518646ed15263a9c170f09e7d0

Contents?: true

Size: 835 Bytes

Versions: 3

Compression:

Stored size: 835 Bytes

Contents

class Assumption::DataImporter

  include UniFunctions

  attr_reader :output
  attr_writer :input

  def initialize (year)
    
  begin
    html = open("http://www.uk-charts.top-source.info/top-100-#{year}.shtml")
  rescue OpenURI::HTTPError => error
    response = error.io
    clear_terminal
    puts "Source error, please contact gem creator"
    puts response.status
    puts "Press any key to exit"
    get_char
    exit
  end 

  doc = Nokogiri::HTML(html)
  @output = transform(doc)

  end

  private

  def transform(doc)
    obj_array = []
    doc.css("table.sortable tbody tr").each do |row|
      song = Assumption::Song.new(row.css("td")[0].text.to_i, row.css("td")[2].text.split.map(&:capitalize).join(' '), row.css("td")[1].text.split.map(&:capitalize).join(' '))
      obj_array << song
    end
    obj_array
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
assumption-0.2.1 lib/assumption/data_importer.rb
assumption-0.2.0 lib/assumption/data_importer.rb
assumption-0.1.0 lib/assumption/data_importer.rb