greenmonster 0.4.0.dev → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.rspec +2 -0
 - data/README.markdown +19 -52
 - data/Rakefile +3 -0
 - data/greenmonster.gemspec +12 -13
 - data/lib/greenmonster.rb +47 -43
 - data/lib/greenmonster/spider.rb +107 -142
 - data/lib/greenmonster/version.rb +2 -2
 - data/{test/games/mlb → spec/games/tst}/year_2012/month_03/day_27/gid_2012_03_27_aaamlb_aabmlb_1/blank.txt +0 -0
 - data/{test/games/tst/year_2012/month_03/day_27/gid_2012_03_27_aaamlb_aabmlb_1 → spec/games/tst/year_2012/month_03/day_27/gid_2012_03_27_aaamlb_aabmlb_1_bak}/blank.txt +0 -0
 - data/spec/games/tst/year_2012/month_03/day_27/not_2012_03_27_aaamlb_aabmlb_1/blank.txt +0 -0
 - data/spec/greenmonster/spider_spec.rb +85 -0
 - data/spec/greenmonster_spec.rb +45 -0
 - data/spec/spec_helper.rb +25 -0
 - metadata +52 -71
 - data/lib/generators/greenmonster/install_mlb_games_generator.rb +0 -20
 - data/lib/generators/greenmonster/install_players_generator.rb +0 -20
 - data/lib/generators/templates/install_greenmonster_mlb_games_migration.rb +0 -54
 - data/lib/generators/templates/install_greenmonster_players_migration.rb +0 -37
 - data/lib/greenmonster/model_extensions/mlb_game.rb +0 -106
 - data/lib/greenmonster/model_extensions/mlb_probable_pitcher.rb +0 -11
 - data/lib/greenmonster/model_extensions/player.rb +0 -16
 - data/lib/greenmonster/parser.rb +0 -27
 - data/test/games/mlb/year_2011/month_07/day_04/gid_2011_07_04_tormlb_bosmlb_1/boxscore.xml +0 -5
 - data/test/games/mlb/year_2011/month_07/day_04/gid_2011_07_04_tormlb_bosmlb_1/eventLog.xml +0 -1
 - data/test/games/mlb/year_2011/month_07/day_04/gid_2011_07_04_tormlb_bosmlb_1/inning/inning_all.xml +0 -1
 - data/test/games/mlb/year_2011/month_07/day_04/gid_2011_07_04_tormlb_bosmlb_1/inning/inning_hit.xml +0 -1
 - data/test/games/mlb/year_2011/month_07/day_04/gid_2011_07_04_tormlb_bosmlb_1/linescore.xml +0 -117
 - data/test/games/mlb/year_2011/month_07/day_04/gid_2011_07_04_tormlb_bosmlb_1/players.xml +0 -56
 - data/test/test_create_mlb_game_from_gameday_xml_game.rb +0 -12
 - data/test/test_create_players_from_gameday_xml_game.rb +0 -8
 - data/test/test_greenmonster.rb +0 -12
 - data/test/test_greenmonster_player.rb +0 -7
 - data/test/test_greenmonster_spider.rb +0 -107
 - data/test/test_greenmonster_traversal.rb +0 -31
 - data/test/test_helper.rb +0 -78
 - data/test/test_line_score.rb +0 -12
 - data/test/test_parse_mlb_probable_pitchers_from_linescore_data.rb +0 -14
 - data/test/test_parse_players_from_gameday_xml_files.rb +0 -21
 - data/test/test_update_mlb_game_with_linescore_data.rb +0 -23
 
    
        data/lib/greenmonster/version.rb
    CHANGED
    
    | 
         @@ -1,3 +1,3 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Greenmonster
         
     | 
| 
       2 
     | 
    
         
            -
              VERSION = "0. 
     | 
| 
       3 
     | 
    
         
            -
            end
         
     | 
| 
      
 2 
     | 
    
         
            +
              VERSION = "0.5.0"
         
     | 
| 
      
 3 
     | 
    
         
            +
            end
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         @@ -0,0 +1,85 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'spec_helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            describe Greenmonster::Spider do
         
     | 
| 
      
 4 
     | 
    
         
            +
              before(:all) do
         
     | 
| 
      
 5 
     | 
    
         
            +
                FileUtils.rm_r('spec/games/mlb')
         
     | 
| 
      
 6 
     | 
    
         
            +
                Greenmonster.set_games_folder('spec/games')
         
     | 
| 
      
 7 
     | 
    
         
            +
                @spider = Greenmonster::Spider.new
         
     | 
| 
      
 8 
     | 
    
         
            +
              end
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
              describe "#pull_days" do
         
     | 
| 
      
 11 
     | 
    
         
            +
                it "calls #pull_day for each date in the supplied range" do
         
     | 
