greenmonster 0.4.0.dev → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. data/.rspec +2 -0
  2. data/README.markdown +19 -52
  3. data/Rakefile +3 -0
  4. data/greenmonster.gemspec +12 -13
  5. data/lib/greenmonster.rb +47 -43
  6. data/lib/greenmonster/spider.rb +107 -142
  7. data/lib/greenmonster/version.rb +2 -2
  8. data/{test/games/mlb → spec/games/tst}/year_2012/month_03/day_27/gid_2012_03_27_aaamlb_aabmlb_1/blank.txt +0 -0
  9. 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
  10. data/spec/games/tst/year_2012/month_03/day_27/not_2012_03_27_aaamlb_aabmlb_1/blank.txt +0 -0
  11. data/spec/greenmonster/spider_spec.rb +85 -0
  12. data/spec/greenmonster_spec.rb +45 -0
  13. data/spec/spec_helper.rb +25 -0
  14. metadata +52 -71
  15. data/lib/generators/greenmonster/install_mlb_games_generator.rb +0 -20
  16. data/lib/generators/greenmonster/install_players_generator.rb +0 -20
  17. data/lib/generators/templates/install_greenmonster_mlb_games_migration.rb +0 -54
  18. data/lib/generators/templates/install_greenmonster_players_migration.rb +0 -37
  19. data/lib/greenmonster/model_extensions/mlb_game.rb +0 -106
  20. data/lib/greenmonster/model_extensions/mlb_probable_pitcher.rb +0 -11
  21. data/lib/greenmonster/model_extensions/player.rb +0 -16
  22. data/lib/greenmonster/parser.rb +0 -27
  23. data/test/games/mlb/year_2011/month_07/day_04/gid_2011_07_04_tormlb_bosmlb_1/boxscore.xml +0 -5
  24. data/test/games/mlb/year_2011/month_07/day_04/gid_2011_07_04_tormlb_bosmlb_1/eventLog.xml +0 -1
  25. data/test/games/mlb/year_2011/month_07/day_04/gid_2011_07_04_tormlb_bosmlb_1/inning/inning_all.xml +0 -1
  26. data/test/games/mlb/year_2011/month_07/day_04/gid_2011_07_04_tormlb_bosmlb_1/inning/inning_hit.xml +0 -1
  27. data/test/games/mlb/year_2011/month_07/day_04/gid_2011_07_04_tormlb_bosmlb_1/linescore.xml +0 -117
  28. data/test/games/mlb/year_2011/month_07/day_04/gid_2011_07_04_tormlb_bosmlb_1/players.xml +0 -56
  29. data/test/test_create_mlb_game_from_gameday_xml_game.rb +0 -12
  30. data/test/test_create_players_from_gameday_xml_game.rb +0 -8
  31. data/test/test_greenmonster.rb +0 -12
  32. data/test/test_greenmonster_player.rb +0 -7
  33. data/test/test_greenmonster_spider.rb +0 -107
  34. data/test/test_greenmonster_traversal.rb +0 -31
  35. data/test/test_helper.rb +0 -78
  36. data/test/test_line_score.rb +0 -12
  37. data/test/test_parse_mlb_probable_pitchers_from_linescore_data.rb +0 -14
  38. data/test/test_parse_players_from_gameday_xml_files.rb +0 -21
  39. data/test/test_update_mlb_game_with_linescore_data.rb +0 -23
