class Kickme::SeasonDownloader

Attributes

country[R]
league[R]
web_page[R]

Public Class Methods

new(country:, league:, season:, web_page: nil) click to toggle source
# File lib/kickme/season_downloader.rb, line 6
def initialize(country:, league:, season:, web_page: nil)
  @country = country
  @league = league
  @season = season
  @web_page = web_page || Kickme.country_page(@country)
end

Public Instance Methods

download() click to toggle source
# File lib/kickme/season_downloader.rb, line 21
def download
  find_csv_link
  create_file
  puts "Created CSV for: #{@country}, #{@league}, #{@season}"
end
season() click to toggle source
# File lib/kickme/season_downloader.rb, line 13
def season
  if @season.include?("Season")
    @season
  else
    "Season #{@season}"
  end
end

Private Instance Methods

create_file() click to toggle source
# File lib/kickme/season_downloader.rb, line 38
def create_file
  clean_country = country.downcase
  clean_league = league.gsub(' ', '_').downcase
  clean_season = season.gsub(' ', '_').gsub('/', '-').downcase
  directory_path = "./csv/#{country}/#{clean_league}"
  FileUtils::mkdir_p(directory_path) if !File.exists?(directory_path)
  file = open("#{Kickme.base_uri}/#{@csv_link.attributes["href"].value}")
  IO.copy_stream(file, "#{directory_path}/#{clean_season}.csv")
end