weese 1.0.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.
@@ -0,0 +1,604 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Weese
4
+ module Bus
5
+ # All MetroBus Routes
6
+ module Route
7
+ _10A = '10A' # A WMATA Route ID
8
+ _10B = '10B' # A WMATA Route ID
9
+ _10E = '10E' # A WMATA Route ID
10
+ _10N = '10N' # A WMATA Route ID
11
+ _11Y = '11Y' # A WMATA Route ID
12
+ _11Yv1 = '11Yv1' # A WMATA Route ID
13
+ _11Yv2 = '11Yv2' # A WMATA Route ID
14
+ _11Yv3 = '11Yv3' # A WMATA Route ID
15
+ _11Yv4 = '11Yv4' # A WMATA Route ID
16
+ _15K = '15K' # A WMATA Route ID
17
+ _15Kv1 = '15Kv1' # A WMATA Route ID
18
+ _16A = '16A' # A WMATA Route ID
19
+ _16C = '16C' # A WMATA Route ID
20
+ _16Cv1 = '16Cv1' # A WMATA Route ID
21
+ _16E = '16E' # A WMATA Route ID
22
+ _16G = '16G' # A WMATA Route ID
23
+ _16Gv1 = '16Gv1' # A WMATA Route ID
24
+ _16H = '16H' # A WMATA Route ID
25
+ _16L = '16L' # A WMATA Route ID
26
+ _16Y = '16Y' # A WMATA Route ID
27
+ _16Yv1 = '16Yv1' # A WMATA Route ID
28
+ _17B = '17B' # A WMATA Route ID
29
+ _17G = '17G' # A WMATA Route ID
30
+ _17H = '17H' # A WMATA Route ID
31
+ _17K = '17K' # A WMATA Route ID
32
+ _17L = '17L' # A WMATA Route ID
33
+ _17M = '17M' # A WMATA Route ID
34
+ _18G = '18G' # A WMATA Route ID
35
+ _18H = '18H' # A WMATA Route ID
36
+ _18J = '18J' # A WMATA Route ID
37
+ _18P = '18P' # A WMATA Route ID
38
+ _18Pv1 = '18Pv1' # A WMATA Route ID
39
+ _18Pv2 = '18Pv2' # A WMATA Route ID
40
+ _1A = '1A' # A WMATA Route ID
41
+ _1B = '1B' # A WMATA Route ID
42
+ _1C = '1C' # A WMATA Route ID
43
+ _1Cv1 = '1Cv1' # A WMATA Route ID
44
+ _1Cv2 = '1Cv2' # A WMATA Route ID
45
+ _1Cv3 = '1Cv3' # A WMATA Route ID
46
+ _1Cv4 = '1Cv4' # A WMATA Route ID
47
+ _21A = '21A' # A WMATA Route ID
48
+ _21D = '21D' # A WMATA Route ID
49
+ _22A = '22A' # A WMATA Route ID
50
+ _22Av1 = '22Av1' # A WMATA Route ID
51
+ _22C = '22C' # A WMATA Route ID
52
+ _22F = '22F' # A WMATA Route ID
53
+ _23A = '23A' # A WMATA Route ID
54
+ _23B = '23B' # A WMATA Route ID
55
+ _23Bv1 = '23Bv1' # A WMATA Route ID
56
+ _23T = '23T' # A WMATA Route ID
57
+ _25B = '25B' # A WMATA Route ID
58
+ _25Bv1 = '25Bv1' # A WMATA Route ID
59
+ _25Bv2 = '25Bv2' # A WMATA Route ID
60
+ _25Bv3 = '25Bv3' # A WMATA Route ID
61
+ _26A = '26A' # A WMATA Route ID
62
+ _28A = '28A' # A WMATA Route ID
63
+ _28Av1 = '28Av1' # A WMATA Route ID
64
+ _28F = '28F' # A WMATA Route ID
65
+ _28G = '28G' # A WMATA Route ID
66
+ _29C = '29C' # A WMATA Route ID
67
+ _29G = '29G' # A WMATA Route ID
68
+ _29K = '29K' # A WMATA Route ID
69
+ _29Kv1 = '29Kv1' # A WMATA Route ID
70
+ _29N = '29N' # A WMATA Route ID
71
+ _29Nv1 = '29Nv1' # A WMATA Route ID
72
+ _29W = '29W' # A WMATA Route ID
73
+ _2A = '2A' # A WMATA Route ID
74
+ _2B = '2B' # A WMATA Route ID
75
+ _2Bv1 = '2Bv1' # A WMATA Route ID
76
+ _2Bv2 = '2Bv2' # A WMATA Route ID
77
+ _2Bv3 = '2Bv3' # A WMATA Route ID
78
+ _30N = '30N' # A WMATA Route ID
79
+ _30S = '30S' # A WMATA Route ID
80
+ _31 = '31' # A WMATA Route ID
81
+ _32 = '32' # A WMATA Route ID
82
+ _32v1 = '32v1' # A WMATA Route ID
83
+ _33 = '33' # A WMATA Route ID
84
+ _34 = '34' # A WMATA Route ID
85
+ _36 = '36' # A WMATA Route ID
86
+ _37 = '37' # A WMATA Route ID
87
+ _38B = '38B' # A WMATA Route ID
88
+ _38Bv1 = '38Bv1' # A WMATA Route ID
89
+ _38Bv2 = '38Bv2' # A WMATA Route ID
90
+ _39 = '39' # A WMATA Route ID
91
+ _3A = '3A' # A WMATA Route ID
92
+ _3Av1 = '3Av1' # A WMATA Route ID
93
+ _3T = '3T' # A WMATA Route ID
94
+ _3Tv1 = '3Tv1' # A WMATA Route ID
95
+ _3Y = '3Y' # A WMATA Route ID
96
+ _42 = '42' # A WMATA Route ID
97
+ _43 = '43' # A WMATA Route ID
98
+ _4A = '4A' # A WMATA Route ID
99
+ _4B = '4B' # A WMATA Route ID
100
+ _52 = '52' # A WMATA Route ID
101
+ _52v1 = '52v1' # A WMATA Route ID
102
+ _52v2 = '52v2' # A WMATA Route ID
103
+ _52v3 = '52v3' # A WMATA Route ID
104
+ _54 = '54' # A WMATA Route ID
105
+ _54v1 = '54v1' # A WMATA Route ID
106
+ _59 = '59' # A WMATA Route ID
107
+ _5A = '5A' # A WMATA Route ID
108
+ _54v2 = '54v2' # A WMATA Route ID
109
+ _54v3 = '54v3' # A WMATA Route ID
110
+ _60 = '60' # A WMATA Route ID
111
+ _62 = '62' # A WMATA Route ID
112
+ _62v1 = '62v1' # A WMATA Route ID
113
+ _63 = '63' # A WMATA Route ID
114
+ _64 = '64' # A WMATA Route ID
115
+ _64v1 = '64v1' # A WMATA Route ID
116
+ _70 = '70' # A WMATA Route ID
117
+ _70v1 = '70v1' # A WMATA Route ID
118
+ _74 = '74' # A WMATA Route ID
119
+ _79 = '79' # A WMATA Route ID
120
+ _7A = '7A' # A WMATA Route ID
121
+ _7Av1 = '7Av1' # A WMATA Route ID
122
+ _7Av2 = '7Av2' # A WMATA Route ID
123
+ _7Av3 = '7Av3' # A WMATA Route ID
124
+ _7C = '7C' # A WMATA Route ID
125
+ _7F = '7F' # A WMATA Route ID
126
+ _7Fv1 = '7Fv1' # A WMATA Route ID
127
+ _7M = '7M' # A WMATA Route ID
128
+ _7Mv1 = '7Mv1' # A WMATA Route ID
129
+ _7P = '7P' # A WMATA Route ID
130
+ _7W = '7W' # A WMATA Route ID
131
+ _7Y = '7Y' # A WMATA Route ID
132
+ _7Yv1 = '7Yv1' # A WMATA Route ID
133
+ _80 = '80' # A WMATA Route ID
134
+ _80v1 = '80v1' # A WMATA Route ID
135
+ _80v2 = '80v2' # A WMATA Route ID
136
+ _80v3 = '80v3' # A WMATA Route ID
137
+ _83 = '83' # A WMATA Route ID
138
+ _83v1 = '83v1' # A WMATA Route ID
139
+ _83v2 = '83v2' # A WMATA Route ID
140
+ _83v3 = '83v3' # A WMATA Route ID
141
+ _83v4 = '83v4' # A WMATA Route ID
142
+ _86 = '86' # A WMATA Route ID
143
+ _86v1 = '86v1' # A WMATA Route ID
144
+ _86v2 = '86v2' # A WMATA Route ID
145
+ _87 = '87' # A WMATA Route ID
146
+ _87v1 = '87v1' # A WMATA Route ID
147
+ _87v2 = '87v2' # A WMATA Route ID
148
+ _87v3 = '87v3' # A WMATA Route ID
149
+ _87v4 = '87v4' # A WMATA Route ID
150
+ _87v5 = '87v5' # A WMATA Route ID
151
+ _89 = '89' # A WMATA Route ID
152
+ _89v1 = '89v1' # A WMATA Route ID
153
+ _89M = '89M' # A WMATA Route ID
154
+ _8S = '8S' # A WMATA Route ID
155
+ _8W = '8W' # A WMATA Route ID
156
+ _8Z = '8Z' # A WMATA Route ID
157
+ _90 = '90' # A WMATA Route ID
158
+ _90v1 = '90v1' # A WMATA Route ID
159
+ _90v2 = '90v2' # A WMATA Route ID
160
+ _92 = '92' # A WMATA Route ID
161
+ _92v1 = '92v1' # A WMATA Route ID
162
+ _92v2 = '92v2' # A WMATA Route ID
163
+ _96 = '96' # A WMATA Route ID
164
+ _96v1 = '96v1' # A WMATA Route ID
165
+ _96v2 = '96v2' # A WMATA Route ID
166
+ _96v3 = '96v3' # A WMATA Route ID
167
+ _96v4 = '96v4' # A WMATA Route ID
168
+ _96v5 = '96v5' # A WMATA Route ID
169
+ _97 = '97' # A WMATA Route ID
170
+ _97v1 = '97v1' # A WMATA Route ID
171
+ A12 = 'A12' # A WMATA Route ID
172
+ A12_V1 = 'A12v1' # A WMATA Route ID
173
+ A12_V2 = 'A12v2' # A WMATA Route ID
174
+ A12_V3 = 'A12v3' # A WMATA Route ID
175
+ A2 = 'A2' # A WMATA Route ID
176
+ A2_V1 = 'A2v1' # A WMATA Route ID
177
+ A2_V2 = 'A2v2' # A WMATA Route ID
178
+ A2_V3 = 'A2v3' # A WMATA Route ID
179
+ A31 = 'A31' # A WMATA Route ID
180
+ A32 = 'A32' # A WMATA Route ID
181
+ A33 = 'A33' # A WMATA Route ID
182
+ A4 = 'A4' # A WMATA Route ID
183
+ A4_V1 = 'A4v1' # A WMATA Route ID
184
+ A4_V2 = 'A4v2' # A WMATA Route ID
185
+ A4_V3 = 'A4v3' # A WMATA Route ID
186
+ A4_V4 = 'A4v4' # A WMATA Route ID
187
+ A4_V5 = 'A4v5' # A WMATA Route ID
188
+ A6 = 'A6' # A WMATA Route ID
189
+ A6_V1 = 'A6v1' # A WMATA Route ID
190
+ A7 = 'A7' # A WMATA Route ID
191
+ A8 = 'A8' # A WMATA Route ID
192
+ A8_V1 = 'A8v1' # A WMATA Route ID
193
+ A9 = 'A9' # A WMATA Route ID
194
+ B2 = 'B2' # A WMATA Route ID
195
+ B2_V1 = 'B2v1' # A WMATA Route ID
196
+ B2_V2 = 'B2v2' # A WMATA Route ID
197
+ B2_V3 = 'B2v3' # A WMATA Route ID
198
+ B2_V4 = 'B2v4' # A WMATA Route ID
199
+ B21 = 'B21' # A WMATA Route ID
200
+ B22 = 'B22' # A WMATA Route ID
201
+ B22_V1 = 'B22v1' # A WMATA Route ID
202
+ B24 = 'B24' # A WMATA Route ID
203
+ B24_V1 = 'B24v1' # A WMATA Route ID
204
+ B27 = 'B27' # A WMATA Route ID
205
+ B29 = 'B29' # A WMATA Route ID
206
+ B29_V1 = 'B29v1' # A WMATA Route ID
207
+ B29_V2 = 'B29v2' # A WMATA Route ID
208
+ B30 = 'B30' # A WMATA Route ID
209
+ B8 = 'B8' # A WMATA Route ID
210
+ B8_V1 = 'B8v1' # A WMATA Route ID
211
+ B8_V2 = 'B8v2' # A WMATA Route ID
212
+ B9 = 'B9' # A WMATA Route ID
213
+ B98 = 'B98' # A WMATA Route ID
214
+ B99 = 'B99' # A WMATA Route ID
215
+ C11 = 'C11' # A WMATA Route ID
216
+ C12 = 'C12' # A WMATA Route ID
217
+ C13 = 'C13' # A WMATA Route ID
218
+ C14 = 'C14' # A WMATA Route ID
219
+ C2 = 'C2' # A WMATA Route ID
220
+ C2_V1 = 'C2v1' # A WMATA Route ID
221
+ C2_V2 = 'C2v2' # A WMATA Route ID
222
+ C2_V3 = 'C2v3' # A WMATA Route ID
223
+ C21 = 'C21' # A WMATA Route ID
224
+ C21_V1 = 'C21v1' # A WMATA Route ID
225
+ C21_V2 = 'C21v2' # A WMATA Route ID
226
+ C22 = 'C22' # A WMATA Route ID
227
+ C22_V1 = 'C22v1' # A WMATA Route ID
228
+ C26 = 'C26' # A WMATA Route ID
229
+ C26_V1 = 'C26v1' # A WMATA Route ID
230
+ C28 = 'C28' # A WMATA Route ID
231
+ C28_V1 = 'C28v1' # A WMATA Route ID
232
+ C29 = 'C29' # A WMATA Route ID
233
+ C29_1 = 'C29*1' # A WMATA Route ID
234
+ C29_2 = 'C29*2' # A WMATA Route ID
235
+ C29_4 = 'C29*4' # A WMATA Route ID
236
+ C29_ = 'C29/' # A WMATA Route ID
237
+ C290 = 'C290' # A WMATA Route ID
238
+ C4 = 'C4' # A WMATA Route ID
239
+ C4_V1 = 'C4v1' # A WMATA Route ID
240
+ C4_V2 = 'C4v2' # A WMATA Route ID
241
+ C4_V3 = 'C4v3' # A WMATA Route ID
242
+ C8 = 'C8' # A WMATA Route ID
243
+ C8_V1 = 'C8v1' # A WMATA Route ID
244
+ C8_V2 = 'C8v2' # A WMATA Route ID
245
+ C8_V3 = 'C8v3' # A WMATA Route ID
246
+ D1 = 'D1' # A WMATA Route ID
247
+ D12 = 'D12' # A WMATA Route ID
248
+ D12_V1 = 'D12v1' # A WMATA Route ID
249
+ D12_V2 = 'D12v2' # A WMATA Route ID
250
+ D13 = 'D13' # A WMATA Route ID
251
+ D13_V1 = 'D13v1' # A WMATA Route ID
252
+ D14 = 'D14' # A WMATA Route ID
253
+ D14_V1 = 'D14v1' # A WMATA Route ID
254
+ D14_V2 = 'D14v2' # A WMATA Route ID
255
+ D2 = 'D2' # A WMATA Route ID
256
+ D2_V1 = 'D2v1' # A WMATA Route ID
257
+ D31 = 'D31' # A WMATA Route ID
258
+ D32 = 'D32' # A WMATA Route ID
259
+ D33 = 'D33' # A WMATA Route ID
260
+ D34 = 'D34' # A WMATA Route ID
261
+ D4 = 'D4' # A WMATA Route ID
262
+ D4_V1 = 'D4v1' # A WMATA Route ID
263
+ D4_V2 = 'D4v2' # A WMATA Route ID
264
+ D5 = 'D5' # A WMATA Route ID
265
+ D51 = 'D51' # A WMATA Route ID
266
+ D6 = 'D6' # A WMATA Route ID
267
+ D6_V1 = 'D6v1' # A WMATA Route ID
268
+ D6_V2 = 'D6v2' # A WMATA Route ID
269
+ D6_V3 = 'D6v3' # A WMATA Route ID
270
+ D8 = 'D8' # A WMATA Route ID
271
+ D8_V1 = 'D8v1' # A WMATA Route ID
272
+ E2 = 'E2' # A WMATA Route ID
273
+ E4 = 'E4' # A WMATA Route ID
274
+ E4_V1 = 'E4v1' # A WMATA Route ID
275
+ E4_V2 = 'E4v2' # A WMATA Route ID
276
+ E6 = 'E6' # A WMATA Route ID
277
+ F1 = 'F1' # A WMATA Route ID
278
+ F12 = 'F12' # A WMATA Route ID
279
+ F12_V1 = 'F12v1' # A WMATA Route ID
280
+ F13 = 'F13' # A WMATA Route ID
281
+ F13_V1 = 'F13v1' # A WMATA Route ID
282
+ F13_V2 = 'F13v2' # A WMATA Route ID
283
+ F13_V3 = 'F13v3' # A WMATA Route ID
284
+ F14 = 'F14' # A WMATA Route ID
285
+ F14_V1 = 'F14v1' # A WMATA Route ID
286
+ F2 = 'F2' # A WMATA Route ID
287
+ F2_V1 = 'F2v1' # A WMATA Route ID
288
+ F2_V2 = 'F2v2' # A WMATA Route ID
289
+ F4 = 'F4' # A WMATA Route ID
290
+ F4_V1 = 'F4v1' # A WMATA Route ID
291
+ F4_V2 = 'F4v2' # A WMATA Route ID
292
+ F6 = 'F6' # A WMATA Route ID
293
+ F6_V1 = 'F6v1' # A WMATA Route ID
294
+ F6_V2 = 'F6v2' # A WMATA Route ID
295
+ F8 = 'F8' # A WMATA Route ID
296
+ F99 = 'F99' # A WMATA Route ID
297
+ G12 = 'G12' # A WMATA Route ID
298
+ G12_V1 = 'G12v1' # A WMATA Route ID
299
+ G12_V2 = 'G12v2' # A WMATA Route ID
300
+ G14 = 'G14' # A WMATA Route ID
301
+ G14_V1 = 'G14v1' # A WMATA Route ID
302
+ G14_V2 = 'G14v2' # A WMATA Route ID
303
+ G2 = 'G2' # A WMATA Route ID
304
+ G2_V1 = 'G2v1' # A WMATA Route ID
305
+ G8 = 'G8' # A WMATA Route ID
306
+ G8_V1 = 'G8v1' # A WMATA Route ID
307
+ G8_V2 = 'G8v2' # A WMATA Route ID
308
+ G8_V3 = 'G8v3' # A WMATA Route ID
309
+ G9 = 'G9' # A WMATA Route ID
310
+ G9_V1 = 'G9v1' # A WMATA Route ID
311
+ H1 = 'H1' # A WMATA Route ID
312
+ H11 = 'H11' # A WMATA Route ID
313
+ H12 = 'H12' # A WMATA Route ID
314
+ H12_V1 = 'H12v1' # A WMATA Route ID
315
+ H13 = 'H13' # A WMATA Route ID
316
+ H2 = 'H2' # A WMATA Route ID
317
+ H3 = 'H3' # A WMATA Route ID
318
+ H4 = 'H4' # A WMATA Route ID
319
+ H4_V1 = 'H4v1' # A WMATA Route ID
320
+ H6 = 'H6' # A WMATA Route ID
321
+ H6_V1 = 'H6v1' # A WMATA Route ID
322
+ H8 = 'H8' # A WMATA Route ID
323
+ H9 = 'H9' # A WMATA Route ID
324
+ J1 = 'J1' # A WMATA Route ID
325
+ J1_V1 = 'J1v1' # A WMATA Route ID
326
+ J12 = 'J12' # A WMATA Route ID
327
+ J12_V1 = 'J12v1' # A WMATA Route ID
328
+ J2 = 'J2' # A WMATA Route ID
329
+ J2_V1 = 'J2v1' # A WMATA Route ID
330
+ J2_V2 = 'J2v2' # A WMATA Route ID
331
+ J4 = 'J4' # A WMATA Route ID
332
+ K12 = 'K12' # A WMATA Route ID
333
+ K12_V1 = 'K12v1' # A WMATA Route ID
334
+ K12_V2 = 'K12v2' # A WMATA Route ID
335
+ K2 = 'K2' # A WMATA Route ID
336
+ K6 = 'K6' # A WMATA Route ID
337
+ K6_V1 = 'K6v1' # A WMATA Route ID
338
+ K9 = 'K9' # A WMATA Route ID
339
+ K9_V1 = 'K9v1' # A WMATA Route ID
340
+ L1 = 'L1' # A WMATA Route ID
341
+ L2 = 'L2' # A WMATA Route ID
342
+ L2_V1 = 'L2v1' # A WMATA Route ID
343
+ L2_V2 = 'L2v2' # A WMATA Route ID
344
+ L99 = 'L99' # A WMATA Route ID
345
+ L8 = 'L8' # A WMATA Route ID
346
+ M4 = 'M4' # A WMATA Route ID
347
+ M4_V1 = 'M4v1' # A WMATA Route ID
348
+ M4_V2 = 'M4v2' # A WMATA Route ID
349
+ M6 = 'M6' # A WMATA Route ID
350
+ M6_V1 = 'M6v1' # A WMATA Route ID
351
+ MW1 = 'MW1' # A WMATA Route ID
352
+ M99 = 'M99' # A WMATA Route ID
353
+ N2 = 'N2' # A WMATA Route ID
354
+ N4 = 'N4' # A WMATA Route ID
355
+ N4_V1 = 'N4v1' # A WMATA Route ID
356
+ N6 = 'N6' # A WMATA Route ID
357
+ NH1 = 'NH1' # A WMATA Route ID
358
+ NH2 = 'NH2' # A WMATA Route ID
359
+ P12 = 'P12' # A WMATA Route ID
360
+ P12_V1 = 'P12v1' # A WMATA Route ID
361
+ P12_V2 = 'P12v2' # A WMATA Route ID
362
+ P18 = 'P18' # A WMATA Route ID
363
+ P19 = 'P19' # A WMATA Route ID
364
+ P6 = 'P6' # A WMATA Route ID
365
+ P6_V1 = 'P6v1' # A WMATA Route ID
366
+ P6_V2 = 'P6v2' # A WMATA Route ID
367
+ P6_V3 = 'P6v3' # A WMATA Route ID
368
+ P6_V4 = 'P6v4' # A WMATA Route ID
369
+ P99 = 'P99' # A WMATA Route ID
370
+ Q1 = 'Q1' # A WMATA Route ID
371
+ Q2 = 'Q2' # A WMATA Route ID
372
+ Q2_V1 = 'Q2v1' # A WMATA Route ID
373
+ Q2_V2 = 'Q2v2' # A WMATA Route ID
374
+ Q4 = 'Q4' # A WMATA Route ID
375
+ Q4_V1 = 'Q4v1' # A WMATA Route ID
376
+ Q5 = 'Q5' # A WMATA Route ID
377
+ Q6 = 'Q6' # A WMATA Route ID
378
+ Q6_V1 = 'Q6v1' # A WMATA Route ID
379
+ R1 = 'R1' # A WMATA Route ID
380
+ R12 = 'R12' # A WMATA Route ID
381
+ R12_V1 = 'R12v1' # A WMATA Route ID
382
+ R2 = 'R2' # A WMATA Route ID
383
+ R2_V1 = 'R2v1' # A WMATA Route ID
384
+ R2_V2 = 'R2v2' # A WMATA Route ID
385
+ R4 = 'R4' # A WMATA Route ID
386
+ REX = 'REX' # A WMATA Route ID
387
+ REX_V1 = 'REXv1' # A WMATA Route ID
388
+ REX_V2 = 'REXv2' # A WMATA Route ID
389
+ REX_V3 = 'REXv3' # A WMATA Route ID
390
+ REX_V4 = 'REXv4' # A WMATA Route ID
391
+ S1 = 'S1' # A WMATA Route ID
392
+ S2 = 'S2' # A WMATA Route ID
393
+ S2_V1 = 'S2v1' # A WMATA Route ID
394
+ S35 = 'S35' # A WMATA Route ID
395
+ S4 = 'S4' # A WMATA Route ID
396
+ S41 = 'S41' # A WMATA Route ID
397
+ S80 = 'S80' # A WMATA Route ID
398
+ S80_V1 = 'S80v1' # A WMATA Route ID
399
+ S80_V2 = 'S80v2' # A WMATA Route ID
400
+ S9 = 'S9' # A WMATA Route ID
401
+ S9_V1 = 'S9v1' # A WMATA Route ID
402
+ S91 = 'S91' # A WMATA Route ID
403
+ S91_V1 = 'S91v1' # A WMATA Route ID
404
+ SH99 = 'SH99' # A WMATA Route ID
405
+ T14 = 'T14' # A WMATA Route ID
406
+ T14_V1 = 'T14v1' # A WMATA Route ID
407
+ T18 = 'T18' # A WMATA Route ID
408
+ T18_V1 = 'T18v1' # A WMATA Route ID
409
+ T2 = 'T2' # A WMATA Route ID
410
+ U4 = 'U4' # A WMATA Route ID
411
+ U4_V1 = 'U4v1' # A WMATA Route ID
412
+ U4_V2 = 'U4v2' # A WMATA Route ID
413
+ U5 = 'U5' # A WMATA Route ID
414
+ U6 = 'U6' # A WMATA Route ID
415
+ U6_V1 = 'U6v1' # A WMATA Route ID
416
+ U6_V2 = 'U6v2' # A WMATA Route ID
417
+ U7 = 'U7' # A WMATA Route ID
418
+ U7_V1 = 'U7v1' # A WMATA Route ID
419
+ U7_V2 = 'U7v2' # A WMATA Route ID
420
+ U7_V3 = 'U7v3' # A WMATA Route ID
421
+ U7_V4 = 'U7v4' # A WMATA Route ID
422
+ V1 = 'V1' # A WMATA Route ID
423
+ V12 = 'V12' # A WMATA Route ID
424
+ V14 = 'V14' # A WMATA Route ID
425
+ V14_V1 = 'V14v1' # A WMATA Route ID
426
+ V2 = 'V2' # A WMATA Route ID
427
+ V2_V1 = 'V2v1' # A WMATA Route ID
428
+ V4 = 'V4' # A WMATA Route ID
429
+ V4_V1 = 'V4v1' # A WMATA Route ID
430
+ V7 = 'V7' # A WMATA Route ID
431
+ V8 = 'V8' # A WMATA Route ID
432
+ W1 = 'W1' # A WMATA Route ID
433
+ W14 = 'W14' # A WMATA Route ID
434
+ W14_V1 = 'W14v1' # A WMATA Route ID
435
+ W14_V2 = 'W14v2' # A WMATA Route ID
436
+ W2 = 'W2' # A WMATA Route ID
437
+ W2_V1 = 'W2v1' # A WMATA Route ID
438
+ W2_V2 = 'W2v2' # A WMATA Route ID
439
+ W2_V3 = 'W2v3' # A WMATA Route ID
440
+ W2_V4 = 'W2v4' # A WMATA Route ID
441
+ W2_V5 = 'W2v5' # A WMATA Route ID
442
+ W2_V6 = 'W2v6' # A WMATA Route ID
443
+ W2_V7 = 'W2v7' # A WMATA Route ID
444
+ W3 = 'W3' # A WMATA Route ID
445
+ W3_V1 = 'W3v1' # A WMATA Route ID
446
+ W4 = 'W4' # A WMATA Route ID
447
+ W4_V1 = 'W4v1' # A WMATA Route ID
448
+ W4_V2 = 'W4v2' # A WMATA Route ID
449
+ W45 = 'W45' # A WMATA Route ID
450
+ W47 = 'W47' # A WMATA Route ID
451
+ W5 = 'W5' # A WMATA Route ID
452
+ W6 = 'W6' # A WMATA Route ID
453
+ W6_V1 = 'W6v1' # A WMATA Route ID
454
+ W8 = 'W8' # A WMATA Route ID
455
+ W8_V1 = 'W8v1' # A WMATA Route ID
456
+ W8_V2 = 'W8v2' # A WMATA Route ID
457
+ X1 = 'X1' # A WMATA Route ID
458
+ X2 = 'X2' # A WMATA Route ID
459
+ X2_V1 = 'X2v1' # A WMATA Route ID
460
+ X2_V2 = 'X2v2' # A WMATA Route ID
461
+ X2_V3 = 'X2v3' # A WMATA Route ID
462
+ X3 = 'X3' # A WMATA Route ID
463
+ X3_V1 = 'X3v1' # A WMATA Route ID
464
+ X8 = 'X8' # A WMATA Route ID
465
+ X9 = 'X9' # A WMATA Route ID
466
+ X9_V1 = 'X9v1' # A WMATA Route ID
467
+ X9_V2 = 'X9v2' # A WMATA Route ID
468
+ Y2 = 'Y2' # A WMATA Route ID
469
+ Y7 = 'Y7' # A WMATA Route ID
470
+ Y8 = 'Y8' # A WMATA Route ID
471
+ Z11 = 'Z11' # A WMATA Route ID
472
+ Z11_V1 = 'Z11v1' # A WMATA Route ID
473
+ Z2 = 'Z2' # A WMATA Route ID
474
+ Z2_V1 = 'Z2v1' # A WMATA Route ID
475
+ Z2_V2 = 'Z2v2' # A WMATA Route ID
476
+ Z2_V3 = 'Z2v3' # A WMATA Route ID
477
+ Z6 = 'Z6' # A WMATA Route ID
478
+ Z6_V1 = 'Z6v1' # A WMATA Route ID
479
+ Z6_V2 = 'Z6v2' # A WMATA Route ID
480
+ Z7 = 'Z7' # A WMATA Route ID
481
+ Z7_V1 = 'Z7v1' # A WMATA Route ID
482
+ Z8 = 'Z8' # A WMATA Route ID
483
+ Z8_V1 = 'Z8v1' # A WMATA Route ID
484
+ Z8_V2 = 'Z8v2' # A WMATA Route ID
485
+ Z8_V3 = 'Z8v3' # A WMATA Route ID
486
+ Z8_V4 = 'Z8v4' # A WMATA Route ID
487
+ Z8_V5 = 'Z8v5' # A WMATA Route ID
488
+ Z8_V6 = 'Z8v6' # A WMATA Route ID
489
+ end
490
+
491
+ # These requests require a Route
492
+ module RequiresRoute
493
+ include Requests::Requester
494
+
495
+ #
496
+ # Bus positions for the given route at radius around coordinates
497
+ # {https://developer.wmata.com/docs/services/54763629281d83086473f231/operations/5476362a281d830c946a3d68 WMATA Documentation}
498
+ #
499
+ # @param [String] route A Route ID
500
+ # @param [RadiusAtCoordinates] radius_at_coordinates Radius in meters at a lat/long
501
+
502
+ # @raise [WeeseError] If request or JSON parse fails
503
+ #
504
+ # @return [Hash] JSON Response
505
+ #
506
+ def positions(route = nil, radius_at_coordinates = nil)
507
+ query = {}
508
+
509
+ query['Route'] = route if route
510
+
511
+ query.update(radius_at_coordinates.to_h) if radius_at_coordinates
512
+
513
+ fetch(
514
+ Requests::Request.new(
515
+ @api_key,
516
+ Bus::Urls::POSITIONS,
517
+ query
518
+ )
519
+ )
520
+ end
521
+
522
+ #
523
+ # Reported bus incidents/delays for a given route.
524
+ # {https://developer.wmata.com/docs/services/54763641281d83086473f232/operations/54763641281d830c946a3d75 WMATA Documentation}
525
+ #
526
+ # @param [String] route A Route ID
527
+ #
528
+ # @raise [WeeseError] If request or JSON parse fails
529
+ #
530
+ # @return [Hash] JSON Response
531
+ #
532
+ def incidents(route = nil)
533
+ query = {}
534
+
535
+ query['Route'] = route if route
536
+
537
+ fetch(
538
+ Requests::Request.new(
539
+ @api_key,
540
+ Bus::Urls::INCIDENTS,
541
+ query
542
+ )
543
+ )
544
+ end
545
+
546
+ #
547
+ # For an optional given date, returns the set of ordered latitude/longitude
548
+ # points along a route variant along with the list of stops served.
549
+ # {https://developer.wmata.com/docs/services/54763629281d83086473f231/operations/5476362a281d830c946a3d69 WMATA Documentation}
550
+ #
551
+ # @param [String] route A Route ID
552
+ # @param [Date] date A Date
553
+ #
554
+ # @raise [WeeseError] If request or JSON parse fails
555
+ #
556
+ # @return [Hash] JSON Response
557
+ #
558
+ def path(route, date = nil)
559
+ query = { 'RouteID': route }
560
+
561
+ query['Date'] = date.to_s if date
562
+
563
+ fetch(
564
+ Requests::Request.new(
565
+ @api_key,
566
+ Bus::Urls::PATH_DETAILS,
567
+ query
568
+ )
569
+ )
570
+ end
571
+
572
+ #
573
+ # Schedules for a given route variant for an optional given date.
574
+ # {https://developer.wmata.com/docs/services/54763629281d83086473f231/operations/5476362a281d830c946a3d6b}
575
+ #
576
+ # @note Date: Omit date for current date
577
+ # @note Variations: Whether or not to include variations if a base route is specified in Route. For example, if B30 is specified and IncludingVariations is set to true, data for all variations of B30 such as B30v1, B30v2, etc. will be returned.
578
+ #
579
+ # @param [String] route A Route ID
580
+ # @param [bool] including_variations If variations of Route should be included
581
+ # @param [Date] date Date of check schedule of
582
+ #
583
+ # @raise [WeeseError] If request or JSON parse fails
584
+ #
585
+ # @return [Hash] JSON Response
586
+ #
587
+ def route_schedule(route, including_variations, date = nil)
588
+ query = { 'RouteID': route }
589
+
590
+ query['IncludingVariations'] = including_variations if including_variations
591
+
592
+ query['Date'] = date.to_s if date
593
+
594
+ fetch(
595
+ Requests::Request.new(
596
+ @api_key,
597
+ Bus::Urls::ROUTE_SCHEDULE,
598
+ query
599
+ )
600
+ )
601
+ end
602
+ end
603
+ end
604
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'weese/bus/urls'
4
+
5
+ module Weese
6
+ module Bus
7
+ # A MetroBus stop.
8
+ class Stop
9
+ # @return [Integer] The WMATA Stop ID of this Stop
10
+ attr_accessor :id
11
+
12
+ #
13
+ # Create a Stop
14
+ #
15
+ # @param [Integer] id WMATA Stop ID
16
+ #
17
+ def initialize(id)
18
+ @id = id
19
+ end
20
+ end
21
+
22
+ # These requests require a Stop
23
+ module RequiresStop
24
+ include Requests::Requester
25
+
26
+ #
27
+ # Next bus arrivals at a given stop.
28
+ # {https://developer.wmata.com/docs/services/5476365e031f590f38092508/operations/5476365e031f5909e4fe331d WMATA Documentation}
29
+ #
30
+ # @param [Stop] stop A Stop
31
+ #
32
+ # @raise [WeeseError] If request or JSON parse fails
33
+ #
34
+ # @return [Hash] JSON Response
35
+ #
36
+ def next_buses(stop)
37
+ fetch(
38
+ Requests::Request.new(
39
+ @api_key,
40
+ Bus::Urls::NEXT_BUSES,
41
+ StopID: stop.id
42
+ )
43
+ )
44
+ end
45
+
46
+ #
47
+ # Buses scheduled at a stop for an optional given date.
48
+ # {https://developer.wmata.com/docs/services/54763629281d83086473f231/operations/5476362a281d830c946a3d6c WMATA Documentation}
49
+ #
50
+ # @param [Stop] stop A Stop
51
+ # @param [Date] date An optional Date
52
+ #
53
+ # @raise [WeeseError] If request or JSON parse fails
54
+ #
55
+ # @return [Hash] JSON Response
56
+ #
57
+ def stop_schedule(stop, date = nil)
58
+ query = { StopID: stop.id }
59
+
60
+ query['Date'] = date.to_s if date
61
+
62
+ fetch(
63
+ Requests::Request.new(
64
+ @api_key,
65
+ Bus::Urls::STOP_SCHEDULE,
66
+ query
67
+ )
68
+ )
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Weese
4
+ module Bus
5
+ # URLs for MetroBus related endpoints
6
+ module Urls
7
+ ROUTES = 'HTTPS://api.wmata.com/Bus.svc/json/jRoutes' # A WMATA endpoint
8
+ STOPS = 'https://api.wmata.com/Bus.svc/json/jStops' # A WMATA endpoint
9
+ INCIDENTS = 'https://api.wmata.com/Incidents.svc/json/BusIncidents' # A WMATA endpoint
10
+ POSITIONS = 'https://api.wmata.com/Bus.svc/json/jBusPositions' # A WMATA endpoint
11
+ PATH_DETAILS = 'https://api.wmata.com/Bus.svc/json/jRouteDetails' # A WMATA endpoint
12
+ ROUTE_SCHEDULE = 'https://api.wmata.com/Bus.svc/json/jRouteSchedule' # A WMATA endpoint
13
+ NEXT_BUSES = 'https://api.wmata.com/NextBusService.svc/json/jPredictions' # A WMATA endpoint
14
+ STOP_SCHEDULE = 'https://api.wmata.com/Bus.svc/json/jStopSchedule' # A WMATA endpoint
15
+ end
16
+ end
17
+ end