tower_bridge_lifts 1.0.0 → 1.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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -2
  3. data/lib/tower_bridge_lifts/application.rb +0 -2
  4. data/lib/tower_bridge_lifts/base.rb +1 -0
  5. data/lib/tower_bridge_lifts/server.rb +0 -10
  6. data/lib/tower_bridge_lifts/version.rb +1 -1
  7. data/lib/tower_bridge_lifts/views.rb +2 -2
  8. data/reload +1 -1
  9. data/spec/tower_bridge_lifts_spec.rb +0 -1
  10. data/tower_bridge_lifts.gemspec +2 -1
  11. metadata +13 -50
  12. data/.rspec +0 -2
  13. data/.travis.yml +0 -5
  14. data/README.md +0 -107
  15. data/web/apidoc.html +0 -87
  16. data/web/apidoc.yaml +0 -163
  17. data/web/css/print.css +0 -1367
  18. data/web/css/reset.css +0 -125
  19. data/web/css/screen.css +0 -1497
  20. data/web/css/style.css +0 -249
  21. data/web/css/tblifts.css +0 -4
  22. data/web/css/typography.css +0 -14
  23. data/web/fonts/DroidSans-Bold.ttf +0 -0
  24. data/web/fonts/DroidSans.ttf +0 -0
  25. data/web/images/collapse.gif +0 -0
  26. data/web/images/expand.gif +0 -0
  27. data/web/images/explorer_icons.png +0 -0
  28. data/web/images/logo_small.png +0 -0
  29. data/web/images/throbber.gif +0 -0
  30. data/web/images/wordnik_api.png +0 -0
  31. data/web/index.rhtml +0 -42
  32. data/web/lib/backbone-min.js +0 -15
  33. data/web/lib/es5-shim.js +0 -2065
  34. data/web/lib/handlebars-4.0.5.js +0 -4608
  35. data/web/lib/highlight.9.1.0.pack.js +0 -2
  36. data/web/lib/highlight.9.1.0.pack_extended.js +0 -34
  37. data/web/lib/jquery-1.8.0.min.js +0 -2
  38. data/web/lib/jquery.ba-bbq.min.js +0 -18
  39. data/web/lib/jquery.slideto.min.js +0 -1
  40. data/web/lib/jquery.wiggle.min.js +0 -8
  41. data/web/lib/js-yaml.min.js +0 -3
  42. data/web/lib/jsoneditor.min.js +0 -11
  43. data/web/lib/lodash.min.js +0 -102
  44. data/web/lib/marked.js +0 -1272
  45. data/web/lib/object-assign-pollyfill.js +0 -23
  46. data/web/lib/sanitize-html.min.js +0 -6
  47. data/web/lib/swagger-oauth.js +0 -347
  48. data/web/o2c.html +0 -20
  49. data/web/swagger-ui.js +0 -25067
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2b539efb659f1637b3e60c99c07e35b1e9fc0c70
4
- data.tar.gz: 9eb11ff0612123417622b655a6ef4e1ee90721c4
3
+ metadata.gz: f8c2cfe2b2b6cd3b83b1f4a885588caa00229910
4
+ data.tar.gz: 876d50de5f419fdff93dc7e66906209d7fe04363
5
5
  SHA512:
6
- metadata.gz: a25aa0e328e6d4775778e01a2533a3c74369db2b32385e2856c6d3f132ba9868463babbe8b3723c91fc9a87b39a6b5e782f305f8969baa771c097db2dafa6291
7
- data.tar.gz: 0e71ad2fd65f61e0d98d6bdb20d0372e69c252efb7ac3f616cec59f574e7524245b1dfa3430e4016860c71e98577b6902c14f08dfd79064f9a83017f4072e71d
6
+ metadata.gz: e533588dfa4ae0023b635a41aec67fbb2bb8cae03044e4b8857fbc79e6c94e6745cc4703621eee727ef6fd9a5d22fd599fd24d6af60a100b918cf0a0efad8f03
7
+ data.tar.gz: 7d178bbfbd60b1b88758480a2d7db7f1073c16a185278939be160c4a20cd9a716b9aa4ac1cc5c76d90b9b8fb3a5a3f9383393692bbb2db91000bac023ab4e7db
data/.gitignore CHANGED
@@ -1,7 +1,5 @@
1
1
  .DS_Store
2
2
  *.gem
3
3
  /.bundle/
4
- /.yardoc
5
4
  /Gemfile.lock
6
- /spec/reports/
7
5
  /tmp/
@@ -61,8 +61,6 @@ module TowerBridgeLifts
61
61
  else ARGV[0]
62
62
  end
63
63
 
64
- options = {} unless ['lifts', 'server'].include?(command)
65
-
66
64
  unless Base::ALLOWED_COMMANDS.include?(command)
