Class: YankeeScore::ScoreScraper

Inherits:
Object
  • Object
show all
Defined in:
lib/yankee_score/score_scraper.rb

Constant Summary collapse

@@base_url =
"http://gd2.mlb.com/components/game/mlb/"

Instance Method Summary collapse

Instance Method Details

#build_url(date = Date.today) ⇒ Object



6
7
8
# File 'lib/yankee_score/score_scraper.rb', line 6

def build_url(date = Date.today)
  "#{@@base_url}year_#{date.year}/month_#{date.strftime("%m")}/day_#{date.strftime("%d")}/master_scoreboard.json"
end

#dataObject



10
11
12
13
14
# File 'lib/yankee_score/score_scraper.rb', line 10

def data
    uri = URI.parse(self.build_url)
    response = Net::HTTP.get_response(uri)
    @data = response.body
end

#gamesObject



21
22
23
# File 'lib/yankee_score/score_scraper.rb', line 21

def games
  json[:data][:games][:game]
end

#jsonObject



17
18
19
# File 'lib/yankee_score/score_scraper.rb', line 17

def json
  @json ||= JSON.parse(data, symbolize_names: true)
end

#load_gamesObject



26
27
28
29
30
31
32
33
34
35
# File 'lib/yankee_score/score_scraper.rb', line 26

def load_games
  if valid_game?
    games.select do |game_hash|
      YankeeScore::Game.create_from_json(game_hash)
    end
  else
    puts "Dosn't seem to be any games today, try again tomorrow."
    exit
  end
end

#valid_game?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/yankee_score/score_scraper.rb', line 37

def valid_game?
  !!games
end