schedule-scraper 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml ADDED
@@ -0,0 +1,11 @@
1
+ language: ruby
2
+ rvm:
3
+ # - 1.8.7
4
+ - 1.9.2
5
+ - 1.9.3
6
+ # - jruby-18mode # JRuby in 1.8 mode
7
+ - jruby-19mode # JRuby in 1.9 mode
8
+ # - rbx-18mode
9
+ - rbx-19mode
10
+ # uncomment this line if your project needs to run something other than `rake`:
11
+ # script: bundle exec rspec spec
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # ScheduleScraper
2
2
 
3
+ [![Build Status](https://secure.travis-ci.org/johnallen3d/schedule-scrape.png?branch=master)](http://travis-ci.org/johnallen3d/schedule-scrape)
4
+
3
5
  A web calendar scraper for sites that do not provid portable (csv, i-cal etc) version.
4
6
 
5
7
  Supported schedule sites:
@@ -8,7 +10,7 @@ Supported schedule sites:
8
10
 
9
11
  Supported output formats:
10
12
 
11
- * CSV (plain dump)
13
+ * CSV (straight dump)
12
14
  * Google Calendar formatted CSV
13
15
 
14
16
  ## Installation
@@ -29,6 +29,15 @@ module ScheduleScraper
29
29
  private?
30
30
  ]
31
31
  end
32
+
33
+ def to_ical(cal)
34
+ cal.event do |event|
35
+ event.summary description
36
+ event.dtstart start_date_time
37
+ event.dtend end_date_time
38
+ event.location ""
39
+ end
40
+ end
32
41
  end
33
42
  end
34
43
 
@@ -31,6 +31,15 @@ module ScheduleScraper
31
31
  # will default to one hour?
32
32
  # end
33
33
 
34
+ def start_date_time
35
+ DateTime.strptime "#{start_date} #{start_time}", '%m/%d/%y %H:%M %P'
36
+ end
37
+
38
+ def end_date_time
39
+ # default to 1 hr
40
+ start_date_time.to_time + 3600
41
+ end
42
+
34
43
  def all_day?
35
44
  false
36
45
  end
@@ -1,3 +1,6 @@
1
+ require 'date'
2
+ require 'ri_cal'
3
+
1
4
  module ScheduleScraper
2
5
  module Schedule
3
6
  module ClassMethods
@@ -16,6 +19,17 @@ module ScheduleScraper
16
19
  end
17
20
  end
18
21
 
22
+ def to_ical
23
+ # inside RiCal block events are not available
24
+ local_events = events
25
+
26
+ RiCal.Calendar do |cal|
27
+ local_events.each do |local_event|
28
+ local_event.to_ical(cal)
29
+ end
30
+ end
31
+ end
32
+
19
33
  def to_gcal
20
34
  headers = [
21
35
  "Subject",
@@ -36,5 +50,16 @@ module ScheduleScraper
36
50
  end
37
51
  end
38
52
  end
53
+
54
+ def to_ycal
55
+ headers = %w(name start_date start_time end_date end_time venue_name venue_location category_id description ticket_price ticket_free ticket_url event_url personal)
56
+
57
+ CSV.generate do |csv|
58
+ csv << headers
59
+ events.each do |event|
60
+ csv << event.to_ycal
61
+ end
62
+ end
63
+ end
39
64
  end
40
65
  end
@@ -1,3 +1,3 @@
1
1
  module ScheduleScraper
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -16,7 +16,8 @@ Gem::Specification.new do |gem|
16
16
  gem.version = ScheduleScraper::VERSION
17
17
 
18
18
  gem.add_dependency 'nibbler', '~> 1.3.0'
19
- gem.add_dependency 'nokogiri', '~> 1.5.4'
19
+ gem.add_dependency 'nokogiri', '1.5.4'
20
+ gem.add_dependency 'ri_cal', '~> 0.8.8'
20
21
 
21
22
  gem.add_development_dependency 'minitest', '~> 3.1.0'
22
23
  gem.add_development_dependency 'rake', '~> 0.9.2'
@@ -85,4 +85,14 @@ describe ScheduleScraper::Pointstreak::Event do
85
85
  subject.to_gcal.must_equal expected
86
86
  end
87
87
  end
88
+
89
+ describe "#to_ical" do
90
+ it "provides an array ready to export to csv" do
91
+ local_subject = subject
92
+
93
+ RiCal.Calendar do |cal|
94
+ local_subject.to_ical(cal)
95
+ end.must_be_instance_of RiCal::Component::Calendar
96
+ end
97
+ end
88
98
  end
@@ -29,8 +29,11 @@ describe ScheduleScraper::Pointstreak::Schedule do
29
29
  end
30
30
 
31
31
  it "generates a google calendar formatted csv" do
32
- p subject.to_gcal
33
32
  subject.to_gcal.must_be_instance_of String
34
33
  end
34
+
35
+ it "generates an ical file" do
36
+ subject.to_ical.must_be_instance_of RiCal::Component::Calendar
37
+ end
35
38
  end
36
39
  end
@@ -24,9 +24,9 @@ http_interactions:
24
24
  - CP="NOI DSP CURa ADMa DEVa TAIa PSAa PSDa HISa OUR BUS IND PHY UNI COM NAV
25
25
  INT"
26
26
  expires:
27
- - Mon, 18-Jun-12 03:30:00 GMT
27
+ - Sun, 24-Jun-12 22:22:32 GMT
28
28
  last-modified:
29
- - Mon, 18 Jun 2012 03:28:00 GMT
29
+ - Sun, 24 Jun 2012 22:20:32 GMT
30
30
  content-type:
31
31
  - text/html; charset=UTF-8
32
32
  content-length:
@@ -36,9 +36,9 @@ http_interactions:
36
36
  vclhockey:
37
37
  - '1'
38
38
  date:
39
- - Mon, 18 Jun 2012 03:28:00 GMT
39
+ - Sun, 24 Jun 2012 22:20:33 GMT
40
40
  x-varnish:
41
- - '3214697408'
41
+ - '3310823725'
42
42
  age:
43
43
  - '0'
44
44
  via:
@@ -58,9 +58,9 @@ http_interactions:
58
58
  width=\"1\" height=\"1\"></td></tr>\r\n\t</table><br>\n <table width=\"97%\"
59
59
  border=\"0\" cellspacing=\"0\" cellpadding=\"3\">\n <tr class=\"cellTeamPlayer\">
60
60
  \n <td>&nbsp; Team Schedule</td>\t <td width=\"60%\"
61
- align=\"right\"> gamesheet view&nbsp;<img src=\"http://static1.pointstreak.com/images/playersection/gs.gif\"
61
+ align=\"right\"> gamesheet view&nbsp;<img src=\"http://static2.pointstreak.com/images/playersection/gs.gif\"
62
62
  width=\"15\" height=\"15\" border=\"0\" align=\"absmiddle\">&nbsp;&nbsp;&nbsp;
63
- printable gamesheett <img src=\"http://static1.pointstreak.com/images/playersection/ss.gif\"
63
+ printable gamesheett <img src=\"http://static2.pointstreak.com/images/playersection/ss.gif\"
64
64
  width=\"15\" height=\"15\" border=\"0\" align=\"absmiddle\"></td> </tr>\n
65
65
  \ </table>\n\t\t\t<table width=\"97%\" border=\"0\" cellspacing=\"1\"
66
66
  cellpadding=\"3\">\n\t\t\t\t\t<tr class=\"fields\">\n\t\t\t\t\t\t\t\t\t\t\t<td
@@ -72,75 +72,75 @@ http_interactions:
72
72
  href=\"players-team.html?teamid=385368&seasonid=9162\">SUMMIT</a><b> 8</b>\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td
73
73
  align=\"center\">Sun, Jun 03 </td>\n\t\t\t\t\t\t<td>7:45 pm</td>\n\t\t\t\t\t\t<td
74
74
  align=\"right\"><a href=\"players-boxscore.html?gameid=1947934\">final</a>\t
75
- <a href=\"gamesheet_full.html?gameid=1947934\" target=\"_blank\"><img src=\"http://static1.pointstreak.com/images/playersection/gs.gif\"
75
+ <a href=\"gamesheet_full.html?gameid=1947934\" target=\"_blank\"><img src=\"http://static2.pointstreak.com/images/playersection/gs.gif\"
76
76
  width=\"15\" height=\"15\" border=\"0\" align=\"absmiddle\"></a></td>\n\t\t\t\t\t\t<td><img
77
- src=\"http://static1.pointstreak.com/images/playersection/icon_manual.gif\"
77
+ src=\"http://static2.pointstreak.com/images/playersection/icon_manual.gif\"
78
78
  border=\"0\"></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t<tr class=\"lightGrey\">\n\t\t\t\t\t\t\t\t\t\t\t<td><a
79
79
  href=\"players-team.html?teamid=385368&seasonid=9162\">SUMMIT</a><b> 1</b></td><td><a
80
80
  href=\"players-team.html?teamid=385375&seasonid=9162\">BLACK ICE</a><b> 6</b>\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td
81
81
  align=\"center\">Sun, Jun 10 </td>\n\t\t\t\t\t\t<td>7:30 pm</td>\n\t\t\t\t\t\t<td
82
82
  align=\"right\"><a href=\"players-boxscore.html?gameid=1947939\">final</a>\t
83
- <a href=\"gamesheet_full.html?gameid=1947939\" target=\"_blank\"><img src=\"http://static1.pointstreak.com/images/playersection/gs.gif\"
83
+ <a href=\"gamesheet_full.html?gameid=1947939\" target=\"_blank\"><img src=\"http://static2.pointstreak.com/images/playersection/gs.gif\"
84
84
  width=\"15\" height=\"15\" border=\"0\" align=\"absmiddle\"></a></td>\n\t\t\t\t\t\t<td><img
85
- src=\"http://static1.pointstreak.com/images/playersection/icon_manual.gif\"
85
+ src=\"http://static2.pointstreak.com/images/playersection/icon_manual.gif\"
86
86
  border=\"0\"></td>\n\t\t\t\t\t</tr>\n\t\t\t\t<tr><td><span class=\"highlight\"></span><a
87
87
  href=\"players-team.html?teamid=385368&seasonid=9162\">SUMMIT</a></td>\n\t\t\t\t\t\t\t<td><span
88
88
  class=\"highlight\"></span><a href=\"players-team.html?teamid=385374&seasonid=9162\">OGIES</a></td>\n\t\t\t\t\t\t\t<td
89
89
  align=\"center\">Sun, Jul 01</td><td>6:05 pm</td>\n\t\t\t\t\t\t\t<td align=\"right\"><a
90
90
  href=\"players-arenas.html?arenaid=963&seasonid=9162\">Training Rink </a>
91
- <a href=\"gamesheet.html?gameid=1947947\" target=\"_blank\"><img src=\"http://static1.pointstreak.com/images/playersection/ss.gif\"
91
+ <a href=\"gamesheet.html?gameid=1947947\" target=\"_blank\"><img src=\"http://static2.pointstreak.com/images/playersection/ss.gif\"
92
92
  width=\"15\" height=\"15\" border=\"0\" align=\"absmiddle\"></a>\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td><img
93
- src=\"http://static1.pointstreak.com/images/playersection/icon_laptop.gif\"
93
+ src=\"http://static2.pointstreak.com/images/playersection/icon_laptop.gif\"
94
94
  border=\"0\"></td>\n\t\t\t\t\t\t</tr><tr><td><span class=\"highlight\"></span><a
95
95
  href=\"players-team.html?teamid=385370&seasonid=9162\">ANGRY BEAVERS</a></td>\n\t\t\t\t\t\t\t<td><span
96
96
  class=\"highlight\"></span><a href=\"players-team.html?teamid=385368&seasonid=9162\">SUMMIT</a></td>\n\t\t\t\t\t\t\t<td
97
97
  align=\"center\">Sun, Jul 15</td><td>7:20 pm</td>\n\t\t\t\t\t\t\t<td align=\"right\"><a
98
98
  href=\"players-arenas.html?arenaid=963&seasonid=9162\">Main Rink </a> <a href=\"gamesheet.html?gameid=1947952\"
99
- target=\"_blank\"><img src=\"http://static1.pointstreak.com/images/playersection/ss.gif\"
99
+ target=\"_blank\"><img src=\"http://static2.pointstreak.com/images/playersection/ss.gif\"
100
100
  width=\"15\" height=\"15\" border=\"0\" align=\"absmiddle\"></a>\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td><img
101
- src=\"http://static1.pointstreak.com/images/playersection/icon_laptop.gif\"
101
+ src=\"http://static2.pointstreak.com/images/playersection/icon_laptop.gif\"
102
102
  border=\"0\"></td>\n\t\t\t\t\t\t</tr><tr><td><span class=\"highlight\"></span><a
103
103
  href=\"players-team.html?teamid=385368&seasonid=9162\">SUMMIT</a></td>\n\t\t\t\t\t\t\t<td><span
104
104
  class=\"highlight\"></span><a href=\"players-team.html?teamid=385372&seasonid=9162\">REBELS</a></td>\n\t\t\t\t\t\t\t<td
105
105
  align=\"center\">Sun, Jul 22</td><td>4:40 pm</td>\n\t\t\t\t\t\t\t<td align=\"right\"><a
106
106
  href=\"players-arenas.html?arenaid=963&seasonid=9162\">Training Rink </a>
107
- <a href=\"gamesheet.html?gameid=1947969\" target=\"_blank\"><img src=\"http://static1.pointstreak.com/images/playersection/ss.gif\"
107
+ <a href=\"gamesheet.html?gameid=1947969\" target=\"_blank\"><img src=\"http://static2.pointstreak.com/images/playersection/ss.gif\"
108
108
  width=\"15\" height=\"15\" border=\"0\" align=\"absmiddle\"></a>\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td><img
109
- src=\"http://static1.pointstreak.com/images/playersection/icon_laptop.gif\"
109
+ src=\"http://static2.pointstreak.com/images/playersection/icon_laptop.gif\"
110
110
  border=\"0\"></td>\n\t\t\t\t\t\t</tr><tr><td><span class=\"highlight\"></span><a
111
111
  href=\"players-team.html?teamid=385371&seasonid=9162\">YELLOWSNOW</a></td>\n\t\t\t\t\t\t\t<td><span
112
112
  class=\"highlight\"></span><a href=\"players-team.html?teamid=385368&seasonid=9162\">SUMMIT</a></td>\n\t\t\t\t\t\t\t<td
113
113
  align=\"center\">Sun, Jul 29</td><td>4:40 pm</td>\n\t\t\t\t\t\t\t<td align=\"right\"><a
114
114
  href=\"players-arenas.html?arenaid=963&seasonid=9162\">Training Rink </a>
115
- <a href=\"gamesheet.html?gameid=1947941\" target=\"_blank\"><img src=\"http://static1.pointstreak.com/images/playersection/ss.gif\"
115
+ <a href=\"gamesheet.html?gameid=1947941\" target=\"_blank\"><img src=\"http://static2.pointstreak.com/images/playersection/ss.gif\"
116
116
  width=\"15\" height=\"15\" border=\"0\" align=\"absmiddle\"></a>\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td><img
117
- src=\"http://static1.pointstreak.com/images/playersection/icon_laptop.gif\"
117
+ src=\"http://static2.pointstreak.com/images/playersection/icon_laptop.gif\"
118
118
  border=\"0\"></td>\n\t\t\t\t\t\t</tr><tr><td><span class=\"highlight\"></span><a
119
119
  href=\"players-team.html?teamid=385368&seasonid=9162\">SUMMIT</a></td>\n\t\t\t\t\t\t\t<td><span
120
120
  class=\"highlight\"></span><a href=\"players-team.html?teamid=385369&seasonid=9162\">AVERAGE
121
121
  JOES</a></td>\n\t\t\t\t\t\t\t<td align=\"center\">Sun, Aug 05</td><td>6:05
122
122
  pm</td>\n\t\t\t\t\t\t\t<td align=\"right\"><a href=\"players-arenas.html?arenaid=963&seasonid=9162\">Training
123
123
  Rink </a> <a href=\"gamesheet.html?gameid=1947974\" target=\"_blank\"><img
124
- src=\"http://static1.pointstreak.com/images/playersection/ss.gif\" width=\"15\"
124
+ src=\"http://static2.pointstreak.com/images/playersection/ss.gif\" width=\"15\"
125
125
  height=\"15\" border=\"0\" align=\"absmiddle\"></a>\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td><img
126
- src=\"http://static1.pointstreak.com/images/playersection/icon_laptop.gif\"
126
+ src=\"http://static2.pointstreak.com/images/playersection/icon_laptop.gif\"
127
127
  border=\"0\"></td>\n\t\t\t\t\t\t</tr><tr><td><span class=\"highlight\"></span><a
128
128
  href=\"players-team.html?teamid=385368&seasonid=9162\">SUMMIT</a></td>\n\t\t\t\t\t\t\t<td><span
129
129
  class=\"highlight\"></span><a href=\"players-team.html?teamid=385373&seasonid=9162\">BLADES</a></td>\n\t\t\t\t\t\t\t<td
130
130
  align=\"center\">Sun, Aug 12</td><td>7:30 pm</td>\n\t\t\t\t\t\t\t<td align=\"right\"><a
131
131
  href=\"players-arenas.html?arenaid=963&seasonid=9162\">Training Rink </a>
132
- <a href=\"gamesheet.html?gameid=1947982\" target=\"_blank\"><img src=\"http://static1.pointstreak.com/images/playersection/ss.gif\"
132
+ <a href=\"gamesheet.html?gameid=1947982\" target=\"_blank\"><img src=\"http://static2.pointstreak.com/images/playersection/ss.gif\"
133
133
  width=\"15\" height=\"15\" border=\"0\" align=\"absmiddle\"></a>\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td><img
134
- src=\"http://static1.pointstreak.com/images/playersection/icon_laptop.gif\"
134
+ src=\"http://static2.pointstreak.com/images/playersection/icon_laptop.gif\"
135
135
  border=\"0\"></td>\n\t\t\t\t\t\t</tr>\t\t\t\t<tr>\n\t\t\t\t<td align=\"right\"
136
136
  colspan=\"6\"><br><a href=\"../aboutus/pointstreakis-entrytype.html\">Terminal
137
- Game/Rink - <img src=\"http://static1.pointstreak.com/images/playersection/icon_terminal.gif\"
137
+ Game/Rink - <img src=\"http://static2.pointstreak.com/images/playersection/icon_terminal.gif\"
138
138
  align=\"absmiddle\" border=0></a><br><a href=\"../aboutus/pointstreakis-entrytype.html\">Laptop
139
- Game/Rink - <img src=\"http://static1.pointstreak.com/images/playersection/icon_laptop.gif\"
139
+ Game/Rink - <img src=\"http://static2.pointstreak.com/images/playersection/icon_laptop.gif\"
140
140
  align=\"absmiddle\" border=0></a><br><a href=\"../aboutus/pointstreakis-entrytype.html\">Online
141
- Entry Game/Rink - <img src=\"http://static1.pointstreak.com/images/playersection/icon_manual.gif\"
141
+ Entry Game/Rink - <img src=\"http://static2.pointstreak.com/images/playersection/icon_manual.gif\"
142
142
  align=\"absmiddle\" border=0></a></td>\n\t\t \t\t</tr>\n\t\t</table>\n <br>\n
143
143
  \ <br>\n\n</td>\r\n</tr>\r\n</table>\r\n</body>\r\n</html>"
144
144
  http_version: '1.1'
145
- recorded_at: Mon, 18 Jun 2012 03:28:00 GMT
145
+ recorded_at: Sun, 24 Jun 2012 22:20:36 GMT
146
146
  recorded_with: VCR 2.2.2
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schedule-scraper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-19 00:00:00.000000000 Z
12
+ date: 2012-06-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nibbler
16
- requirement: &70168497621260 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,21 +21,47 @@ dependencies:
21
21
  version: 1.3.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70168497621260
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 1.3.0
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: nokogiri
27
- requirement: &70168497620760 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
- - - ~>
35
+ - - '='
31
36
  - !ruby/object:Gem::Version
32
37
  version: 1.5.4
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70168497620760
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - '='
44
+ - !ruby/object:Gem::Version
45
+ version: 1.5.4
46
+ - !ruby/object:Gem::Dependency
47
+ name: ri_cal
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 0.8.8
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.8.8
36
62
  - !ruby/object:Gem::Dependency
37
63
  name: minitest
38
- requirement: &70168497620300 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
39
65
  none: false
40
66
  requirements:
41
67
  - - ~>
@@ -43,10 +69,15 @@ dependencies:
43
69
  version: 3.1.0
44
70
  type: :development
45
71
  prerelease: false
46
- version_requirements: *70168497620300
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 3.1.0
47
78
  - !ruby/object:Gem::Dependency
48
79
  name: rake
49
- requirement: &70168497619820 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
50
81
  none: false
51
82
  requirements:
52
83
  - - ~>
@@ -54,10 +85,15 @@ dependencies:
54
85
  version: 0.9.2
55
86
  type: :development
56
87
  prerelease: false
57
- version_requirements: *70168497619820
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 0.9.2
58
94
  - !ruby/object:Gem::Dependency
59
95
  name: turn
60
- requirement: &70168497619320 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
61
97
  none: false
62
98
  requirements:
63
99
  - - ~>
@@ -65,10 +101,15 @@ dependencies:
65
101
  version: 0.9.5
66
102
  type: :development
67
103
  prerelease: false
68
- version_requirements: *70168497619320
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 0.9.5
69
110
  - !ruby/object:Gem::Dependency
70
111
  name: vcr
71
- requirement: &70168497635140 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
72
113
  none: false
73
114
  requirements:
74
115
  - - ~>
@@ -76,10 +117,15 @@ dependencies:
76
117
  version: 2.2.0
77
118
  type: :development
78
119
  prerelease: false
79
- version_requirements: *70168497635140
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 2.2.0
80
126
  - !ruby/object:Gem::Dependency
81
127
  name: fakeweb
82
- requirement: &70168497634600 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
83
129
  none: false
84
130
  requirements:
85
131
  - - ~>
@@ -87,7 +133,12 @@ dependencies:
87
133
  version: 1.3.0
88
134
  type: :development
89
135
  prerelease: false
90
- version_requirements: *70168497634600
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: 1.3.0
91
142
  description: Scrapes online schedules and provides portable versions
92
143
  email:
93
144
  - john@threedogconsulting.com
@@ -96,6 +147,7 @@ extensions: []
96
147
  extra_rdoc_files: []
97
148
  files:
98
149
  - .gitignore
150
+ - .travis.yml
99
151
  - .yardopts
100
152
  - Gemfile
101
153
  - LICENSE
@@ -108,7 +160,7 @@ files:
108
160
  - lib/schedule-scraper/schedule.rb
109
161
  - lib/schedule-scraper/version.rb
110
162
  - schedule-scraper.gemspec
111
- - spec/schedule-scraper/evet_spec.rb
163
+ - spec/schedule-scraper/event_spec.rb
112
164
  - spec/schedule-scraper/pointstreak/event_spec.rb
113
165
  - spec/schedule-scraper/pointstreak/schedule_spec.rb
114
166
  - spec/schedule-scraper/schedule_spec.rb
@@ -135,17 +187,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
187
  version: '0'
136
188
  requirements: []
137
189
  rubyforge_project:
138
- rubygems_version: 1.8.10
190
+ rubygems_version: 1.8.23
139
191
  signing_key:
140
192
  specification_version: 3
141
193
  summary: A web calendar scraper for sites that do not provid portable (csv, i-cal
142
194
  etc) version. Initial version suport PointStreak.com.
143
195
  test_files:
144
- - spec/schedule-scraper/evet_spec.rb
196
+ - spec/schedule-scraper/event_spec.rb
145
197
  - spec/schedule-scraper/pointstreak/event_spec.rb
146
198
  - spec/schedule-scraper/pointstreak/schedule_spec.rb
147
199
  - spec/schedule-scraper/schedule_spec.rb
148
200
  - spec/schedule-scraper_spec.rb
149
201
  - spec/spec_helper.rb
150
202
  - spec/vcr_cassettes/summit_summer_2012.yml
151
- has_rdoc: