mlb_gd2 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 451f0d0d4e7e2d2a679f770c9947ca73954c2a34
4
- data.tar.gz: b951fdc9d2f34164ace157c46b8ce6fbc3495c6c
3
+ metadata.gz: b41f7e49bc5202d26ab922b5ac7db4d9381e3546
4
+ data.tar.gz: 40bd6864d0ac255e73111225fe7a4840995c1468
5
5
  SHA512:
6
- metadata.gz: 254765e777b468fa155acd428131f3a4d579cd9d5d3b14fb452653134459a51a011652ebb27f59520a5d974b5b0d7e957f33106b628037e0a9ac44b18db2f395
7
- data.tar.gz: c3f475bf07c57290bccc64918c6c5929967b143cd3f6fb137d5c3f11ea3bc47c9bf3cdbe9f17a4b0eae38b2bd969136a606206fb65975d39ddb2c41b9129807e
6
+ metadata.gz: 65efc088f49a55c0b10d6a64c5de0fa1e09c7796a9f3c7ddc7094b50b3972c70c18e69bc8228065f1f7ba096b6a97044d461f03587d2f35072e9064a889081d4
7
+ data.tar.gz: df5cd2efb5bd7208b3038a5a11a16f8b69d80e849237326c454eb5b4a49a07e47629e60955fc420a2f8ce2ba2a473426bb9d3c8e523dedb5cbc9ae867128368e
data/lib/mlb_gd2/game.rb CHANGED
@@ -1,11 +1,14 @@
1
1
  require "net/http"
2
2
  require "nokogiri"
3
+ require_relative "./helpers"
3
4
 
4
5
  class Game
5
6
 
7
+ include Helpers
8
+
6
9
  def initialize(url)
7
10
  @url = url
8
- @boxscore = GamedayUrlBuilder.generate_nokogiri_xml(url + 'boxscore.xml').xpath("//boxscore").first
11
+ @boxscore = generate_nokogiri_xml(url + 'boxscore.xml').xpath("//boxscore").first
9
12
  end
10
13
 
11
14
  def teams
@@ -1,17 +1,23 @@
1
1
  require "net/http"
2
2
  require "nokogiri"
3
+ require_relative "./helpers"
3
4
 
4
5
  class Gameday
5
6
 
7
+ include Helpers
8
+
6
9
  attr_reader :games, :date
7
10
 
8
11
  def initialize(year, month, day)
9
12
  date_time = Time.new(year, month, day)
10
- base_url = GamedayUrlBuilder.build_base_url(date_time)
13
+ base_url = build_base_url(date_time)
11
14
 
12
- @games = GamedayUrlBuilder.generate_nokogiri_html(base_url).search('a[href^="gid"]').map do |link|
15
+ @games = []
16
+ generate_nokogiri_html(base_url).search('a[href^="gid"]').each do |link|
13
17
  gid = link.attributes["href"].value
14
- Game.new(base_url + gid)
18
+ if valid_game?(base_url + gid)
19
+ @games << Game.new(base_url + gid)
20
+ end
15
21
  end
16
22
  @date = date_time.strftime("%B %-d, %Y")
17
23
  end
@@ -1,20 +1,24 @@
1
1
  require "net/http"
2
2
  require "nokogiri"
3
3
 
4
- class GamedayUrlBuilder
4
+ module Helpers
5
5
 
6
6
  GD2_MLB_BASE = "http://gd2.mlb.com/components/game/mlb"
7
7
 
8
- def self.build_base_url(date)
8
+ def build_base_url(date)
9
9
  GD2_MLB_BASE + date.strftime("/year_%Y/month_%m/day_%d/")
10
10
  end
11
11
 
12
- def self.generate_nokogiri_html(url)
12
+ def generate_nokogiri_html(url)
13
13
  Nokogiri::HTML(Net::HTTP.get(URI(url)))
14
14
  end
15
15
 
16
- def self.generate_nokogiri_xml(url)
16
+ def generate_nokogiri_xml(url)
17
17
  Nokogiri::XML(Net::HTTP.get(URI(url)))
18
18
  end
19
19
 
20
+ def valid_game?(url)
21
+ generate_nokogiri_xml(url).xpath('//a').map { |link| link.attribute('href').value }.include? "boxscore.xml"
22
+ end
23
+
20
24
  end
data/lib/mlb_gd2.rb CHANGED
@@ -1,3 +1,2 @@
1
1
  require 'mlb_gd2/game'
2
- require 'mlb_gd2/gameday'
3
- require 'mlb_gd2/gameday_helpers'
2
+ require 'mlb_gd2/gameday'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mlb_gd2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henry Firth
@@ -33,7 +33,7 @@ files:
33
33
  - lib/mlb_gd2.rb
34
34
  - lib/mlb_gd2/game.rb
35
35
  - lib/mlb_gd2/gameday.rb
36
- - lib/mlb_gd2/gameday_helpers.rb
36
+ - lib/mlb_gd2/helpers.rb
37
37
  homepage: http://rubygems.org/gems/mlb_gd2
38
38
  licenses:
39
39
  - MIT