Sha256: d64bd985e1a228607fc05d4c5e8221a21aec554275bf1bdfc6080bec8df28768

Contents?: true

Size: 831 Bytes

Versions: 11

Compression:

Stored size: 831 Bytes

Contents

# frozen_string_literal: true

module AhlScraper
  class GameDataFetcher
    BROKEN_GAMES = [1_018_774, 1_001_050, 1_020_527, 1_003_351].freeze

    def initialize(game_id)
      @game_id = game_id
    end

    def call
      return fixed_game if BROKEN_GAMES.include? @game_id

      JSON.parse(Nokogiri::HTML(URI.parse(url).open).text[5..-2], symbolize_names: true)
    end

    private

    def fixed_game
      path = File.join(File.dirname(__FILE__), "../fixed_games/#{@game_id}.json")
      file = File.read(path)
      JSON.parse(file, symbolize_names: true)
    end

    def url
      "http://lscluster.hockeytech.com/feed/index.php?feed=statviewfeed&view=gameSummary&game_id=#{@game_id}&key=50c2cd9b5e18e390&site_id=1&client_code=ahl&lang=en&league_id=&callback=json" # rubocop:disable Layout/LineLength
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
ahl_scraper-0.4.1 lib/ahl_scraper/fetchers/game_data_fetcher.rb
ahl_scraper-0.4.0 lib/ahl_scraper/fetchers/game_data_fetcher.rb
ahl_scraper-0.3.8 lib/ahl_scraper/fetchers/game_data_fetcher.rb
ahl_scraper-0.3.7 lib/ahl_scraper/fetchers/game_data_fetcher.rb
ahl_scraper-0.3.6 lib/ahl_scraper/fetchers/game_data_fetcher.rb
ahl_scraper-0.3.5 lib/ahl_scraper/fetchers/game_data_fetcher.rb
ahl_scraper-0.3.4 lib/ahl_scraper/fetchers/game_data_fetcher.rb
ahl_scraper-0.3.3 lib/ahl_scraper/fetchers/game_data_fetcher.rb
ahl_scraper-0.3.2 lib/ahl_scraper/fetchers/game_data_fetcher.rb
ahl_scraper-0.3.1 lib/ahl_scraper/fetchers/game_data_fetcher.rb
ahl_scraper-0.3.0 lib/ahl_scraper/fetchers/game_data_fetcher.rb