| 
      
 12 
     | 
    
         
            +
                  @spider.stubs(pull_day: nil)
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                  @spider.pull_days(Date.new(2012,1,1)..Date.new(2012,1,3), {arg: 123})
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                  @spider.should have_received(:pull_day).with(Date.new(2012,1,1), {arg: 123})
         
     | 
| 
      
 17 
     | 
    
         
            +
                  @spider.should have_received(:pull_day).with(Date.new(2012,1,2), {arg: 123})
         
     | 
| 
      
 18 
     | 
    
         
            +
                  @spider.should have_received(:pull_day).with(Date.new(2012,1,3), {arg: 123})
         
     | 
| 
      
 19 
     | 
    
         
            +
                end
         
     | 
| 
      
 20 
     | 
    
         
            +
              end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
              describe "#pull_day" do
         
     | 
| 
      
 23 
     | 
    
         
            +
                before(:each) do
         
     | 
| 
      
 24 
     | 
    
         
            +
                  @spider.stubs(
         
     | 
| 
      
 25 
     | 
    
         
            +
                    game_links_on_gameday_date_page: ['gid_2012_03_27_aaamlb_aabmlb_1', 'gid_2012_03_27_bbbmlb_bbcmlb_1'],
         
     | 
| 
      
 26 
     | 
    
         
            +
                    pull_game: true
         
     | 
| 
      
 27 
     | 
    
         
            +
                  )
         
     | 
| 
      
 28 
     | 
    
         
            +
                end
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                it "calls #game_links_on_gameday_date_page with the date and sport code" do
         
     | 
| 
      
 31 
     | 
    
         
            +
                  @spider.pull_day(Date.new(2012,3,27), 'mlb')
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                  @spider.should have_received(:game_links_on_gameday_date_page).with(
         
     | 
| 
      
 34 
     | 
    
         
            +
                    Date.new(2012,3,27),
         
     | 
| 
      
 35 
     | 
    
         
            +
                    'mlb'
         
     | 
| 
      
 36 
     | 
    
         
            +
                  )
         
     | 
| 
      
 37 
     | 
    
         
            +
                end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                it "calls #pull_game for each game link on the page" do
         
     | 
| 
      
 40 
     | 
    
         
            +
                  @spider.pull_day(Date.new(2012,3,27), 'mlb')
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                  @spider.should have_received(:pull_game).with(
         
     | 
| 
      
 43 
     | 
    
         
            +
                    'gid_2012_03_27_aaamlb_aabmlb_1',
         
     | 
| 
      
 44 
     | 
    
         
            +
                    Date.new(2012,3,27)
         
     | 
| 
      
 45 
     | 
    
         
            +
                  )
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
                  @spider.should have_received(:pull_game).with(
         
     | 
| 
      
 48 
     | 
    
         
            +
                    'gid_2012_03_27_bbbmlb_bbcmlb_1',
         
     | 
| 
      
 49 
     | 
    
         
            +
                    Date.new(2012,3,27)
         
     | 
| 
      
 50 
     | 
    
         
            +
                  )
         
     | 
| 
      
 51 
     | 
    
         
            +
                end
         
     | 
| 
      
 52 
     | 
    
         
            +
              end
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
              describe "#pull_game" do
         
     | 
| 
      
 55 
     | 
    
         
            +
                context "when all files are present on mlb.com server" do
         
     | 
| 
      
 56 
     | 
    
         
            +
                  before(:all) do
         
     | 
| 
      
 57 
     | 
    
         
            +
                    @spider.pull_game('gid_2012_09_10_atlmlb_milmlb_1', Date.new(2012,9,10))
         
     | 
| 
      
 58 
     | 
    
         
            +
                    @local_path = Pathname.new(
         
     | 
| 
      
 59 
     | 
    
         
            +
                      './spec/games/mlb/year_2012/month_09/day_10/gid_2012_09_10_atlmlb_milmlb_1'
         
     | 
| 
      
 60 
     | 
    
         
            +
                    )
         
     | 
| 
      
 61 
     | 
    
         
            +
                  end
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
                  it "downloads boxscore.xml for the game" do
         
     | 
| 
      
 64 
     | 
    
         
            +
                    (@local_path + 'boxscore.xml').exist?.should be_true
         
     | 
| 
      
 65 
     | 
    
         
            +
                  end
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
                  it "downloads game_events.xml for the game" do
         
     | 
| 
      
 68 
     | 
    
         
            +
                    (@local_path + 'game_events.xml').exist?.should be_true
         
     | 
| 
      
 69 
     | 
    
         
            +
                  end
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
                  it "downloads linescore.xml for the game" do
         
     | 
| 
      
 72 
     | 
    
         
            +
                    (@local_path + 'linescore.xml').exist?.should be_true
         
     | 
| 
      
 73 
     | 
    
         
            +
                  end
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
                  it "downloads players.xml for the game" do
         
     | 