@@ -1,31 +0,0 @@
1
- require './test/test_helper.rb'
2
-
3
- class GreenmonsterTraversalTest < MiniTest::Unit::TestCase
4
- def test_traverse_dates_across_range
5
- assert_equal (Date.new(2012,4,15)..Date.new(2012,4,30)), Greenmonster.traverse_dates(Date.new(2012,4,15)..Date.new(2012,4,30)) {|g,a| g}
6
- end
7
-
8
- def test_traverse_dates_with_no_range
9
- assert_block do
10
- Greenmonster.traverse_dates do |d,a|
11
- d == Date.today
12
- end
13
- end
14
- end
15
-
16
- def test_traverse_folders_for_date
17
- assert_block do
18
- Greenmonster.traverse_folders_for_date(Date.new(2012,3,27), {:true_test => true, :false_test => false}) do |g,a|
19
- g == 'gid_2012_03_27_aaamlb_aabmlb_1' and a == {:true_test => true, :false_test => false}
20
- end
21
- end
22
- end
23
-
24
- def test_traverse_folders_for_non_mlb_sport_code
25
- assert_block do
26
- Greenmonster.traverse_folders_for_date(Date.new(2012,3,27), {:sport_code => 'tst'}) do |g,a|
27
- g == 'gid_2012_03_27_aaatst_aabtst_1'
28
- end
29
- end
30
- end
31
- end
@@ -1,78 +0,0 @@
1
- require "sqlite3"
2
- require "supermodel"
3
- require 'minitest/autorun'
4
- require 'greenmonster'
5
-
6
- ActiveRecord::Base.establish_connection(
7
- :adapter => 'sqlite3',
8
- :database => './test/test.db'
9
- )
10
-
11
- class CreateSchema < ActiveRecord::Migration
12
- def self.up
13
- create_table :athletes, :force => true do |t|
14
- t.string :first
15
- t.string :last
16
- end
17
-
18
- create_table :gameday_games, :force => true do |t|
19
- t.date "date"
20
- t.datetime "created_at"
21
- t.datetime "updated_at"
22
- t.string "away_division"
23
- t.string "home_division"
24
- t.string "game_id"
25
- t.string "game_location"
26
- t.integer "game_num"
27
- t.integer "game_pk"
28
- t.string "game_status", :limit => 2
29
- t.datetime "game_time"
30
- t.boolean "game_time_is_tbd"
31
- t.integer "game_time_offset_eastern"
32
- t.integer "game_time_offset_local"
33
- t.string "game_type", :limit => 1
34
- t.string "game_venue"
35
- t.boolean "is_suspension_resumption"
36
- t.boolean "mlbtv"
37
- t.string "preview"
38
- t.integer "resumptionTime", :limit => 8
39
- t.datetime "scheduledTime"
40
- t.string "sport_code", :limit => 3
41
- t.integer "venue_id"
42
- t.string "video_uri"
43
- t.string "wrapup"
44
- t.boolean "game_dh"
45
- t.integer "away_team_id"
46
- t.integer "home_team_id"
47
- t.integer "away_league_id"
48
- t.integer "home_league_id"
49
- t.string "away_sport_code"
50
- t.string "home_sport_code"
51
- t.integer "last_event_processed"
52
- end
53
-
54
- create_table :probable_pitchers, :force => true do |t|
55
- t.integer "game_pk"
56
- t.date "date"
57
- t.integer "player_id"
58
- t.string "side"
59
- end
60
- end
61
- end
62
-
63
- CreateSchema.suppress_messages { CreateSchema.migrate(:up) }
64
-
65
- class Athlete < ActiveRecord::Base
66
- include Greenmonster::Player
67
- end
68
-
69
- class GamedayGame < ActiveRecord::Base
70
- include Greenmonster::MlbGame
71
- end
72
-
73
- class ProbablePitcher < ActiveRecord::Base
74
- include Greenmonster::MlbProbablePitcher
75
- end
76
-
77
- Greenmonster.set_games_folder('./test/games')
78
- FileUtils.mkdir_p Greenmonster.games_folder
@@ -1,12 +0,0 @@
1
- require './test/test_helper.rb'
2
-
3
- class TestLineScore < MiniTest::Unit::TestCase
4
- def test_load_line_score
5
- linescore = Greenmonster::Parser.load_line_score('gid_2011_07_04_tormlb_bosmlb_1')
6
- assert_equal 288186, linescore.attribute('game_pk').value.to_i
7
- end
8
-
9
- def test_load_line_score_returns_false_on_failure
10
- refute Greenmonster::Parser.load_line_score('gid_2011_07_04_tormlb_bosmlb_7')
11
- end
12
- end
@@ -1,14 +0,0 @@
1
- require './test/test_helper.rb'
2
-
3
- class ParseMlbProbablePitchersFromLinescoreDataTest < MiniTest::Unit::TestCase
4
- def test_create_probable_pitcher
5
- node = nil
6
-
7
- a = ProbablePitcher.create_from_gameday_xml(node)
8
-
9
- assert_equal ProbablePitcher, a.class
10
- assert_equal 000000, a.player_id
11
- assert_equal 'a', a.side
12
- assert_equal 111111, a.game_pk
13
- end
14
- end
@@ -1,21 +0,0 @@
1
- require './test/test_helper.rb'
2
-
3
- class TestParsePlayersFromGamedayXMLFiles < MiniTest::Unit::TestCase
4
- def test_parse_players_from_game
5
- players = []
6
- Greenmonster::Parser.extract_players_from_game('gid_2011_07_04_tormlb_bosmlb_1') do |p|
7
- players << p
8
- end
9
- players.sort!{|x,y| x[:id] <=> y[:id]}
10
-
11
- assert_equal 50, players.count
12
- end
13
-
14
- def test_player_ids_stored_as_integers
15
- players = []
16
- Greenmonster::Parser.extract_players_from_game('gid_2011_07_04_tormlb_bosmlb_1') do |p|
17
- players << p
18
- end
19
- assert players.first[:id].kind_of? Integer
20
- end
21
- end
@@ -1,23 +0,0 @@
1
- require './test/test_helper.rb'
2
-
3
- class TestUpdateMlbGameWithLinescore < MiniTest::Unit::TestCase
4
- def test_update_with_linescore_data
5
- g = GamedayGame.new
6
- g.update_with_line_score_data(Greenmonster::Parser.load_line_score('gid_2011_07_04_tormlb_bosmlb_1'))
7
-
8
- assert_equal 288186, g.game_pk
9
- assert_equal 111, g.home_team_id
10
- assert_equal 141, g.away_team_id
11
- assert_equal 1, g.game_num
12
- assert_equal '20110704tormlbbosmlb1', g.game_id
13
- assert_equal Date.new(2011,7,4), g.date
14
- assert_equal 'F', g.game_status
15
- assert_equal Time.new(2011,7,4,13,35), g.game_time
16
- assert_equal 'R', g.game_type
17
- assert_equal 'Fenway Park', g.game_venue
18
- assert_equal 3, g.venue_id
19
- assert_equal 'mlb', g.sport_code
20
- assert_equal 103, g.home_league_id
21
- assert_equal 103, g.away_league_id
22
- end
23
- end