schedule-scraper 0.2.0 → 0.3.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/.travis.yml +11 -0
- data/README.md +3 -1
- data/lib/schedule-scraper/event.rb +9 -0
- data/lib/schedule-scraper/pointstreak/event.rb +9 -0
- data/lib/schedule-scraper/schedule.rb +25 -0
- data/lib/schedule-scraper/version.rb +1 -1
- data/schedule-scraper.gemspec +2 -1
- data/spec/schedule-scraper/{evet_spec.rb → event_spec.rb} +0 -0
- data/spec/schedule-scraper/pointstreak/event_spec.rb +10 -0
- data/spec/schedule-scraper/pointstreak/schedule_spec.rb +4 -1
- data/spec/vcr_cassettes/summit_summer_2012.yml +26 -26
- metadata +72 -21
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
|
+
[](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 (
|
13
|
+
* CSV (straight dump)
|
12
14
|
* Google Calendar formatted CSV
|
13
15
|
|
14
16
|
## Installation
|
@@ -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
|
data/schedule-scraper.gemspec
CHANGED
@@ -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', '
|
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'
|
File without changes
|
@@ -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
|
-
-
|
27
|
+
- Sun, 24-Jun-12 22:22:32 GMT
|
28
28
|
last-modified:
|
29
|
-
-
|
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
|
-
-
|
39
|
+
- Sun, 24 Jun 2012 22:20:33 GMT
|
40
40
|
x-varnish:
|
41
|
-
- '
|
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> Team Schedule</td>\t <td width=\"60%\"
|
61
|
-
align=\"right\"> gamesheet view <img src=\"http://
|
61
|
+
align=\"right\"> gamesheet view <img src=\"http://static2.pointstreak.com/images/playersection/gs.gif\"
|
62
62
|
width=\"15\" height=\"15\" border=\"0\" align=\"absmiddle\">
|
63
|
-
printable gamesheett <img src=\"http://
|
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://
|
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://
|
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://
|
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://
|
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://
|
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://
|
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://
|
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://
|
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://
|
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://
|
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://
|
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://
|
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://
|
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://
|
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://
|
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://
|
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://
|
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://
|
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://
|
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:
|
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.
|
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-
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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/
|
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.
|
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/
|
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:
|