| 
      
 76 
     | 
    
         
            +
                    (@local_path + 'players.xml').exist?.should be_true
         
     | 
| 
      
 77 
     | 
    
         
            +
                  end
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
                  it "downloads the inning files for the games in 2007 or later" do
         
     | 
| 
      
 80 
     | 
    
         
            +
                    (@local_path + 'inning' + 'inning_all.xml').exist?.should be_true
         
     | 
| 
      
 81 
     | 
    
         
            +
                  end
         
     | 
| 
      
 82 
     | 
    
         
            +
                end
         
     | 
| 
      
 83 
     | 
    
         
            +
              end
         
     | 
| 
      
 84 
     | 
    
         
            +
             
     | 
| 
      
 85 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,45 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'spec_helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            describe Greenmonster do
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              before(:all) do
         
     | 
| 
      
 6 
     | 
    
         
            +
                Greenmonster.set_games_folder("spec/games")
         
     | 
| 
      
 7 
     | 
    
         
            +
              end
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              describe ".traverse_dates" do
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                it "yields each date in the range with the argument hash" do
         
     | 
| 
      
 12 
     | 
    
         
            +
                  expect { |m|
         
     | 
| 
      
 13 
     | 
    
         
            +
                    Greenmonster.traverse_dates((Date.new(2012)..Date.new(2012,1,3)), {test: true}, &m)
         
     | 
| 
      
 14 
     | 
    
         
            +
                  }.to yield_successive_args(
         
     | 
| 
      
 15 
     | 
    
         
            +
                    [Date.new(2012,1,1), {test: true}],
         
     | 
| 
      
 16 
     | 
    
         
            +
                    [Date.new(2012,1,2), {test: true}],
         
     | 
| 
      
 17 
     | 
    
         
            +
                    [Date.new(2012,1,3), {test: true}]
         
     | 
| 
      
 18 
     | 
    
         
            +
                  )
         
     | 
| 
      
 19 
     | 
    
         
            +
                end
         
     | 
| 
      
 20 
     | 
    
         
            +
              end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
              describe ".traverse_folders_for_date" do
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                it "yields each valid game folder (gid-format, not a backup) and the argument hash" do
         
     | 
| 
      
 25 
     | 
    
         
            +
                  expect { |m|
         
     | 
| 
      
 26 
     | 
    
         
            +
                    Greenmonster.traverse_folders_for_date(
         
     | 
| 
      
 27 
     | 
    
         
            +
                      Date.new(2012,3,27), {sport_code: 'tst', other_arg: 1}, &m
         
     | 
| 
      
 28 
     | 
    
         
            +
                    )
         
     | 
| 
      
 29 
     | 
    
         
            +
                  }.to yield_successive_args(
         
     | 
| 
      
 30 
     | 
    
         
            +
                    ["gid_2012_03_27_aaamlb_aabmlb_1", {sport_code: "tst", other_arg: 1}],
         
     | 
| 
      
 31 
     | 
    
         
            +
                    ["gid_2012_03_27_bbbmlb_bbcmlb_1", {sport_code: "tst", other_arg: 1}]
         
     | 
| 
      
 32 
     | 
    
         
            +
                  )
         
     | 
| 
      
 33 
     | 
    
         
            +
                end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                it "does not throw an exception if no folder exists for the specified date" do
         
     | 
| 
      
 36 
     | 
    
         
            +
                  expect {
         
     | 
| 
      
 37 
     | 
    
         
            +
                    Greenmonster.traverse_folders_for_date(
         
     | 
| 
      
 38 
     | 
    
         
            +
                      Date.new(1700,1,1), {sport_code: 'mlb'}
         
     | 
| 
      
 39 
     | 
    
         
            +
                    )
         
     | 
| 
      
 40 
     | 
    
         
            +
                  }.to_not raise_error
         
     | 
| 
      
 41 
     | 
    
         
            +
                end
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
              end
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
            end
         
     | 
    
        data/spec/spec_helper.rb
    ADDED
    
    | 
         @@ -0,0 +1,25 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # This file was generated by the `rspec --init` command. Conventionally, all
         
     | 
| 
      
 2 
     | 
    
         
            +
            # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
         
     | 
| 
      
 3 
     | 
    
         
            +
            # Require this file using `require "spec_helper"` to ensure that it is only
         
     | 
| 
      
 4 
     | 
    
         
            +
            # loaded once.
         
     | 
| 
      
 5 
     | 
    
         
            +
            #
         
     | 
| 
      
 6 
     | 
    
         
            +
            # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
         
     | 
| 
      
 7 
     | 
    
         
            +
            require 'rspec'
         
     | 
| 
      
 8 
     | 
    
         
            +
            require 'rspec/autorun'
         
     | 
| 
      
 9 
     | 
    
         
            +
            require 'greenmonster'
         
     | 
| 
      
 10 
     | 
    
         
            +
            require 'mocha/api'
         
     | 