67
65
  puts "Unknown Command: #{command}"
68
66
  exit
@@ -29,6 +29,7 @@ module TowerBridgeLifts
29
29
  end
30
30
 
31
31
  def fetch
32
+ lifts = []
32
33
  error = nil
33
34
  page = Nokogiri::HTML(open(LIFTS_URL))
34
35
  page.css(('table tbody tr')).each do |line|
@@ -3,21 +3,11 @@ require 'sinatra/base'
3
3
  module TowerBridgeLifts
4
4
  class Server < Sinatra::Base
5
5
 
6
- helpers Helpers
7
6
  enable :logging
8
- set :public_folder, 'web'
9
7
 
10
8
  tblifts = Base.new
11
9
  view = View.new
12
10
 
13
- get '/' do
14
- tblifts.fetch if tblifts.expired?
15
- @tblifts = tblifts
16
- @view = view
17
- erb :index, views: settings.public_folder
18
- end
19
-
20
-
21
11
  get '/api/v1/:command' do
22
12
  content_type :json
23
13
  command = params['command']
@@ -1,4 +1,4 @@
1
1
 
2
2
  module TowerBridgeLifts
3
- VERSION = "1.0.0"
3
+ VERSION = "1.0.1"
4
4
  end
@@ -4,9 +4,10 @@ require 'erb'
4
4
 
5
5
  module TowerBridgeLifts
6
6
 
7
- class View ## Keeping them here instead of separate files
7
+ class View
8
8
 
9
9
  def render(object, command, options, format)
10
+ options = {} if command != 'lifts'
10
11
  result = object.error || (options.empty? ? object.send(command) : object.send(command, options))
11
12
  view_name = case
12
13
  when object.error then 'error'
@@ -19,7 +20,6 @@ module TowerBridgeLifts
19
20
 
20
21
  private
21
22
 
22
-
23
23
  def error(result, format)
24
24
  result.to_s
25
25
  end
data/reload CHANGED
@@ -1,4 +1,4 @@
1
1
  #/bin/sh
2
2
  gem uninstall tower_bridge_lifts
3
3
  gem build tower_bridge_lifts.gemspec
4
- gem install tower_bridge_lifts-1.0.0.gem
4
+ gem install tower_bridge_lifts-1.0.1.gem
@@ -6,7 +6,6 @@ describe TowerBridgeLifts do
6
6
  end
7
7
  end
8
8
 
9
-
10
9
  describe TowerBridgeLifts::Base do
11
10
  subject(:tbl) { described_class.new }
12
11
 
@@ -1,6 +1,7 @@
1
1
  # coding: utf-8
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
4
5
  require 'tower_bridge_lifts/version'
5
6
 
6
7
  Gem::Specification.new do |spec|
@@ -23,9 +24,9 @@ Gem::Specification.new do |spec|
23
24
  spec.add_development_dependency "rake", "~> 10.0"
24
25
  spec.add_development_dependency "rspec", "~> 3.0"
25
26
 
26
- spec.add_dependency 'nokogiri', '~> 1.6'
27
27
  spec.add_dependency 'sinatra', '~> 1.4'
28
28
  spec.add_dependency 'tzinfo', '~> 1.2'
29
+ spec.add_dependency 'nokogiri', '~> 1.6'
29
30
 
30
31
  end
31
32
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tower_bridge_lifts
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andre Parmeggiani
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-12 00:00:00.000000000 Z
11
+ date: 2017-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -53,47 +53,47 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: nokogiri
56
+ name: sinatra
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: '1.6'
61
+ version: '1.4'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ~>
67
67
  - !ruby/object:Gem::Version
68
- version: '1.6'
68
+ version: '1.4'
69
69
  - !ruby/object:Gem::Dependency
70
- name: sinatra
70
+ name: tzinfo
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ~>
74
74
  - !ruby/object:Gem::Version
75
- version: '1.4'
75
+ version: '1.2'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ~>
81
81
  - !ruby/object:Gem::Version
82
- version: '1.4'
82
+ version: '1.2'
83
83
  - !ruby/object:Gem::Dependency
84
- name: tzinfo
84
+ name: nokogiri
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ~>
88
88
  - !ruby/object:Gem::Version
89
- version: '1.2'
89
+ version: '1.6'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ~>
95
95
  - !ruby/object:Gem::Version
96
- version: '1.2'
96
+ version: '1.6'
97
97
  description: Provides lift times information, parsed from TowerBridge.org.uk
98
98
  email:
99
99
  - aaparmeggiani@gmail.com
@@ -103,12 +103,10 @@ extensions: []
103
103
  extra_rdoc_files: []
104
104
  files:
105
105
  - .gitignore
106
- - .rspec
107
- - .travis.yml
108
106
  - Gemfile
109
- - README.md
110
107
  - Rakefile
