class SalaryScraper::BasketballReference

Class Pulls and Manipulates data from basketball-reference.com

Constants

ALL_TEAMS
PAYROLL
WEBSITE

Public Instance Methods

assign_key_to_value(number_arrays, players_data_array, head_array) click to toggle source
# File lib/nbasalaryscrape/salaryscrape.rb, line 57
def assign_key_to_value(number_arrays, players_data_array, head_array)
  data = []
  number_arrays.times do
    piece_of_data = Hash.new
    head_array.each do |x|
      piece_of_data[x] = players_data_array.first
      players_data_array.shift
    end
    data << piece_of_data
  end
  data
end
check_if_team_exist(team) click to toggle source
# File lib/nbasalaryscrape/salaryscrape.rb, line 79
def check_if_team_exist(team)
  if ALL_TEAMS.include?(team)
    return true
  else
    return false
  end
end
get_column_heads(team) click to toggle source
# File lib/nbasalaryscrape/salaryscrape.rb, line 32
def get_column_heads(team)
  doc = get_page(team)
  doc.xpath(HEAD)
end
get_page(team) click to toggle source
# File lib/nbasalaryscrape/salaryscrape.rb, line 21
def get_page(team)
  url = "#{WEBSITE}/#{team}.html"
  Nokogiri::HTML(open(url))
end
get_team(team) click to toggle source
# File lib/nbasalaryscrape/salaryscrape.rb, line 16
def get_team(team)
  doc = get_page(team)
  doc.xpath(PAYROLL)
end
head_array(team) click to toggle source
# File lib/nbasalaryscrape/salaryscrape.rb, line 37
def head_array(team)
  @head_array = []
  head = get_column_heads(team)
  head.each { |x| @head_array << x.text }
  @head_array
end
just_text(data) click to toggle source
# File lib/nbasalaryscrape/salaryscrape.rb, line 26
def just_text(data)
  textes_array = []
  data.each { |t| textes_array << t.text }
  textes_array
end
number_arrays() click to toggle source
# File lib/nbasalaryscrape/salaryscrape.rb, line 70
def number_arrays
  @players_data_array.size / @head_array.size
end
players_data_array(team) click to toggle source
# File lib/nbasalaryscrape/salaryscrape.rb, line 44
def players_data_array(team)
  @players_data_array = []
  players_data = get_team(team)
  players_data.each { |x| @players_data_array << x.text }
  @players_data_array
end
to_array_of_hashes(team) click to toggle source
# File lib/nbasalaryscrape/salaryscrape.rb, line 51
def to_array_of_hashes(team)
  players_array = players_data_array(team)
  header_array = head_array(team)
  assign_key_to_value(number_arrays, players_array, header_array)
end
to_yaml(team) click to toggle source
# File lib/nbasalaryscrape/salaryscrape.rb, line 74
def to_yaml(team)
  data = to_array_of_hashes(team)
  data.to_yaml
end