| 
      
 11 
     | 
    
         
            +
            require 'bourne'
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            RSpec.configure do |config|
         
     | 
| 
      
 14 
     | 
    
         
            +
              config.treat_symbols_as_metadata_keys_with_true_values = true
         
     | 
| 
      
 15 
     | 
    
         
            +
              config.run_all_when_everything_filtered = true
         
     | 
| 
      
 16 
     | 
    
         
            +
              config.filter_run :focus
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
              # Run specs in random order to surface order dependencies. If you find an
         
     | 
| 
      
 19 
     | 
    
         
            +
              # order dependency and want to debug it, you can fix the order by providing
         
     | 
| 
      
 20 
     | 
    
         
            +
              # the seed, which is printed after each run.
         
     | 
| 
      
 21 
     | 
    
         
            +
              #     --seed 1234
         
     | 
| 
      
 22 
     | 
    
         
            +
              config.order = 'random'
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
              config.mock_with :mocha
         
     | 
| 
      
 25 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,19 +1,19 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: greenmonster
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
       5 
     | 
    
         
            -
              prerelease:  
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.5.0
         
     | 
| 
      
 5 
     | 
    
         
            +
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
       8 
8 
     | 
    
         
             
            - Geoff Harcourt
         
     | 
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date:  
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2013-01-06 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: nokogiri
         
     | 
| 
       16 
     | 
    
         
            -
              requirement:  
     | 
| 
      
 16 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       17 
17 
     | 
    
         
             
                none: false
         
     | 
| 
       18 
18 
     | 
    
         
             
                requirements:
         
     | 
| 
       19 
19 
     | 
    
         
             
                - - ! '>='
         
     | 
| 
         @@ -21,10 +21,15 @@ dependencies: 
     | 
|
| 
       21 
21 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       22 
22 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       23 
23 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       24 
     | 
    
         
            -
              version_requirements:  
     | 
| 
      
 24 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 25 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 26 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 27 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 28 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 29 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       25 
30 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       26 
31 
     | 
    
         
             
              name: httparty
         
     | 
| 
       27 
     | 
    
         
            -
              requirement:  
     | 
| 
      
 32 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       28 
33 
     | 
    
         
             
                none: false
         
     | 
| 
       29 
34 
     | 
    
         
             
                requirements:
         
     | 
| 
       30 
35 
     | 
    
         
             
                - - ! '>='
         
     | 
| 
         @@ -32,21 +37,15 @@ dependencies: 
     | 
|
| 
       32 
37 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       33 
38 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       34 
39 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       35 
     | 
    
         
            -
              version_requirements:  
     | 
| 
       36 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       37 
     | 
    
         
            -
              name: activerecord
         
     | 
| 
       38 
     | 
    
         
            -
              requirement: &70241678952100 !ruby/object:Gem::Requirement
         
     | 
| 
      
 40 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       39 
41 
     | 
    
         
             
                none: false
         
     | 
| 
       40 
42 
     | 
    
         
             
                requirements:
         
     | 
| 
       41 
43 
     | 
    
         
             
                - - ! '>='
         
     | 
| 
       42 
44 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       43 
45 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       44 
     | 
    
         
            -
              type: :runtime
         
     | 
| 
       45 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       46 
     | 
    
         
            -
              version_requirements: *70241678952100
         
     | 
| 
       47 
46 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       48 
     | 
    
         
            -
              name:  
     | 
| 
       49 
     | 
    
         
            -
              requirement:  
     | 
| 
      
 47 
     | 
    
         
            +
              name: rspec
         
     | 
| 
      
 48 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       50 
49 
     | 
    
         
             
                none: false
         
     | 
| 
       51 
50 
     | 
    
         
             
                requirements:
         
     | 
| 
       52 
51 
     | 
    
         
             
                - - ! '>='
         
     | 
| 
         @@ -54,10 +53,15 @@ dependencies: 
     | 
|
| 
       54 
53 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       55 
54 
     | 
    
         
             
              type: :development
         
     | 
| 
       56 
55 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       57 
     | 
    
         
            -
              version_requirements:  
     | 
| 
      
 56 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 57 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 58 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 59 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 60 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 61 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       58 
62 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       59 
     | 
    
         
            -
              name:  
     | 
| 
       60 
     | 
    
         
            -
              requirement:  
     | 
| 
      
 63 
     | 
    
         
            +
              name: bourne
         
     | 
| 
      
 64 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       61 
65 
     | 
    
         
             
                none: false
         
     | 
| 
       62 
66 
     | 
    
         
             
                requirements:
         
     | 
| 
       63 
67 
     | 
    
         
             
                - - ! '>='
         
     | 
| 
         @@ -65,10 +69,15 @@ dependencies: 
     | 
|
| 
       65 
69 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       66 
70 
     | 
    
         
             
              type: :development
         
     | 
| 
       67 