111
108
  - bin/tblifts
109
+ - lib/.DS_Store
112
110
  - lib/tower_bridge_lifts.rb
113
111
  - lib/tower_bridge_lifts/application.rb
114
112
  - lib/tower_bridge_lifts/base.rb
@@ -126,41 +124,6 @@ files:
126
124
  - spec/spec_helper.rb
127
125
  - spec/tower_bridge_lifts_spec.rb
128
126
  - tower_bridge_lifts.gemspec
129
- - web/apidoc.html
130
- - web/apidoc.yaml
131
- - web/css/print.css
132
- - web/css/reset.css
133
- - web/css/screen.css
134
- - web/css/style.css
135
- - web/css/tblifts.css
136
- - web/css/typography.css
137
- - web/fonts/DroidSans-Bold.ttf
138
- - web/fonts/DroidSans.ttf
139
- - web/images/collapse.gif
140
- - web/images/expand.gif
141
- - web/images/explorer_icons.png
142
- - web/images/logo_small.png
143
- - web/images/throbber.gif
144
- - web/images/wordnik_api.png
145
- - web/index.rhtml
146
- - web/lib/backbone-min.js
147
- - web/lib/es5-shim.js
148
- - web/lib/handlebars-4.0.5.js
149
- - web/lib/highlight.9.1.0.pack.js
150
- - web/lib/highlight.9.1.0.pack_extended.js
151
- - web/lib/jquery-1.8.0.min.js
152
- - web/lib/jquery.ba-bbq.min.js
153
- - web/lib/jquery.slideto.min.js
154
- - web/lib/jquery.wiggle.min.js
155
- - web/lib/js-yaml.min.js
156
- - web/lib/jsoneditor.min.js
157
- - web/lib/lodash.min.js
158
- - web/lib/marked.js
159
- - web/lib/object-assign-pollyfill.js
160
- - web/lib/sanitize-html.min.js
161
- - web/lib/swagger-oauth.js
162
- - web/o2c.html
163
- - web/swagger-ui.js
164
127
  homepage: https://github.com/aaparmeggiani/tower_bridge_lifts
165
128
  licenses:
166
129
  - MIT
@@ -181,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
181
144
  version: '0'
182
145
  requirements: []
183
146
  rubyforge_project:
184
- rubygems_version: 2.3.0
147
+ rubygems_version: 2.6.8
185
148
  signing_key:
186
149
  specification_version: 4
