ldbws 1.0.1 → 1.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 629711e2f0ecde9ac01eaac4f20bc06b422171420b8ef090fdcaaef862274630
4
- data.tar.gz: 8a4b08a682981069a7fb77240ad6e4e3bdab678da0c02af22be3a1255a8f57d3
3
+ metadata.gz: 03b396b42b0cd40bc4324244fa97031f12777ed56c0a92b93a089a2f9e0d3ec1
4
+ data.tar.gz: b7f6dd9e7d172c12463bfa8af20278361482e19cd803f7125a644e4e2fceb408
5
5
  SHA512:
6
- metadata.gz: 22cc7775c39e4b85dc5a228685413a158910b86d46b245107632ab7c4c18044a6ddc3a6f621cdb252404966aee329c66b360edb45eb3d794ba06ce5c951dc914
7
- data.tar.gz: 558ec444228a7894b42798a65a21eee269b85b9e42c8043f6eafad8c7a402a77f93eedf18ad632f7bcaa0bd53cc2aea29433c02079db55b6b744c0e8485b35e6
6
+ metadata.gz: 3e0084d93616722c13e03538d6d15eaf7148316aee5f8d20dd77fe1c165c9b1426514609e5c8856d39efc7219d3f86efffdaeb13de6795114968089f88d7f360
7
+ data.tar.gz: c8023c556980bea9cc084994aa9ee39abaddecdf4e74ddbb8bf1dbe2d3f1ff9c40cdaa078de31124aaea2b559aef9f51363befabe1716a0dc6460cd6998990fc
data/.editorconfig CHANGED
@@ -8,7 +8,7 @@ root = true
8
8
  end_of_line = lf
9
9
  insert_final_newline = true
10
10
  charset = utf-8
11
- indent_style = tab
11
+ indent_style = space
12
12
  indent_size = 2
13
13
  max_line_length = 120
14
14
  trim_trailing_whitespace = true
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ldbws (1.0.1)
4
+ ldbws (1.0.3)
5
5
  dry-schema (~> 1.13)
6
6
  faraday (~> 2.7)
7
7
  nokogiri (~> 1.14)
@@ -23,12 +23,12 @@ GEM
23
23
  concurrent-ruby (~> 1.0)
24
24
  dry-core (~> 1.0, < 2)
25
25
  zeitwerk (~> 2.6)
26
- dry-schema (1.13.0)
26
+ dry-schema (1.13.1)
27
27
  concurrent-ruby (~> 1.0)
28
28
  dry-configurable (~> 1.0, >= 1.0.1)
29
29
  dry-core (~> 1.0, < 2)
30
30
  dry-initializer (~> 3.0)
31
- dry-logic (>= 1.5, < 2)
31
+ dry-logic (>= 1.4, < 2)
32
32
  dry-types (>= 1.7, < 2)
33
33
  zeitwerk (~> 2.6)
34
34
  dry-types (1.7.1)
@@ -41,7 +41,7 @@ GEM
41
41
  faraday-net_http (>= 2.0, < 3.1)
42
42
  ruby2_keywords (>= 0.0.4)
43
43
  faraday-net_http (3.0.2)
44
- nokogiri (1.14.2-arm64-darwin)
44
+ nokogiri (1.14.3-arm64-darwin)
45
45
  racc (~> 1.4)
46
46
  psych (5.1.0)
47
47
  stringio
@@ -76,4 +76,4 @@ DEPENDENCIES
76
76
  rufo (~> 0.13.0)
77
77
 
78
78
  BUNDLED WITH
79
- 2.4.6
79
+ 2.3.22
data/README.md CHANGED
@@ -1,18 +1,25 @@
1
- # ldbws-ruby
1
+ # ldbws
2
2
 