71 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       68 
     | 
    
         
            -
              version_requirements:  
     | 
| 
      
 72 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 73 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 74 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 75 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 76 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 77 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       69 
78 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       70 
     | 
    
         
            -
              name:  
     | 
| 
       71 
     | 
    
         
            -
              requirement:  
     | 
| 
      
 79 
     | 
    
         
            +
              name: rake
         
     | 
| 
      
 80 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       72 
81 
     | 
    
         
             
                none: false
         
     | 
| 
       73 
82 
     | 
    
         
             
                requirements:
         
     | 
| 
       74 
83 
     | 
    
         
             
                - - ! '>='
         
     | 
| 
         @@ -76,7 +85,12 @@ dependencies: 
     | 
|
| 
       76 
85 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       77 
86 
     | 
    
         
             
              type: :development
         
     | 
| 
       78 
87 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       79 
     | 
    
         
            -
              version_requirements:  
     | 
| 
      
 88 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 89 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 90 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 91 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 92 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 93 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       80 
94 
     | 
    
         
             
            description: A utility for working with MLB Gameday XML data.
         
     | 
| 
       81 
95 
     | 
    
         
             
            email:
         
     | 
| 
       82 
96 
     | 
    
         
             
            - geoff.harcourt@gmail.com
         
     | 
| 
         @@ -85,6 +99,7 @@ extensions: [] 
     | 
|
| 
       85 
99 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       86 
100 
     | 
    
         
             
            files:
         
     | 
| 
       87 
101 
     | 
    
         
             
            - .gitignore
         
     | 
| 
      
 102 
     | 
    
         
            +
            - .rspec
         
     | 
| 
       88 
103 
     | 
    
         
             
            - CHANGELOG.markdown
         
     | 
| 
       89 
104 
     | 
    
         
             
            - Gemfile
         
     | 
| 
       90 
105 
     | 
    
         
             
            - README.markdown
         
     | 
| 
         @@ -140,36 +155,15 @@ files: 
     | 
|
| 
       140 
155 
     | 
    
         
             
            - doc/rdoc.css
         
     | 
| 
       141 
156 
     | 
    
         
             
            - doc/table_of_contents.html
         
     | 
| 
       142 
157 
     | 
    
         
             
            - greenmonster.gemspec
         
     | 
| 
       143 
     | 
    
         
            -
            - lib/generators/greenmonster/install_mlb_games_generator.rb
         
     | 
| 
       144 
     | 
    
         
            -
            - lib/generators/greenmonster/install_players_generator.rb
         
     | 
| 
       145 
     | 
    
         
            -
            - lib/generators/templates/install_greenmonster_mlb_games_migration.rb
         
     | 
| 
       146 
     | 
    
         
            -
            - lib/generators/templates/install_greenmonster_players_migration.rb
         
     | 
| 
       147 
158 
     | 
    
         
             
            - lib/greenmonster.rb
         
     | 
| 
       148 
     | 
    
         
            -
            - lib/greenmonster/model_extensions/mlb_game.rb
         
     | 
| 
       149 
     | 
    
         
            -
            - lib/greenmonster/model_extensions/mlb_probable_pitcher.rb
         
     | 
| 
       150 
     | 
    
         
            -
            - lib/greenmonster/model_extensions/player.rb
         
     | 
| 
       151 
     | 
    
         
            -
            - lib/greenmonster/parser.rb
         
     | 
| 
       152 
159 
     | 
    
         
             
            - lib/greenmonster/spider.rb
         
     | 
| 
       153 
160 
     | 
    
         
             
            - lib/greenmonster/version.rb
         
     | 
| 
       154 
     | 
    
         
            -
            -  
     | 
| 
       155 
     | 
    
         
            -
            -  
     | 
| 
       156 
     | 
    
         
            -
            -  
     | 
| 
       157 
     | 
    
         
            -
            -  
     | 
| 
       158 
     | 
    
         
            -
            -  
     | 
| 
       159 
     | 
    
         
            -
            -  
     | 
| 
       160 
     | 
    
         
            -
            - test/games/mlb/year_2012/month_03/day_27/gid_2012_03_27_aaamlb_aabmlb_1/blank.txt
         
     | 
| 
       161 
     | 
    
         
            -
            - test/games/tst/year_2012/month_03/day_27/gid_2012_03_27_aaamlb_aabmlb_1/blank.txt
         
     | 
| 
       162 
     | 
    
         
            -
            - test/test_create_mlb_game_from_gameday_xml_game.rb
         
     | 
| 
       163 
     | 
    
         
            -
            - test/test_create_players_from_gameday_xml_game.rb
         
     | 
| 
       164 
     | 
    
         
            -
            - test/test_greenmonster.rb
         
     | 
| 
       165 
     | 
    
         
            -
            - test/test_greenmonster_player.rb
         
     | 
