translink 0.0.1

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.
Files changed (43) hide show
  1. data/.gitignore +2 -0
  2. data/.travis.yml +4 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +21 -0
  5. data/README.md +34 -0
  6. data/Rakefile +10 -0
  7. data/bin/translink +7 -0
  8. data/doc/schema.graffle +786 -0
  9. data/doc/schema.png +0 -0
  10. data/lib/translink.rb +18 -0
  11. data/lib/translink/cli.rb +53 -0
  12. data/lib/translink/code.rb +9 -0
  13. data/lib/translink/crawler.rb +21 -0
  14. data/lib/translink/db.rb +20 -0
  15. data/lib/translink/model/route.rb +28 -0
  16. data/lib/translink/model/service.rb +20 -0
  17. data/lib/translink/model/stop.rb +31 -0
  18. data/lib/translink/model/stop/extractor.rb +67 -0
  19. data/lib/translink/page.rb +22 -0
  20. data/lib/translink/page/route.rb +29 -0
  21. data/lib/translink/page/timetable.rb +31 -0
  22. data/lib/translink/page/trip.rb +35 -0
  23. data/lib/translink/version.rb +3 -0
  24. data/test/fixtures/sample/route.html +1288 -0
  25. data/test/fixtures/sample/timetable.html +568 -0
  26. data/test/fixtures/verbatim/route.html +8484 -0
  27. data/test/fixtures/verbatim/timetable.html +6962 -0
  28. data/test/fixtures/verbatim/trip.html +856 -0
  29. data/test/helper.rb +9 -0
  30. data/test/unit/cli_test.rb +78 -0
  31. data/test/unit/code_test.rb +12 -0
  32. data/test/unit/crawler_test.rb +42 -0
  33. data/test/unit/model/route_test.rb +35 -0
  34. data/test/unit/model/service_test.rb +23 -0
  35. data/test/unit/model/stop/extractor_test.rb +112 -0
  36. data/test/unit/model/stop_test.rb +37 -0
  37. data/test/unit/page/route_test.rb +41 -0
  38. data/test/unit/page/timetable_test.rb +26 -0
  39. data/test/unit/page/trip_test.rb +35 -0
  40. data/test/unit/page_test.rb +11 -0
  41. data/tmp/.gitkeep +0 -0
  42. data/translink.gemspec +30 -0
  43. metadata +175 -0