187
150
  summary: Tower Bridge lift times
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --format documentation
2
- --color
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.3.1
5
- before_install: gem install bundler -v 1.12.5
data/README.md DELETED
@@ -1,107 +0,0 @@
1
- # Tower Bridge Lifts
2
-
3
- Provides lift times information, parsed from TowerBridge.org.uk
4
-
5
- [missing_demo_link](http://www.github.com)
6
-
7
-
8
- ## Description
9
- This repo was born as I couldn't find an API to access bridge info to another side project and didn't hear back from the official website mantainers.
10
- It parses data from the official page (http://www.towerbridge.org.uk/lift-times) and makes it available in other formats.
11
-
12
- Bascule and traffic information are inferred from the lift times and might not correspond to reality.
13
- (Please ping me if you'd like to collaborate and improve them using computer vision on this live stream
14
- http://www.ustream.tv/towerbridge ;-)
15
-
16
-
17
- ## Installation
18
-
19
- Add it to your application's Gemfile:
20
-
21
- ```ruby
22
- gem 'tower_bridge_lifts'
23
- ```
24
-
25
- and..
26
-
27
- $ bundle
28
-
29
- OR from the command line:
30
-
31
- $ gem install tower_bridge_lifts
32
-
33
- ## Usage
34
-
35
- ### IRB or inside your own application:
36
-
37
- ```ruby
38
- require 'tower_bridge_lifts'
39
-
40
- bridge = TowerBridgeLifts::Base.new
41
- puts bridge.status
42
- puts bridge.time
43
- puts bridge.lifts
44
- puts bridge.next_lift
45
- puts bridge.updated
46
-
47
- ```
48
- ### Command line wrapper:
49
-
50
- ```
51
- $ tblifts --help
52
-
53
- Tower Bridge Lifts - provides lift times information, parsed from towerbridge.org.uk
54
-
55
- Usage:
56
- tblifts [COMMAND] [OPTIONS]
57
-
58
- Commands:
59
- <none> | lifts shows all scheduled lifts
60
- next | next_lift shows the next lift only
61
- bascules shows the bascules position
62
- time shows local time (London)
63
- traffic shows traffic status accross the bridge
64
- status shows all above
65
- server serves an api in server mode
66
-
67
- Options:
68
- -d, --date=date filter by date (DD-MM-YY | today | tomorrow)
69
- -c, --compact shows compact
70
- -g, --group group lifts by date
71
- -l, --lines=num lines to display
72
-
73
- -p, --port=port sets the port on server mode
74
-
75
- -h, --help displays help
76
- -v, --version displays version
77
-
78
- For more info, please visit http://github.com/aaparmeggiani/tower_bridge_lifts
79
-
80
- $ tblifts --date=today
81
- 01-Jan-16 Sun 08:00 ⬆︎ A Vessel
82
- 01-Jan-16 Sun 13:00 ⬇︎ Another Vessel
83
-
84
- $tblifts --group --lines=2
85
- 01-Jan-16 Sun [2] 08:00 13:00
86
- 02-Jan-16 Mon [4] 08:00 08:30 12:00 15:00 15:00
87
- ```
88
- ### Server mode:
89
-
90
- tblifts can also operate as a daemon, serving json through RESTful http requests.
91
-
92
- ```
93
- $ tblifts server -p 3000
94
- <tblifts listening on port 3000>
95
-
96
- $ curl http://localhost:3000/api/v1/status
97
- <json answer>
98
- ```
99
- API docs + sandbox can be found [here_missing_link](http://github.com).
100
-
101
- ## Contributing
102
-
103
- Bug reports and pull requests are welcome through this repo.
104
-
105
- ## License
106
-
107
- MIT
@@ -1,87 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="UTF-8">
5
- <title>Tower Bridge Lifts - API</title>
6
- <link href='css/typography.css' media='screen' rel='stylesheet' type='text/css'/>
7
- <link href='css/reset.css' media='screen' rel='stylesheet' type='text/css'/>
8
- <link href='css/screen.css' media='screen' rel='stylesheet' type='text/css'/>
9
- <link href='css/reset.css' media='print' rel='stylesheet' type='text/css'/>
10
- <link href='css/print.css' media='print' rel='stylesheet' type='text/css'/>
11
-
12
- <script src='lib/object-assign-pollyfill.js' type='text/javascript'></script>
13
- <script src='lib/jquery-1.8.0.min.js' type='text/javascript'></script>
14
- <script src='lib/jquery.slideto.min.js' type='text/javascript'></script>
15
- <script src='lib/jquery.wiggle.min.js' type='text/javascript'></script>
16
- <script src='lib/jquery.ba-bbq.min.js' type='text/javascript'></script>
17
- <script src='lib/handlebars-4.0.5.js' type='text/javascript'></script>
18
- <script src='lib/lodash.min.js' type='text/javascript'></script>
19
- <script src='lib/backbone-min.js' type='text/javascript'></script>
20
- <script src='swagger-ui.js' type='text/javascript'></script>
21
- <script src='lib/highlight.9.1.0.pack.js' type='text/javascript'></script>
22
- <script src='lib/highlight.9.1.0.pack_extended.js' type='text/javascript'></script>
23
- <script src='lib/jsoneditor.min.js' type='text/javascript'></script>
24
- <script src='lib/marked.js' type='text/javascript'></script>
25
- <script src='lib/swagger-oauth.js' type='text/javascript'></script>
26
-
27
-
28
- <script type="text/javascript">
29
- $(function () {
30
-
31
- hljs.configure({
32
- highlightSizeThreshold: 5000
33
- });
34
-
35
-
36
- window.swaggerUi = new SwaggerUi({
37
- url: "/apidoc.yaml",
38
- dom_id: "swagger-ui-container",
39
- supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],
40
- onComplete: function(swaggerApi, swaggerUi){
41
- if(typeof initOAuth == "function") {
42
- initOAuth({
43
- clientId: "your-client-id",
44
- clientSecret: "your-client-secret-if-required",
45
- realm: "your-realms",
46
- appName: "your-app-name",
47
- scopeSeparator: " ",
48
- additionalQueryStringParams: {}
49
- });
50
- }
51
-
52
- },
53
- onFailure: function(data) {
54
- log("Unable to Load SwaggerUI");
55
- },
56
- docExpansion: "list",
57
- jsonEditor: false,
58
- defaultModelRendering: 'schema',
59
- showRequestHeaders: false
60
- });
61
-
62
- window.swaggerUi.load();
63
-
64
- function log() {
65
- if ('console' in window) {
66
- console.log.apply(console, arguments);
67
- }
68
- }
69
- });
70
- </script>
71
- </head>
72
-
73
- <body class="swagger-section">
74
-
75
- <div class="swagger-ui-wrap">
76
- <div id='header'>
77
- <div id="api_selector">
78
- <a href="/">home</a> |
79
- <a href="/apidoc.html">api</a> |
80
- <a href="https://github.com/aaparmeggiani/tower_bridge_lifts">github</a>
81
- </div>
82
- </div>
83
- <div id="swagger-ui-container"></div>
84
- </div>
85
-
86
- </body>
87
- </html>