| 
       166 
     | 
    
         
            -
            - test/test_greenmonster_spider.rb
         
     | 
| 
       167 
     | 
    
         
            -
            - test/test_greenmonster_traversal.rb
         
     | 
| 
       168 
     | 
    
         
            -
            - test/test_helper.rb
         
     | 
| 
       169 
     | 
    
         
            -
            - test/test_line_score.rb
         
     | 
| 
       170 
     | 
    
         
            -
            - test/test_parse_mlb_probable_pitchers_from_linescore_data.rb
         
     | 
| 
       171 
     | 
    
         
            -
            - test/test_parse_players_from_gameday_xml_files.rb
         
     | 
| 
       172 
     | 
    
         
            -
            - test/test_update_mlb_game_with_linescore_data.rb
         
     | 
| 
      
 161 
     | 
    
         
            +
            - spec/games/tst/year_2012/month_03/day_27/gid_2012_03_27_aaamlb_aabmlb_1/blank.txt
         
     | 
| 
      
 162 
     | 
    
         
            +
            - spec/games/tst/year_2012/month_03/day_27/gid_2012_03_27_aaamlb_aabmlb_1_bak/blank.txt
         
     | 
| 
      
 163 
     | 
    
         
            +
            - spec/games/tst/year_2012/month_03/day_27/not_2012_03_27_aaamlb_aabmlb_1/blank.txt
         
     | 
| 
      
 164 
     | 
    
         
            +
            - spec/greenmonster/spider_spec.rb
         
     | 
| 
      
 165 
     | 
    
         
            +
            - spec/greenmonster_spec.rb
         
     | 
| 
      
 166 
     | 
    
         
            +
            - spec/spec_helper.rb
         
     | 
| 
       173 
167 
     | 
    
         
             
            homepage: http://github.com/geoffharcourt/greenmonster
         
     | 
| 
       174 
168 
     | 
    
         
             
            licenses: []
         
     | 
| 
       175 
169 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
         @@ -185,32 +179,19 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       185 
179 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       186 
180 
     | 
    
         
             
              none: false
         
     | 
| 
       187 
181 
     | 
    
         
             
              requirements:
         
     | 
| 
       188 
     | 
    
         
            -
              - - ! ' 
     | 
| 
      
 182 
     | 
    
         
            +
              - - ! '>='
         
     | 
| 
       189 
183 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       190 
     | 
    
         
            -
                  version:  
     | 
| 
      
 184 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
       191 
185 
     | 
    
         
             
            requirements: []
         
     | 
| 
       192 
186 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       193 
     | 
    
         
            -
            rubygems_version: 1.8. 
     | 
| 
      
 187 
     | 
    
         
            +
            rubygems_version: 1.8.24
         
     | 
| 
       194 
188 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       195 
189 
     | 
    
         
             
            specification_version: 3
         
     | 
| 
       196 
190 
     | 
    
         
             
            summary: A utility for working with MLB Gameday XML data.
         
     | 
| 
       197 
191 
     | 
    
         
             
            test_files:
         
     | 
| 
       198 
     | 
    
         
            -
            -  
     | 
| 
       199 
     | 
    
         
            -
            -  
     | 
| 
       200 
     | 
    
         
            -
            -  
     | 
| 
       201 
     | 
    
         
            -
            -  
     | 
| 
       202 
     | 
    
         
            -
            -  
     | 
| 
       203 
     | 
    
         
            -
            -  
     | 
| 
       204 
     | 
    
         
            -
            - test/games/mlb/year_2012/month_03/day_27/gid_2012_03_27_aaamlb_aabmlb_1/blank.txt
         
     | 
| 
       205 
     | 
    
         
            -
            - test/games/tst/year_2012/month_03/day_27/gid_2012_03_27_aaamlb_aabmlb_1/blank.txt
         
     | 
| 
       206 
     | 
    
         
            -
            - test/test_create_mlb_game_from_gameday_xml_game.rb
         
     | 
| 
       207 
     | 
    
         
            -
            - test/test_create_players_from_gameday_xml_game.rb
         
     | 
| 
       208 
     | 
    
         
            -
            - test/test_greenmonster.rb
         
     | 
| 
       209 
     | 
    
         
            -
            - test/test_greenmonster_player.rb
         
     | 
| 
       210 
     | 
    
         
            -
            - test/test_greenmonster_spider.rb
         
     | 
| 
       211 
     | 
    
         
            -
            - test/test_greenmonster_traversal.rb
         
     | 
| 
       212 
     | 
    
         
            -
            - test/test_helper.rb
         
     | 
| 
       213 
     | 
    
         
            -
            - test/test_line_score.rb
         
     | 
| 
       214 
     | 
    
         
            -
            - test/test_parse_mlb_probable_pitchers_from_linescore_data.rb
         
     | 
| 
       215 
     | 
    
         
            -
            - test/test_parse_players_from_gameday_xml_files.rb
         
     | 