3
- I’ll write a proper readme/howto at some point, but short version is that this is a Ruby wrapper around [Network Rail‘s Live Departure Board web service](https://lite.realtime.nationalrail.co.uk/OpenLDBWS/) (LDBWS/OpenLDBWS)I’ve trawled through their XSD files so you don’t have to =)
3
+ This is a wrapper around [Network Rail‘s Live Departure Board web service](https://lite.realtime.nationalrail.co.uk/OpenLDBWS/) (LDBWS/OpenLDBWS), allowing a much simpler querying interface. As best I can tell, all functionality is supported, although the gem currently only queries the public API.
4
4
 
5
- I built it for a project I’m hacking at + thought I’d release it into the world. It’s rough and ready right now, but it should be somewhat functional.
5
+ You will need to [register for an API key](http://realtime.nationalrail.co.uk/OpenLDBWSRegistration/) in order to use this gem.
6
6
 
7
- ## HOWTO
8
7
 
9
- All operations are supported, in `snake_case`, thus:
8
+ ## Installation/usage
9
+
10
+ Add `ldbws` to your Gemfile
11
+
12
+ ```ruby
13
+ gem "ldbws"
14
+ ```
15
+
16
+ As long as you have an API key, you should be able to make requests against the service. Note that, per Ruby tradition, methods are written in `snake_case`, thus:
10
17
 
11
18
  ```ruby
12
19
  require "ldbws"
13
20
 
14
21
  service = Ldbws.service(YOUR_API_TOKEN)
15
- result = service.get_departure_board(crs: "CDF")
22
+ result = service.get_departure_board(crs: "CDF") # ie GetDepartureBoard
16
23
 
17
24
  puts "TIME PLAT TO"
18
25
  result.train_services.each do |service|
@@ -34,9 +41,8 @@ end
34
41
  # [etc]
35
42
  ```
36
43
 
37
- ### A note about rate limiting
38
-
39
- LDBWS uses rate-limiting for free access: while this <i>probably</i> isn’t going to be an issue for the casual user, you may want to consider using a cache in front of this gem, just in case.
44
+ Basic validation/coercion of parameters is provided (via [Dry::Schema](https://dry-rb.org/gems/dry-schema/)), but this is not exhaustive and should not be relied upon.
45
+ In particular, CRS codes—the three letter identifier for each station—are _not_ validated beyond “is it a three-letter string”.
40
46
 
41
47
  ## Error-handling
42
48
 
@@ -94,6 +94,7 @@
94
94
  <li ><a href="#method-i-get_dep_board_with_details">#get_dep_board_with_details</a>
95
95
  <li ><a href="#method-i-get_departure_board">#get_departure_board</a>
96
96
  <li ><a href="#method-i-get_departure_board_with_details">#get_departure_board_with_details</a>
97
+ <li ><a href="#method-i-get_fastest_departures">#get_fastest_departures</a>
97
98
  <li ><a href="#method-i-get_fastest_departures_with_details">#get_fastest_departures_with_details</a>
98
99
  <li ><a href="#method-i-get_next_departures">#get_next_departures</a>
99
100
  <li ><a href="#method-i-get_next_departures_with_details">#get_next_departures_with_details</a>
@@ -412,6 +413,34 @@
412
413
  </div>
413
414
  </div>
414
415
 
416
+ <div id="method-i-get_fastest_departures" class="method-detail ">
417
+ <div class="method-header">
418
+ <div class="method-heading">
419
+ <span class="method-name">get_fastest_departures</span><span
420
+ class="method-args">(params)</span>
421
+ <span class="method-click-advice">click to toggle source</span>
422
+ </div>
423
+ </div>
424
+
425
+ <div class="method-description">
426
+ <p>Retrieves the fastest departures from one station to one or many others.</p>
427
+
428
+ <p>Parameters are validated using <a href="Request/GetDeparturesBoard.html">GetDeparturesBoard</a>, returns a <a href="ResponseTypes/DeparturesBoard.html">DeparturesBoard</a> object.</p>
429
+
430
+ <div class="method-source-code" id="get_fastest_departures-source">
431
+ <pre><span class="ruby-comment"># File lib/ldbws/service.rb, line 124</span>
432
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_fastest_departures</span>(<span class="ruby-identifier">params</span>)
433
+ <span class="ruby-identifier">request</span>(
434
+ <span class="ruby-string">&quot;http://thalesgroup.com/RTTI/2015-05-14/ldb/GetFastestDepartures&quot;</span>,
435
+ <span class="ruby-constant">Request</span><span class="ruby-operator">::</span><span class="ruby-constant">GetDeparturesBoard</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">params</span>)
436
+ )
437
+ <span class="ruby-keyword">end</span></pre>
438
+ </div>
439
+ </div>
440
+
441
+
442
+ </div>
443
+
415
444
  <div id="method-i-get_fastest_departures_with_details" class="method-detail ">
416
445
  <div class="method-header">
417
446
  <div class="method-heading">
data/doc/README_md.html CHANGED
@@ -62,19 +62,10 @@
62
62
  <ul class="link-list" role="directory">
63
63
  <li>
64
64
  <details open>
65
- <summary> <a href="#label-ldbws-ruby">ldbws-ruby</a>
65
+ <summary> <a href="#label-ldbws">ldbws</a>
66
66
  </summary>
67
67
  <ul class="link-list" role="directory">
68
- <li>
69
- <details open>
70
- <summary> <a href="#label-HOWTO">HOWTO</a>
71
- </summary>
72
- <ul class="link-list" role="directory">
73
- <li> <a href="#label-A+note+about+rate+limiting">A note about rate limiting</a>
74
-
75
- </ul>
76
- </details>
77
- </li>
68
+ <li> <a href="#label-Installation-2Fusage">Installation/usage</a>
78
69
  <li>
79
70
  <details open>
80
71
  <summary> <a href="#label-Error-handling">Error-handling</a>
@@ -113,20 +104,25 @@
113
104
 
114
105
  <main role="main" aria-label="Page README.md">
115
106
 
116
- <h1 id="label-ldbws-ruby">ldbws-ruby<span><a href="#label-ldbws-ruby">&para;</a> <a href="#top">&uarr;</a></span></h1>
107
+ <h1 id="label-ldbws">ldbws<span><a href="#label-ldbws">&para;</a> <a href="#top">&uarr;</a></span></h1>
108
+
109
+ <p>This is a wrapper around <a href="https://lite.realtime.nationalrail.co.uk/OpenLDBWS/">Network Rail‘s Live Departure Board web service</a> (LDBWS/OpenLDBWS), allowing a much simpler querying interface. As best I can tell, all functionality is supported, although the gem currently only queries the public API.</p>
117
110
 
118
- <p>I’ll write a proper readme/howto at some point, but short version is that this is a Ruby wrapper around <a href="https://lite.realtime.nationalrail.co.uk/OpenLDBWS/">Network Rail‘s Live Departure Board web service</a> (LDBWS/OpenLDBWS)—I’ve trawled through their XSD files so you don’t have to =)</p>
111
+ <p>You will need to <a href="http://realtime.nationalrail.co.uk/OpenLDBWSRegistration/">register for an API key</a> in order to use this gem.</p>
119
112
 
120
- <p>I built it for a project I’m hacking at + thought I’d release it into the world. It’s rough and ready right now, but it should be somewhat functional.</p>
113
+ <h2 id="label-Installation-2Fusage">Installation/usage<span><a href="#label-Installation-2Fusage">&para;</a> <a href="#top">&uarr;</a></span></h2>
121
114
 
122
- <h2 id="label-HOWTO">HOWTO<span><a href="#label-HOWTO">&para;</a> <a href="#top">&uarr;</a></span></h2>
115
+ <p>Add <code>ldbws</code> to your Gemfile</p>
123
116
 
124
- <p>All operations are supported, in <code>snake_case</code>, thus:</p>
117
+ <pre class="ruby"><span class="ruby-identifier">gem</span> <span class="ruby-string">&quot;ldbws&quot;</span>
118
+ </pre>
119
+
120
+ <p>As long as you have an API key, you should be able to make requests against the service. Note that, per Ruby tradition, methods are written in <code>snake_case</code>, thus:</p>
125
121
 
126
122
  <pre class="ruby"><span class="ruby-identifier">require</span> <span class="ruby-string">&quot;ldbws&quot;</span>
127
123
 
128
124
  <span class="ruby-identifier">service</span> = <span class="ruby-constant">Ldbws</span>.<span class="ruby-identifier">service</span>(<span class="ruby-constant">YOUR_API_TOKEN</span>)
129
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">service</span>.<span class="ruby-identifier">get_departure_board</span>(<span class="ruby-value">crs:</span> <span class="ruby-string">&quot;CDF&quot;</span>)
125
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">service</span>.<span class="ruby-identifier">get_departure_board</span>(<span class="ruby-value">crs:</span> <span class="ruby-string">&quot;CDF&quot;</span>) <span class="ruby-comment"># ie GetDepartureBoard</span>
130
126
 
131
127
  <span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;TIME PLAT TO&quot;</span>
132
128
  <span class="ruby-identifier">result</span>.<span class="ruby-identifier">train_services</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">service</span><span class="ruby-operator">|</span>
@@ -148,9 +144,7 @@
148
144
  <span class="ruby-comment"># [etc]</span>
149
145
  </pre>
150
146
 
151
- <h3 id="label-A+note+about+rate+limiting">A note about rate limiting<span><a href="#label-A+note+about+rate+limiting">&para;</a> <a href="#top">&uarr;</a></span></h3>
152
-
153
- <p>LDBWS uses rate-limiting for free access: while this <em>probably</em> isn’t going to be an issue for the casual user, you may want to consider using a cache in front of this gem, just in case.</p>
147
+ <p>Basic validation/coercion of parameters is provided (via <a href="https://dry-rb.org/gems/dry-schema/">Dry::Schema</a>), but this is not exhaustive and should not be relied upon. In particular, CRS codes—the three letter identifier for each station—are <em>not</em> validated beyond “is it a three-letter string”.</p>
154
148
 
155
149
  <h2 id="label-Error-handling">Error-handling<span><a href="#label-Error-handling">&para;</a> <a href="#top">&uarr;</a></span></h2>
156
150
 
data/doc/created.rid CHANGED
@@ -1,20 +1,20 @@
1
- Mon, 03 Apr 2023 16:32:07 +0100
2
- LICENSE Thu, 06 Oct 2022 18:25:44 +0100
3
- README.md Mon, 03 Apr 2023 16:14:38 +0100
4
- ldbws-1.0.1.gem Mon, 03 Apr 2023 16:31:55 +0100
5
- lib/ldbws/request/base.rb Sun, 02 Apr 2023 11:45:01 +0100
6
- lib/ldbws/request/get_departures_board.rb Sat, 01 Apr 2023 18:55:20 +0100
7
- lib/ldbws/request/get_service_details.rb Sat, 01 Apr 2023 18:55:20 +0100
8
- lib/ldbws/request/get_station_board.rb Sat, 01 Apr 2023 18:55:20 +0100
9
- lib/ldbws/response_types/base.rb Sat, 01 Apr 2023 18:55:20 +0100
10
- lib/ldbws/response_types/calling_point.rb Sat, 01 Apr 2023 18:56:26 +0100
11
- lib/ldbws/response_types/departures_board.rb Sat, 01 Apr 2023 18:55:20 +0100
12
- lib/ldbws/response_types/formation.rb Sat, 01 Apr 2023 18:56:26 +0100
13
- lib/ldbws/response_types/parsing_functions.rb Sat, 01 Apr 2023 18:55:20 +0100
14
- lib/ldbws/response_types/service_details.rb Sat, 01 Apr 2023 18:56:26 +0100
15
- lib/ldbws/response_types/service_item.rb Sat, 01 Apr 2023 18:56:26 +0100
16
- lib/ldbws/response_types/station_board.rb Sat, 01 Apr 2023 18:55:20 +0100
17
- lib/ldbws/service.rb Sun, 02 Apr 2023 11:45:01 +0100
18
- lib/ldbws/utils.rb Sat, 01 Apr 2023 18:57:09 +0100
19
- lib/ldbws/version.rb Mon, 03 Apr 2023 16:12:40 +0100
20
- lib/ldbws.rb Sun, 02 Apr 2023 11:45:01 +0100
1
+ Mon, 10 Apr 2023 14:02:50 +0100
2
+ LICENSE Sat, 08 Apr 2023 11:42:51 +0100
3
+ README.md Mon, 10 Apr 2023 14:02:47 +0100
4
+ ldbws-1.0.3.gem Mon, 10 Apr 2023 14:00:35 +0100
5
+ lib/ldbws/request/base.rb Sat, 08 Apr 2023 23:01:22 +0100
6
+ lib/ldbws/request/get_departures_board.rb Sat, 08 Apr 2023 23:04:14 +0100
7
+ lib/ldbws/request/get_service_details.rb Mon, 10 Apr 2023 14:02:47 +0100
8
+ lib/ldbws/request/get_station_board.rb Mon, 10 Apr 2023 14:02:47 +0100
9
+ lib/ldbws/response_types/base.rb Sat, 08 Apr 2023 23:01:43 +0100
10
+ lib/ldbws/response_types/calling_point.rb Sat, 08 Apr 2023 23:01:40 +0100
11
+ lib/ldbws/response_types/departures_board.rb Sat, 08 Apr 2023 23:01:45 +0100
12
+ lib/ldbws/response_types/formation.rb Sat, 08 Apr 2023 23:01:46 +0100
13
+ lib/ldbws/response_types/parsing_functions.rb Sat, 08 Apr 2023 23:01:48 +0100
14
+ lib/ldbws/response_types/service_details.rb Sat, 08 Apr 2023 23:01:50 +0100
15
+ lib/ldbws/response_types/service_item.rb Sat, 08 Apr 2023 23:01:26 +0100
16
+ lib/ldbws/response_types/station_board.rb Sat, 08 Apr 2023 23:01:53 +0100
17
+ lib/ldbws/service.rb Sat, 08 Apr 2023 23:01:28 +0100
18
+ lib/ldbws/utils.rb Sat, 08 Apr 2023 23:01:29 +0100
19
+ lib/ldbws/version.rb Mon, 10 Apr 2023 14:02:47 +0100
20
+ lib/ldbws.rb Sat, 08 Apr 2023 23:01:52 +0100
data/doc/index.html CHANGED
@@ -111,20 +111,25 @@
111
111
  <main role="main">
112
112
 
113
113
 
114
- <h1 id="label-ldbws-ruby">ldbws-ruby<span><a href="#label-ldbws-ruby">&para;</a> <a href="#top">&uarr;</a></span></h1>
114
+ <h1 id="label-ldbws">ldbws<span><a href="#label-ldbws">&para;</a> <a href="#top">&uarr;</a></span></h1>
115
115
 
116
- <p>I’ll write a proper readme/howto at some point, but short version is that this is a Ruby wrapper around <a href="https://lite.realtime.nationalrail.co.uk/OpenLDBWS/">Network Rail‘s Live Departure Board web service</a> (LDBWS/OpenLDBWS)I’ve trawled through their XSD files so you don’t have to =)</p>
116
+ <p>This is a wrapper around <a href="https://lite.realtime.nationalrail.co.uk/OpenLDBWS/">Network Rail‘s Live Departure Board web service</a> (LDBWS/OpenLDBWS), allowing a much simpler querying interface. As best I can tell, all functionality is supported, although the gem currently only queries the public API.</p>
117
117
 
118
- <p>I built it for a project I’m hacking at + thought I’d release it into the world. It’s rough and ready right now, but it should be somewhat functional.</p>
118
+ <p>You will need to <a href="http://realtime.nationalrail.co.uk/OpenLDBWSRegistration/">register for an API key</a> in order to use this gem.</p>
119
119
 
120
- <h2 id="label-HOWTO">HOWTO<span><a href="#label-HOWTO">&para;</a> <a href="#top">&uarr;</a></span></h2>
120
+ <h2 id="label-Installation-2Fusage">Installation/usage<span><a href="#label-Installation-2Fusage">&para;</a> <a href="#top">&uarr;</a></span></h2>
121
121
 
122
- <p>All operations are supported, in <code>snake_case</code>, thus:</p>
122
+ <p>Add <code>ldbws</code> to your Gemfile</p>
123
+
124
+ <pre class="ruby"><span class="ruby-identifier">gem</span> <span class="ruby-string">&quot;ldbws&quot;</span>
125
+ </pre>
126
+
127
+ <p>As long as you have an API key, you should be able to make requests against the service. Note that, per Ruby tradition, methods are written in <code>snake_case</code>, thus:</p>
123
128
 
124
129
  <pre class="ruby"><span class="ruby-identifier">require</span> <span class="ruby-string">&quot;ldbws&quot;</span>
125
130
 
126
131
  <span class="ruby-identifier">service</span> = <span class="ruby-constant">Ldbws</span>.<span class="ruby-identifier">service</span>(<span class="ruby-constant">YOUR_API_TOKEN</span>)
127
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">service</span>.<span class="ruby-identifier">get_departure_board</span>(<span class="ruby-value">crs:</span> <span class="ruby-string">&quot;CDF&quot;</span>)
132
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">service</span>.<span class="ruby-identifier">get_departure_board</span>(<span class="ruby-value">crs:</span> <span class="ruby-string">&quot;CDF&quot;</span>) <span class="ruby-comment"># ie GetDepartureBoard</span>
128
133
 
129
134
  <span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;TIME PLAT TO&quot;</span>
130
135
  <span class="ruby-identifier">result</span>.<span class="ruby-identifier">train_services</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">service</span><span class="ruby-operator">|</span>
@@ -146,9 +151,7 @@
146
151
  <span class="ruby-comment"># [etc]</span>
147
152
  </pre>
148
153
 
149
- <h3 id="label-A+note+about+rate+limiting">A note about rate limiting<span><a href="#label-A+note+about+rate+limiting">&para;</a> <a href="#top">&uarr;</a></span></h3>
150
-
151
- <p>LDBWS uses rate-limiting for free access: while this <em>probably</em> isn’t going to be an issue for the casual user, you may want to consider using a cache in front of this gem, just in case.</p>
154
+ <p>Basic validation/coercion of parameters is provided (via <a href="https://dry-rb.org/gems/dry-schema/">Dry::Schema</a>), but this is not exhaustive and should not be relied upon. In particular, CRS codes—the three letter identifier for each station—are <em>not</em> validated beyond “is it a three-letter string”.</p>
152
155
 
153
156
  <h2 id="label-Error-handling">Error-handling<span><a href="#label-Error-handling">&para;</a> <a href="#top">&uarr;</a></span></h2>
154
157
 
Binary file
@@ -1 +1 @@
1
- var search_data = {"index":{"searchIndex":["ldbws","request","getdeparturesboard","getdeparturesboardwithdetails","getservicedetails","getstationboard","getstationboardwithdetails","paramvalidationerror","requesterror","responseparsingerror","responsetypes","basestationboard","callingpoint","coach","departureitem","departureitemwithdetails","departuresboard","departuresboardwithdetails","formation","loadingcategory","location","servicedetails","serviceitem","serviceitemwithcallingpoints","stationboard","stationboardwithdetails","toiletavailability","service","details()","get_arr_board_with_details()","get_arr_dep_board_with_details()","get_arrival_board()","get_arrival_board_with_details()","get_arrival_departure_board()","get_arrival_departure_board_with_details()","get_dep_board_with_details()","get_departure_board()","get_departure_board_with_details()","get_fastest_departures_with_details()","get_next_departures()","get_next_departures_with_details()","get_service_details()","messages()","new()","service()","license","readme"],"longSearchIndex":["ldbws","ldbws::request","ldbws::request::getdeparturesboard","ldbws::request::getdeparturesboardwithdetails","ldbws::request::getservicedetails","ldbws::request::getstationboard","ldbws::request::getstationboardwithdetails","ldbws::request::paramvalidationerror","ldbws::requesterror","ldbws::responseparsingerror","ldbws::responsetypes","ldbws::responsetypes::basestationboard","ldbws::responsetypes::callingpoint","ldbws::responsetypes::coach","ldbws::responsetypes::departureitem","ldbws::responsetypes::departureitemwithdetails","ldbws::responsetypes::departuresboard","ldbws::responsetypes::departuresboardwithdetails","ldbws::responsetypes::formation","ldbws::responsetypes::loadingcategory","ldbws::responsetypes::location","ldbws::responsetypes::servicedetails","ldbws::responsetypes::serviceitem","ldbws::responsetypes::serviceitemwithcallingpoints","ldbws::responsetypes::stationboard","ldbws::responsetypes::stationboardwithdetails","ldbws::responsetypes::toiletavailability","ldbws::service","ldbws::requesterror#details()","ldbws::service#get_arr_board_with_details()","ldbws::service#get_arr_dep_board_with_details()","ldbws::service#get_arrival_board()","ldbws::service#get_arrival_board_with_details()","ldbws::service#get_arrival_departure_board()","ldbws::service#get_arrival_departure_board_with_details()","ldbws::service#get_dep_board_with_details()","ldbws::service#get_departure_board()","ldbws::service#get_departure_board_with_details()","ldbws::service#get_fastest_departures_with_details()","ldbws::service#get_next_departures()","ldbws::service#get_next_departures_with_details()","ldbws::service#get_service_details()","ldbws::request::paramvalidationerror#messages()","ldbws::service::new()","ldbws::service()","",""],"info":[["Ldbws","","Ldbws.html","","<p>Provides a Ruby abstraction around the UK’s Network Rail live departure board webservice (LDBWS). See …\n"],["Ldbws::Request","","Ldbws/Request.html","",""],["Ldbws::Request::GetDeparturesBoard","","Ldbws/Request/GetDeparturesBoard.html","","<p>Requests a departure board for a station, filtered by departures to one or many other stations. Corresponds …\n"],["Ldbws::Request::GetDeparturesBoardWithDetails","","Ldbws/Request/GetDeparturesBoardWithDetails.html","","<p>Requests a departure board for a statuion, filtered by departures to one or more other stations. This …\n"],["Ldbws::Request::GetServiceDetails","","Ldbws/Request/GetServiceDetails.html","","<p>Returns details about a particular service. Corresponds to <code>GetServiceDetailsResponse</code> in the LDBWS schema. …\n"],["Ldbws::Request::GetStationBoard","","Ldbws/Request/GetStationBoard.html","","<p>Returns an arrival or departure board for a given station. Corresponds to <code>GetStationBoardRequest</code> in the …\n"],["Ldbws::Request::GetStationBoardWithDetails","","Ldbws/Request/GetStationBoardWithDetails.html","","<p>Returns an arrival or departure board for a given station with full service details. Corresponds to …\n"],["Ldbws::Request::ParamValidationError","","Ldbws/Request/ParamValidationError.html","","<p>Raised when an error occurs when validating request parameters. Messages are passed through directly …\n"],["Ldbws::RequestError","","Ldbws/RequestError.html","","<p>Raised when a request has resulted in an error that this library can make some sense of. This <em>usually</em> …\n"],["Ldbws::ResponseParsingError","","Ldbws/ResponseParsingError.html","","<p>Raised when a response from LDBWS cannot be parsed by this library. This is unexpected, and generally …\n"],["Ldbws::ResponseTypes","","Ldbws/ResponseTypes.html","",""],["Ldbws::ResponseTypes::BaseStationBoard","","Ldbws/ResponseTypes/BaseStationBoard.html","","<p>Base station board information. This does not directly correspond to a type in LDBWS.\n<p>Properties\n"],["Ldbws::ResponseTypes::CallingPoint","","Ldbws/ResponseTypes/CallingPoint.html","","<p>Represents a calling point in the LDBWS.\n<p>Properties\n<p>location_name &mdash; the name of the station\n"],["Ldbws::ResponseTypes::Coach","","Ldbws/ResponseTypes/Coach.html","","<p>Information about an individual coach in the train.\n<p>Properties\n<p>number &mdash; the coach number or identifier\n"],["Ldbws::ResponseTypes::DepartureItem","","Ldbws/ResponseTypes/DepartureItem.html","","<p>Represents an item on a departure board.\n<p>Properties\n<p>crs &mdash; the CRS for the item\n"],["Ldbws::ResponseTypes::DepartureItemWithDetails","","Ldbws/ResponseTypes/DepartureItemWithDetails.html","","<p>Represents an item on a departure board with additional details.\n<p>Properties\n<p>crs &mdash; the CRS for the item\n"],["Ldbws::ResponseTypes::DeparturesBoard","","Ldbws/ResponseTypes/DeparturesBoard.html","","<p>Represents a departures board.\n<p>Properties\n<p>departures &mdash; a list of departures.\n"],["Ldbws::ResponseTypes::DeparturesBoardWithDetails","","Ldbws/ResponseTypes/DeparturesBoardWithDetails.html","","<p>Represents a departures board with additional details.\n<p>Properties\n<p>departures &mdash; a list of departures.\n"],["Ldbws::ResponseTypes::Formation","","Ldbws/ResponseTypes/Formation.html","","<p>Information about the formation of a train\n<p>Properties\n<p>loading_category &mdash; how heavily-loaded the train is. …\n"],["Ldbws::ResponseTypes::LoadingCategory","","Ldbws/ResponseTypes/LoadingCategory.html","","<p>The loading category of a train\n<p>Properties\n<p>code, colour, image &mdash; \n"],["Ldbws::ResponseTypes::Location","","Ldbws/ResponseTypes/Location.html","","<p>Represents a location in LDBWS.\n<p>Properties\n<p>name, crs, via &mdash; \n"],["Ldbws::ResponseTypes::ServiceDetails","","Ldbws/ResponseTypes/ServiceDetails.html","","<p>Represents details about a service in LDBWS.\n<p>Properties\n"],["Ldbws::ResponseTypes::ServiceItem","","Ldbws/ResponseTypes/ServiceItem.html","","<p>Represents a service item in LDBWS.\n<p>Properties\n<p>sta &mdash; the scheduled arrival time as a Time object\n"],["Ldbws::ResponseTypes::ServiceItemWithCallingPoints","","Ldbws/ResponseTypes/ServiceItemWithCallingPoints.html","","<p>Represents a service item with additional details in LDBWS: extends ServiceItem.\n<p>Properties\n<p>As ServiceItem …\n"],["Ldbws::ResponseTypes::StationBoard","","Ldbws/ResponseTypes/StationBoard.html","","<p>Represents a station arrival/departure board in LDBWS.\n<p>Properties\n<p>As BaseStationBoard, and additionally: …\n"],["Ldbws::ResponseTypes::StationBoardWithDetails","","Ldbws/ResponseTypes/StationBoardWithDetails.html","","<p>Represents a station arrival/departure board with additional details in LDBWS.\n<p>Properties\n<p>As BaseStationBoard …\n"],["Ldbws::ResponseTypes::ToiletAvailability","","Ldbws/ResponseTypes/ToiletAvailability.html","","<p>The availability of an individual toilet on a train\n<p>Properties\n<p>type &mdash; the type of toilet\n"],["Ldbws::Service","","Ldbws/Service.html","","<p>A wrapper around the National Rail Live Departure Boards Webservice (LDBWS) API.\n<p>API methods are pretty …\n"],["details","Ldbws::RequestError","Ldbws/RequestError.html#method-i-details","()","<p>Returns the details of the error as a hash.\n"],["get_arr_board_with_details","Ldbws::Service","Ldbws/Service.html#method-i-get_arr_board_with_details","(params)","<p>Retrieves a detailed station arrival board.\n<p>Parameters are validated using GetStationBoardWithDetails …\n"],["get_arr_dep_board_with_details","Ldbws::Service","Ldbws/Service.html#method-i-get_arr_dep_board_with_details","(params)","<p>Retrieves a detailed station arrival + departures board.\n<p>Parameters are validated using GetStationBoardWithDetails …\n"],["get_arrival_board","Ldbws::Service","Ldbws/Service.html#method-i-get_arrival_board","(params)","<p>Retrieves a station arrival board.\n<p>Parameters are validated using GetStationBoard, returns a StationBoard …\n"],["get_arrival_board_with_details","Ldbws::Service","Ldbws/Service.html#method-i-get_arrival_board_with_details","(params)",""],["get_arrival_departure_board","Ldbws::Service","Ldbws/Service.html#method-i-get_arrival_departure_board","(params)","<p>Retrieves a station arrival + departure board.\n<p>Parameters are validated using GetStationBoard, returns …\n"],["get_arrival_departure_board_with_details","Ldbws::Service","Ldbws/Service.html#method-i-get_arrival_departure_board_with_details","(params)",""],["get_dep_board_with_details","Ldbws::Service","Ldbws/Service.html#method-i-get_dep_board_with_details","(params)","<p>Retrieves a detailed station departure board.\n<p>Parameters are validated using GetStationBoardWithDetails …\n"],["get_departure_board","Ldbws::Service","Ldbws/Service.html#method-i-get_departure_board","(params)","<p>Retrieves a station departure board.\n<p>Parameters are validated using GetStationBoard, returns a StationBoard …\n"],["get_departure_board_with_details","Ldbws::Service","Ldbws/Service.html#method-i-get_departure_board_with_details","(params)",""],["get_fastest_departures_with_details","Ldbws::Service","Ldbws/Service.html#method-i-get_fastest_departures_with_details","(params)","<p>Retrieves detailed information about the fastest departures from one station to one or many others.\n<p>Parameters …\n"],["get_next_departures","Ldbws::Service","Ldbws/Service.html#method-i-get_next_departures","(params)","<p>Retrieves the next departures from one station to one or many others.\n<p>Parameters are validated using …\n"],["get_next_departures_with_details","Ldbws::Service","Ldbws/Service.html#method-i-get_next_departures_with_details","(params)","<p>Retrieves detailed information about the next departures from one station to one or many others.\n<p>Parameters …\n"],["get_service_details","Ldbws::Service","Ldbws/Service.html#method-i-get_service_details","(params)","<p>Retrieves information about a specific service.\n<p>Parameters are validated using GetServiceDetails, returns …\n"],["messages","Ldbws::Request::ParamValidationError","Ldbws/Request/ParamValidationError.html#method-i-messages","()","<p>Returns the validation error messages as a hash.\n"],["new","Ldbws::Service","Ldbws/Service.html#method-c-new","(token)","<p>Creates a service object.\n<p>Parameters\n<p>token &mdash; the API token used to connect to the service\n"],["service","Ldbws","Ldbws.html#method-c-service","(token)","<p>Helper method that returns an instance of [Service].\n<p>Parameters\n<p>token &mdash; the API token used to connect to …\n"],["LICENSE","","LICENSE.html","","<p>MIT License\n<p>Copyright © 2022 Jon Pearse\n<p>Permission is hereby granted, free of charge, to any person obtaining …\n"],["README","","README_md.html","","<p>ldbws-ruby\n<p>I’ll write a proper readme/howto at some point, but short version is that this is a Ruby wrapper …\n"]]}}
1
+ var search_data = {"index":{"searchIndex":["ldbws","request","getdeparturesboard","getdeparturesboardwithdetails","getservicedetails","getstationboard","getstationboardwithdetails","paramvalidationerror","requesterror","responseparsingerror","responsetypes","basestationboard","callingpoint","coach","departureitem","departureitemwithdetails","departuresboard","departuresboardwithdetails","formation","loadingcategory","location","servicedetails","serviceitem","serviceitemwithcallingpoints","stationboard","stationboardwithdetails","toiletavailability","service","details()","get_arr_board_with_details()","get_arr_dep_board_with_details()","get_arrival_board()","get_arrival_board_with_details()","get_arrival_departure_board()","get_arrival_departure_board_with_details()","get_dep_board_with_details()","get_departure_board()","get_departure_board_with_details()","get_fastest_departures()","get_fastest_departures_with_details()","get_next_departures()","get_next_departures_with_details()","get_service_details()","messages()","new()","service()","license","readme"],"longSearchIndex":["ldbws","ldbws::request","ldbws::request::getdeparturesboard","ldbws::request::getdeparturesboardwithdetails","ldbws::request::getservicedetails","ldbws::request::getstationboard","ldbws::request::getstationboardwithdetails","ldbws::request::paramvalidationerror","ldbws::requesterror","ldbws::responseparsingerror","ldbws::responsetypes","ldbws::responsetypes::basestationboard","ldbws::responsetypes::callingpoint","ldbws::responsetypes::coach","ldbws::responsetypes::departureitem","ldbws::responsetypes::departureitemwithdetails","ldbws::responsetypes::departuresboard","ldbws::responsetypes::departuresboardwithdetails","ldbws::responsetypes::formation","ldbws::responsetypes::loadingcategory","ldbws::responsetypes::location","ldbws::responsetypes::servicedetails","ldbws::responsetypes::serviceitem","ldbws::responsetypes::serviceitemwithcallingpoints","ldbws::responsetypes::stationboard","ldbws::responsetypes::stationboardwithdetails","ldbws::responsetypes::toiletavailability","ldbws::service","ldbws::requesterror#details()","ldbws::service#get_arr_board_with_details()","ldbws::service#get_arr_dep_board_with_details()","ldbws::service#get_arrival_board()","ldbws::service#get_arrival_board_with_details()","ldbws::service#get_arrival_departure_board()","ldbws::service#get_arrival_departure_board_with_details()","ldbws::service#get_dep_board_with_details()","ldbws::service#get_departure_board()","ldbws::service#get_departure_board_with_details()","ldbws::service#get_fastest_departures()","ldbws::service#get_fastest_departures_with_details()","ldbws::service#get_next_departures()","ldbws::service#get_next_departures_with_details()","ldbws::service#get_service_details()","ldbws::request::paramvalidationerror#messages()","ldbws::service::new()","ldbws::service()","",""],"info":[["Ldbws","","Ldbws.html","","<p>Provides a Ruby abstraction around the UK’s Network Rail live departure board webservice (LDBWS). See …\n"],["Ldbws::Request","","Ldbws/Request.html","",""],["Ldbws::Request::GetDeparturesBoard","","Ldbws/Request/GetDeparturesBoard.html","","<p>Requests a departure board for a station, filtered by departures to one or many other stations. Corresponds …\n"],["Ldbws::Request::GetDeparturesBoardWithDetails","","Ldbws/Request/GetDeparturesBoardWithDetails.html","","<p>Requests a departure board for a statuion, filtered by departures to one or more other stations. This …\n"],["Ldbws::Request::GetServiceDetails","","Ldbws/Request/GetServiceDetails.html","","<p>Returns details about a particular service. Corresponds to <code>GetServiceDetailsResponse</code> in the LDBWS schema. …\n"],["Ldbws::Request::GetStationBoard","","Ldbws/Request/GetStationBoard.html","","<p>Returns an arrival or departure board for a given station. Corresponds to <code>GetStationBoardRequest</code> in the …\n"],["Ldbws::Request::GetStationBoardWithDetails","","Ldbws/Request/GetStationBoardWithDetails.html","","<p>Returns an arrival or departure board for a given station with full service details. Corresponds to …\n"],["Ldbws::Request::ParamValidationError","","Ldbws/Request/ParamValidationError.html","","<p>Raised when an error occurs when validating request parameters. Messages are passed through directly …\n"],["Ldbws::RequestError","","Ldbws/RequestError.html","","<p>Raised when a request has resulted in an error that this library can make some sense of. This <em>usually</em> …\n"],["Ldbws::ResponseParsingError","","Ldbws/ResponseParsingError.html","","<p>Raised when a response from LDBWS cannot be parsed by this library. This is unexpected, and generally …\n"],["Ldbws::ResponseTypes","","Ldbws/ResponseTypes.html","",""],["Ldbws::ResponseTypes::BaseStationBoard","","Ldbws/ResponseTypes/BaseStationBoard.html","","<p>Base station board information. This does not directly correspond to a type in LDBWS.\n<p>Properties\n"],["Ldbws::ResponseTypes::CallingPoint","","Ldbws/ResponseTypes/CallingPoint.html","","<p>Represents a calling point in the LDBWS.\n<p>Properties\n<p>location_name &mdash; the name of the station\n"],["Ldbws::ResponseTypes::Coach","","Ldbws/ResponseTypes/Coach.html","","<p>Information about an individual coach in the train.\n<p>Properties\n<p>number &mdash; the coach number or identifier\n"],["Ldbws::ResponseTypes::DepartureItem","","Ldbws/ResponseTypes/DepartureItem.html","","<p>Represents an item on a departure board.\n<p>Properties\n<p>crs &mdash; the CRS for the item\n"],["Ldbws::ResponseTypes::DepartureItemWithDetails","","Ldbws/ResponseTypes/DepartureItemWithDetails.html","","<p>Represents an item on a departure board with additional details.\n<p>Properties\n<p>crs &mdash; the CRS for the item\n"],["Ldbws::ResponseTypes::DeparturesBoard","","Ldbws/ResponseTypes/DeparturesBoard.html","","<p>Represents a departures board.\n<p>Properties\n<p>departures &mdash; a list of departures.\n"],["Ldbws::ResponseTypes::DeparturesBoardWithDetails","","Ldbws/ResponseTypes/DeparturesBoardWithDetails.html","","<p>Represents a departures board with additional details.\n<p>Properties\n<p>departures &mdash; a list of departures.\n"],["Ldbws::ResponseTypes::Formation","","Ldbws/ResponseTypes/Formation.html","","<p>Information about the formation of a train\n<p>Properties\n<p>loading_category &mdash; how heavily-loaded the train is. …\n"],["Ldbws::ResponseTypes::LoadingCategory","","Ldbws/ResponseTypes/LoadingCategory.html","","<p>The loading category of a train\n<p>Properties\n<p>code, colour, image &mdash; \n"],["Ldbws::ResponseTypes::Location","","Ldbws/ResponseTypes/Location.html","","<p>Represents a location in LDBWS.\n<p>Properties\n<p>name, crs, via &mdash; \n"],["Ldbws::ResponseTypes::ServiceDetails","","Ldbws/ResponseTypes/ServiceDetails.html","","<p>Represents details about a service in LDBWS.\n<p>Properties\n"],["Ldbws::ResponseTypes::ServiceItem","","Ldbws/ResponseTypes/ServiceItem.html","","<p>Represents a service item in LDBWS.\n<p>Properties\n<p>sta &mdash; the scheduled arrival time as a Time object\n"],["Ldbws::ResponseTypes::ServiceItemWithCallingPoints","","Ldbws/ResponseTypes/ServiceItemWithCallingPoints.html","","<p>Represents a service item with additional details in LDBWS: extends ServiceItem.\n<p>Properties\n<p>As ServiceItem …\n"],["Ldbws::ResponseTypes::StationBoard","","Ldbws/ResponseTypes/StationBoard.html","","<p>Represents a station arrival/departure board in LDBWS.\n<p>Properties\n<p>As BaseStationBoard, and additionally: …\n"],["Ldbws::ResponseTypes::StationBoardWithDetails","","Ldbws/ResponseTypes/StationBoardWithDetails.html","","<p>Represents a station arrival/departure board with additional details in LDBWS.\n<p>Properties\n<p>As BaseStationBoard …\n"],["Ldbws::ResponseTypes::ToiletAvailability","","Ldbws/ResponseTypes/ToiletAvailability.html","","<p>The availability of an individual toilet on a train\n<p>Properties\n<p>type &mdash; the type of toilet\n"],["Ldbws::Service","","Ldbws/Service.html","","<p>A wrapper around the National Rail Live Departure Boards Webservice (LDBWS) API.\n<p>API methods are pretty …\n"],["details","Ldbws::RequestError","Ldbws/RequestError.html#method-i-details","()","<p>Returns the details of the error as a hash.\n"],["get_arr_board_with_details","Ldbws::Service","Ldbws/Service.html#method-i-get_arr_board_with_details","(params)","<p>Retrieves a detailed station arrival board.\n<p>Parameters are validated using GetStationBoardWithDetails …\n"],["get_arr_dep_board_with_details","Ldbws::Service","Ldbws/Service.html#method-i-get_arr_dep_board_with_details","(params)","<p>Retrieves a detailed station arrival + departures board.\n<p>Parameters are validated using GetStationBoardWithDetails …\n"],["get_arrival_board","Ldbws::Service","Ldbws/Service.html#method-i-get_arrival_board","(params)","<p>Retrieves a station arrival board.\n<p>Parameters are validated using GetStationBoard, returns a StationBoard …\n"],["get_arrival_board_with_details","Ldbws::Service","Ldbws/Service.html#method-i-get_arrival_board_with_details","(params)",""],["get_arrival_departure_board","Ldbws::Service","Ldbws/Service.html#method-i-get_arrival_departure_board","(params)","<p>Retrieves a station arrival + departure board.\n<p>Parameters are validated using GetStationBoard, returns …\n"],["get_arrival_departure_board_with_details","Ldbws::Service","Ldbws/Service.html#method-i-get_arrival_departure_board_with_details","(params)",""],["get_dep_board_with_details","Ldbws::Service","Ldbws/Service.html#method-i-get_dep_board_with_details","(params)","<p>Retrieves a detailed station departure board.\n<p>Parameters are validated using GetStationBoardWithDetails …\n"],["get_departure_board","Ldbws::Service","Ldbws/Service.html#method-i-get_departure_board","(params)","<p>Retrieves a station departure board.\n<p>Parameters are validated using GetStationBoard, returns a StationBoard …\n"],["get_departure_board_with_details","Ldbws::Service","Ldbws/Service.html#method-i-get_departure_board_with_details","(params)",""],["get_fastest_departures","Ldbws::Service","Ldbws/Service.html#method-i-get_fastest_departures","(params)","<p>Retrieves the fastest departures from one station to one or many others.\n<p>Parameters are validated using …\n"],["get_fastest_departures_with_details","Ldbws::Service","Ldbws/Service.html#method-i-get_fastest_departures_with_details","(params)","<p>Retrieves detailed information about the fastest departures from one station to one or many others.\n<p>Parameters …\n"],["get_next_departures","Ldbws::Service","Ldbws/Service.html#method-i-get_next_departures","(params)","<p>Retrieves the next departures from one station to one or many others.\n<p>Parameters are validated using …\n"],["get_next_departures_with_details","Ldbws::Service","Ldbws/Service.html#method-i-get_next_departures_with_details","(params)","<p>Retrieves detailed information about the next departures from one station to one or many others.\n<p>Parameters …\n"],["get_service_details","Ldbws::Service","Ldbws/Service.html#method-i-get_service_details","(params)","<p>Retrieves information about a specific service.\n<p>Parameters are validated using GetServiceDetails, returns …\n"],["messages","Ldbws::Request::ParamValidationError","Ldbws/Request/ParamValidationError.html#method-i-messages","()","<p>Returns the validation error messages as a hash.\n"],["new","Ldbws::Service","Ldbws/Service.html#method-c-new","(token)","<p>Creates a service object.\n<p>Parameters\n<p>token &mdash; the API token used to connect to the service\n"],["service","Ldbws","Ldbws.html#method-c-service","(token)","<p>Helper method that returns an instance of [Service].\n<p>Parameters\n<p>token &mdash; the API token used to connect to …\n"],["LICENSE","","LICENSE.html","","<p>MIT License\n<p>Copyright © 2022 Jon Pearse\n<p>Permission is hereby granted, free of charge, to any person obtaining …\n"],["README","","README_md.html","","<p>ldbws\n<p>This is a wrapper around Network Rail‘s Live Departure Board web service (LDBWS/OpenLDBWS), allowing …\n"]]}}
Binary file
Binary file
@@ -34,9 +34,8 @@
34
34
  <a href="README_md.html">README</a>
35
35
 
36
36
  <ul>
37
- <li><a href="README_md.html#label-ldbws-ruby">ldbws-ruby</a>
38
- <li><a href="README_md.html#label-HOWTO">HOWTO</a>
39
- <li><a href="README_md.html#label-A+note+about+rate+limiting">A note about rate limiting</a>
37
+ <li><a href="README_md.html#label-ldbws">ldbws</a>
38
+ <li><a href="README_md.html#label-Installation-2Fusage">Installation/usage</a>
40
39
  <li><a href="README_md.html#label-Error-handling">Error-handling</a>
41
40
  <li><a href="README_md.html#label-Ldbws-3A-3ARequest-3A-3AParamValidationError"><code>Ldbws::Request::ParamValidationError</code></a>
42
41
  <li><a href="README_md.html#label-Ldbws-3A-3ARequestError"><code>Ldbws::RequestError</code></a>
@@ -286,6 +285,11 @@
286
285
  &mdash;
287
286
  <span class="container">Ldbws::Service</span>
288
287
 
288
+ <li class="method">
289
+ <a href="Ldbws/Service.html#method-i-get_fastest_departures">#get_fastest_departures</a>
290
+ &mdash;
291
+ <span class="container">Ldbws::Service</span>
292
+
289
293
  <li class="method">
290
294
  <a href="Ldbws/Service.html#method-i-get_fastest_departures_with_details">#get_fastest_departures_with_details</a>
291
295
  &mdash;
@@ -14,6 +14,8 @@ module Ldbws::Request
14
14
  class GetDeparturesBoard < Base
15
15
  # :nodoc:
16
16
  SCHEMA = Dry::Schema.Params do
17
+ config.validate_keys = true
18
+
17
19
  required(:crs).filled(Types::Crs)
18
20
  required(:filter_list).array(Types::Crs, min_size?: 1)
19
21
  optional(:time_offset).filled(:integer)
@@ -10,6 +10,8 @@ module Ldbws::Request
10
10
  class GetServiceDetails < Base
11
11
  # :nodoc:
12
12
  SCHEMA = Dry::Schema.Params do
13
+ config.validate_keys = true
14
+
13
15
  required(:service_id).filled(:string)
14
16
  end
15
17
 
@@ -22,7 +24,7 @@ module Ldbws::Request
22
24
  # :nodoc:
23
25
  def to_soap_params
24
26
  {
25
- serviceID: @params[:service_id],
27
+ serviceID: @params[:service_id].upcase,
26
28
  }
27
29
  end
28
30
  end
@@ -16,6 +16,8 @@ module Ldbws::Request
16
16
  class GetStationBoard < Base
17
17
  # :nodoc:
18
18
  SCHEMA = Dry::Schema.Params do
19
+ config.validate_keys = true
20
+
19
21
  required(:crs).filled(Types::Crs)
20
22
  optional(:num_rows).filled(:integer)
21
23
  optional(:filter_crs).filled(Types::Crs)
@@ -36,6 +38,7 @@ module Ldbws::Request
36
38
  # CRSes should always be upcased
37
39
  params[:crs].upcase!
38
40
  params[:filter_crs].upcase! if params[:filter_crs]
41
+ params[:filter_type].downcase! if params[:filter_crs]
39
42
 
40
43
  # filter type isn’t needed if we’re not filtering
41
44
  params.delete(:filter_type) unless params[:filter_crs]
data/lib/ldbws/service.rb CHANGED
@@ -121,7 +121,7 @@ module Ldbws
121
121
  #
122
122
  # Parameters are validated using GetDeparturesBoard[rdoc-ref:Request::GetDeparturesBoard], returns a
123
123
  # DeparturesBoard[rdoc-ref:ResponseTypes::DeparturesBoard] object.
124
- def get_next_departures(params)
124
+ def get_fastest_departures(params)
125
125
  request(
126
126
  "http://thalesgroup.com/RTTI/2015-05-14/ldb/GetFastestDepartures",
127
127
  Request::GetDeparturesBoard.new(params)
@@ -202,17 +202,15 @@ module Ldbws
202
202
  end
203
203
 
204
204
  def perform_soap_request(action, body)
205
- uri = URI(SERVICE_URI)
206
-
207
205
  conn = Faraday.new(
208
- url: "#{uri.scheme}://#{uri.host}",
206
+ url: "#{SERVICE_URI.scheme}://#{SERVICE_URI.host}",
209
207
  headers: {
210
208
  'Content-Type': "text/xml",
211
209
  'SOAPAction': action,
212
210
  },
213
211
  )
214
212
 
215
- conn.post(uri.path, body).body
213
+ conn.post(SERVICE_URI.path, body).body
216
214
  end
217
215
 
218
216
  def extract_error(xml)
data/lib/ldbws/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Ldbws
2
2
  # The current gem version.
3
- VERSION = "1.0.1"
3
+ VERSION = "1.0.3"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ldbws
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Pearse
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-03 00:00:00.000000000 Z
11
+ date: 2023-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-schema
@@ -221,7 +221,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
221
221
  - !ruby/object:Gem::Version
222
222
  version: '0'
223
223
  requirements: []
224
- rubygems_version: 3.4.6
224
+ rubygems_version: 3.3.7
225
225
  signing_key:
226
226
  specification_version: 4
227
227
  summary: Interface to the Network Rail OpenLDBS web service