Class: YankeeScore::ScoreScraper
- Inherits:
-
Object
- Object
- YankeeScore::ScoreScraper
- Defined in:
- lib/yankee_score/score_scraper.rb
Constant Summary collapse
- @@base_url =
"http://gd2.mlb.com/components/game/mlb/"
Instance Method Summary collapse
- #build_url(date = Date.today) ⇒ Object
- #data ⇒ Object
- #games ⇒ Object
- #json ⇒ Object
- #load_games ⇒ Object
- #valid_game? ⇒ Boolean
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 |
#data ⇒ Object
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 |
#games ⇒ Object
21 22 23 |
# File 'lib/yankee_score/score_scraper.rb', line 21 def games json[:data][:games][:game] end |
#json ⇒ Object
17 18 19 |
# File 'lib/yankee_score/score_scraper.rb', line 17 def json @json ||= JSON.parse(data, symbolize_names: true) end |
#load_games ⇒ Object
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
37 38 39 |
# File 'lib/yankee_score/score_scraper.rb', line 37 def valid_game? !!games end |