| 
       216 
     | 
    
         
            -
            - test/test_update_mlb_game_with_linescore_data.rb
         
     | 
| 
      
 192 
     | 
    
         
            +
            - spec/games/tst/year_2012/month_03/day_27/gid_2012_03_27_aaamlb_aabmlb_1/blank.txt
         
     | 
| 
      
 193 
     | 
    
         
            +
            - spec/games/tst/year_2012/month_03/day_27/gid_2012_03_27_aaamlb_aabmlb_1_bak/blank.txt
         
     | 
| 
      
 194 
     | 
    
         
            +
            - spec/games/tst/year_2012/month_03/day_27/not_2012_03_27_aaamlb_aabmlb_1/blank.txt
         
     | 
| 
      
 195 
     | 
    
         
            +
            - spec/greenmonster/spider_spec.rb
         
     | 
| 
      
 196 
     | 
    
         
            +
            - spec/greenmonster_spec.rb
         
     | 
| 
      
 197 
     | 
    
         
            +
            - spec/spec_helper.rb
         
     | 
| 
         @@ -1,20 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            module Greenmonster
         
     | 
| 
       2 
     | 
    
         
            -
              module Generators
         
     | 
| 
       3 
     | 
    
         
            -
                class InstallMlbGamesGenerator < Rails::Generators::Base
         
     | 
| 
       4 
     | 
    
         
            -
                  include Rails::Generators::Migration
         
     | 
| 
       5 
     | 
    
         
            -
                  source_root File.expand_path('../../templates', __FILE__)
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
                  def self.next_migration_number(dirname) 
         
     | 
| 
       8 
     | 
    
         
            -
                    if ActiveRecord::Base.timestamped_migrations
         
     | 
| 
       9 
     | 
    
         
            -
                      Time.new.utc.strftime("%Y%m%d%H%M%S")
         
     | 
| 
       10 
     | 
    
         
            -
                    else
         
     | 
| 
       11 
     | 
    
         
            -
                      "%.3d" % (current_migration_number(dirname) + 1)
         
     | 
| 
       12 
     | 
    
         
            -
                    end
         
     | 
| 
       13 
     | 
    
         
            -
                  end
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
                  def create_migration_file
         
     | 
| 
       16 
     | 
    
         
            -
                    migration_template 'install_greenmonster_mlb_games_migration.rb', 'db/migrate/install_greenmonster_mlb_games.rb'
         
     | 
| 
       17 
     | 
    
         
            -
                  end
         
     | 
| 
       18 
     | 
    
         
            -
                end
         
     | 
| 
       19 
     | 
    
         
            -
              end
         
     | 
| 
       20 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,20 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            module Greenmonster
         
     | 
| 
       2 
     | 
    
         
            -
              module Generators
         
     | 
| 
       3 
     | 
    
         
            -
                class InstallPlayersGenerator < Rails::Generators::Base
         
     | 
| 
       4 
     | 
    
         
            -
                  include Rails::Generators::Migration
         
     | 
| 
       5 
     | 
    
         
            -
                  source_root File.expand_path('../../templates', __FILE__)
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
                  def self.next_migration_number(dirname) 
         
     | 
| 
       8 
     | 
    
         
            -
                    if ActiveRecord::Base.timestamped_migrations
         
     | 
| 
       9 
     | 
    
         
            -
                      Time.new.utc.strftime("%Y%m%d%H%M%S")
         
     | 
| 
       10 
     | 
    
         
            -
                    else
         
     | 
| 
       11 
     | 
    
         
            -
                      "%.3d" % (current_migration_number(dirname) + 1)
         
     | 
| 
       12 
     | 
    
         
            -
                    end
         
     | 
| 
       13 
     | 
    
         
            -
                  end
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
                  def create_migration_file
         
     | 
| 
       16 
     | 
    
         
            -
                    migration_template 'install_greenmonster_players_migration.rb', 'db/migrate/install_greenmonster_players.rb'
         
     | 
| 
       17 
     | 
    
         
            -
                  end
         
     | 
| 
       18 
     | 
    
         
            -
                end
         
     | 
| 
       19 
     | 
    
         
            -
              end
         
     | 
| 
       20 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,54 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            class InstallGreenmonsterMlbGames < ActiveRecord::Migration
         
     | 
| 
       2 
     | 
    
         
            -
              def self.up
         
     | 
| 
       3 
     | 
    
         
            -
            	  create_table "mlb_games", :force => true do |t|
         
     | 
| 
       4 
     | 
    
         
            -
                	t.date     "date"
         
     | 
| 
       5 
     | 
    
         
            -
                	t.datetime "created_at"
         
     | 
| 
       6 
     | 
    
         
            -
                	t.datetime "updated_at"
         
     | 
| 
       7 
     | 
    
         
            -
                	t.string   "away_division"
         
     | 
