class Assumption::DataImporter

Attributes

input[W]
output[R]

Public Class Methods

new(year) click to toggle source
# File lib/assumption/data_importer.rb, line 8
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 Instance Methods

transform(doc) click to toggle source
# File lib/assumption/data_importer.rb, line 29
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