@@ -0,0 +1,11 @@
1
+ require 'helper'
2
+
3
+ class PageTest < MiniTest::Unit::TestCase
4
+ def test_initialize
5
+ assert_equal 'http://localhost', Page.new('http://localhost').url.to_s
6
+ end
7
+
8
+ def test_agent
9
+ assert_equal "Translink/#{VERSION} Ruby/#{RUBY_VERSION} (https://github.com/tatey/translink)", Page.new('http://localhost').agent.user_agent
10
+ end
11
+ end
data/tmp/.gitkeep ADDED
File without changes
data/translink.gemspec ADDED
@@ -0,0 +1,30 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path('../lib', __FILE__)
3
+ require 'translink/version'
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = 'translink'
7
+ s.version = Translink::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ['Tate Johnson']
10
+ s.email = ['tate@tatey.com']
11
+ s.homepage = 'https://github.com/tatey/translink'
12
+ s.summary = %q{Scrapes bus stops, routes and service times into a nicely structured database.}
13
+ s.description = %q{Scrapes bus stops, routes and service times into a nicely structured database.}
14
+
15
+ s.rubyforge_project = 'translink'
16
+
17
+ s.required_ruby_version = '>= 1.9.2'
18
+
19
+ s.add_runtime_dependency 'dm-core', '~> 1.2.0'
20
+ s.add_runtime_dependency 'dm-migrations', '~> 1.2.0'
21
+ s.add_runtime_dependency 'dm-sqlite-adapter', '~> 1.2.0'
22
+ s.add_runtime_dependency 'mechanize', '~> 2.0.1'
23
+ s.add_development_dependency 'rake', '~> 0.9.2'
24
+ s.add_development_dependency 'webmock', '~> 1.7.8'
25
+
26
+ s.files = `git ls-files`.split("\n")
27
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
28
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
29
+ s.require_paths = ['lib']
30
+ end
metadata ADDED
@@ -0,0 +1,175 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: translink
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Tate Johnson
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-03-15 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: dm-core
16
+ requirement: &70250850818120 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 1.2.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70250850818120
25
+ - !ruby/object:Gem::Dependency
26
+ name: dm-migrations
27
+ requirement: &70250850817300 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: 1.2.0
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70250850817300
36
+ - !ruby/object:Gem::Dependency
37
+ name: dm-sqlite-adapter
38
+ requirement: &70250850816380 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 1.2.0
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70250850816380
47
+ - !ruby/object:Gem::Dependency
48
+ name: mechanize
49
+ requirement: &70250850815300 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 2.0.1
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *70250850815300
58
+ - !ruby/object:Gem::Dependency
59
+ name: rake
60
+ requirement: &70250850814000 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: 0.9.2
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70250850814000
69
+ - !ruby/object:Gem::Dependency
70
+ name: webmock
71
+ requirement: &70250850812500 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: 1.7.8
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70250850812500
80
+ description: Scrapes bus stops, routes and service times into a nicely structured
81
+ database.
82
+ email:
83
+ - tate@tatey.com
84
+ executables:
85
+ - translink
86
+ extensions: []
87
+ extra_rdoc_files: []
88
+ files:
89
+ - .gitignore
90
+ - .travis.yml
91
+ - Gemfile
92
+ - LICENSE
93
+ - README.md
94
+ - Rakefile
95
+ - bin/translink
96
+ - doc/schema.graffle
97
+ - doc/schema.png
98
+ - lib/translink.rb
99
+ - lib/translink/cli.rb
100
+ - lib/translink/code.rb
101
+ - lib/translink/crawler.rb
102
+ - lib/translink/db.rb
103
+ - lib/translink/model/route.rb
104
+ - lib/translink/model/service.rb
105
+ - lib/translink/model/stop.rb
106
+ - lib/translink/model/stop/extractor.rb
107
+ - lib/translink/page.rb
108
+ - lib/translink/page/route.rb
109
+ - lib/translink/page/timetable.rb
110
+ - lib/translink/page/trip.rb
111
+ - lib/translink/version.rb
112
+ - test/fixtures/sample/route.html
113
+ - test/fixtures/sample/timetable.html
114
+ - test/fixtures/verbatim/route.html
115
+ - test/fixtures/verbatim/timetable.html
116
+ - test/fixtures/verbatim/trip.html
117
+ - test/helper.rb
118
+ - test/unit/cli_test.rb
119
+ - test/unit/code_test.rb
120
+ - test/unit/crawler_test.rb
121
+ - test/unit/model/route_test.rb
122
+ - test/unit/model/service_test.rb
123
+ - test/unit/model/stop/extractor_test.rb
124
+ - test/unit/model/stop_test.rb
125
+ - test/unit/page/route_test.rb
126
+ - test/unit/page/timetable_test.rb
127
+ - test/unit/page/trip_test.rb
128
+ - test/unit/page_test.rb
129
+ - tmp/.gitkeep
130
+ - translink.gemspec
131
+ homepage: https://github.com/tatey/translink
132
+ licenses: []
133
+ post_install_message:
134
+ rdoc_options: []
135
+ require_paths:
136
+ - lib
137
+ required_ruby_version: !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: 1.9.2
143
+ required_rubygems_version: !ruby/object:Gem::Requirement
144
+ none: false
145
+ requirements:
146
+ - - ! '>='
147
+ - !ruby/object:Gem::Version
148
+ version: '0'
149
+ segments:
150
+ - 0
151
+ hash: 840536220578175397
152
+ requirements: []
153
+ rubyforge_project: translink
154
+ rubygems_version: 1.8.11
155
+ signing_key:
156
+ specification_version: 3
157
+ summary: Scrapes bus stops, routes and service times into a nicely structured database.
158
+ test_files:
159
+ - test/fixtures/sample/route.html
160
+ - test/fixtures/sample/timetable.html
161
+ - test/fixtures/verbatim/route.html
162
+ - test/fixtures/verbatim/timetable.html
163
+ - test/fixtures/verbatim/trip.html
164
+ - test/helper.rb
165
+ - test/unit/cli_test.rb
166
+ - test/unit/code_test.rb
167
+ - test/unit/crawler_test.rb
168
+ - test/unit/model/route_test.rb
169
+ - test/unit/model/service_test.rb
170
+ - test/unit/model/stop/extractor_test.rb
171
+ - test/unit/model/stop_test.rb
172
+ - test/unit/page/route_test.rb
173
+ - test/unit/page/timetable_test.rb
174
+ - test/unit/page/trip_test.rb
175
+ - test/unit/page_test.rb