| 
       8 
     | 
    
         
            -
                	t.string   "home_division"
         
     | 
| 
       9 
     | 
    
         
            -
                	t.string   "game_id"
         
     | 
| 
       10 
     | 
    
         
            -
                	t.string   "game_location"
         
     | 
| 
       11 
     | 
    
         
            -
                	t.integer  "game_num"
         
     | 
| 
       12 
     | 
    
         
            -
                	t.integer  "game_pk"
         
     | 
| 
       13 
     | 
    
         
            -
                	t.string   "game_status",              :limit => 2
         
     | 
| 
       14 
     | 
    
         
            -
                	t.datetime "game_time"
         
     | 
| 
       15 
     | 
    
         
            -
                	t.boolean  "game_time_is_tbd"
         
     | 
| 
       16 
     | 
    
         
            -
                	t.integer  "game_time_offset_eastern"
         
     | 
| 
       17 
     | 
    
         
            -
                	t.integer  "game_time_offset_local"
         
     | 
| 
       18 
     | 
    
         
            -
                	t.string   "game_type",                :limit => 1
         
     | 
| 
       19 
     | 
    
         
            -
                	t.string   "game_venue"
         
     | 
| 
       20 
     | 
    
         
            -
                	t.boolean  "is_suspension_resumption"
         
     | 
| 
       21 
     | 
    
         
            -
                	t.boolean  "mlbtv"
         
     | 
| 
       22 
     | 
    
         
            -
                	t.string   "preview"
         
     | 
| 
       23 
     | 
    
         
            -
                	t.integer  "resumptionTime",           :limit => 8
         
     | 
| 
       24 
     | 
    
         
            -
                	t.datetime "scheduledTime"
         
     | 
| 
       25 
     | 
    
         
            -
                	t.string   "sport_code",               :limit => 3
         
     | 
| 
       26 
     | 
    
         
            -
                	t.integer  "venue_id"
         
     | 
| 
       27 
     | 
    
         
            -
                	t.string   "video_uri"
         
     | 
| 
       28 
     | 
    
         
            -
                	t.string   "wrapup"
         
     | 
| 
       29 
     | 
    
         
            -
                	t.boolean  "game_dh"
         
     | 
| 
       30 
     | 
    
         
            -
                	t.integer  "away_team_id"
         
     | 
| 
       31 
     | 
    
         
            -
                	t.integer  "home_team_id"
         
     | 
| 
       32 
     | 
    
         
            -
                	t.integer  "away_league_id"
         
     | 
| 
       33 
     | 
    
         
            -
                	t.integer  "home_league_id"
         
     | 
| 
       34 
     | 
    
         
            -
                	t.string   "away_sport_code"
         
     | 
| 
       35 
     | 
    
         
            -
                	t.string   "home_sport_code"
         
     | 
| 
       36 
     | 
    
         
            -
                	t.integer  "last_event_processed"
         
     | 
| 
       37 
     | 
    
         
            -
                end
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
              	add_index "mlb_games", ["away_league_id"], :name => "mlb_games-away_league_id"
         
     | 
| 
       40 
     | 
    
         
            -
              	add_index "mlb_games", ["away_team_id"], :name => "mlb_games-away_team_id"
         
     | 
| 
       41 
     | 
    
         
            -
              	add_index "mlb_games", ["date"], :name => "mlb_games-date"
         
     | 
| 
       42 
     | 
    
         
            -
              	add_index "mlb_games", ["game_id", "game_type"], :name => "mlb_games-game_id-game_type"
         
     | 
| 
       43 
     | 
    
         
            -
              	add_index "mlb_games", ["game_id"], :name => "mlb_games-game_id"
         
     | 
| 
       44 
     | 
    
         
            -
              	add_index "mlb_games", ["game_pk"], :name => "mlb_games-game_pk", :unique => true
         
     | 
| 
       45 
     | 
    
         
            -
              	add_index "mlb_games", ["home_division"], :name => "mlb_games-division_id"
         
     | 
| 
       46 
     | 
    
         
            -
              	add_index "mlb_games", ["home_league_id"], :name => "mlb_games-home_league_id"
         
     | 
| 
       47 
     | 
    
         
            -
              	add_index "mlb_games", ["home_team_id"], :name => "mlb_games-home_team_id"
         
     | 
| 
       48 
     | 
    
         
            -
              	add_index "mlb_games", ["venue_id"], :name => "mlb_games-venue_id"
         
     | 
| 
       49 
     | 
    
         
            -
            	end
         
     | 
| 
       50 
     | 
    
         
            -
            	
         
     | 
| 
       51 
     | 
    
         
            -
            	def self.down
         
     | 
| 
       52 
     | 
    
         
            -
            		drop_table :mlb_games
         
     | 
| 
       53 
     | 
    
         
            -
            	end
         
     | 
| 
       54 
     | 
    
         
            -
            end
         
     |