onebusaway-sdk 0.1.0.pre.alpha.207 → 0.1.0.pre.alpha.208

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 (542) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +2097 -0
  4. data/README.md +135 -37
  5. data/SECURITY.md +27 -0
  6. data/lib/{onebusaway-sdk → onebusaway_sdk}/client.rb +10 -9
  7. data/lib/onebusaway_sdk/errors.rb +192 -0
  8. data/lib/onebusaway_sdk/file_part.rb +55 -0
  9. data/lib/onebusaway_sdk/internal/transport/base_client.rb +565 -0
  10. data/lib/onebusaway_sdk/internal/transport/pooled_net_requester.rb +209 -0
  11. data/lib/onebusaway_sdk/internal/type/array_of.rb +154 -0
  12. data/lib/onebusaway_sdk/internal/type/base_model.rb +478 -0
  13. data/lib/onebusaway_sdk/internal/type/base_page.rb +55 -0
  14. data/lib/onebusaway_sdk/internal/type/boolean.rb +63 -0
  15. data/lib/onebusaway_sdk/internal/type/converter.rb +292 -0
  16. data/lib/onebusaway_sdk/internal/type/enum.rb +108 -0
  17. data/lib/onebusaway_sdk/internal/type/file_input.rb +96 -0
  18. data/lib/onebusaway_sdk/internal/type/hash_of.rb +174 -0
  19. data/lib/onebusaway_sdk/internal/type/request_parameters.rb +42 -0
  20. data/lib/onebusaway_sdk/internal/type/union.rb +221 -0
  21. data/lib/onebusaway_sdk/internal/type/unknown.rb +67 -0
  22. data/lib/onebusaway_sdk/internal/util.rb +862 -0
  23. data/lib/onebusaway_sdk/internal.rb +17 -0
  24. data/lib/onebusaway_sdk/models/agencies_with_coverage_list_params.rb +14 -0
  25. data/lib/onebusaway_sdk/models/agencies_with_coverage_list_response.rb +73 -0
  26. data/lib/onebusaway_sdk/models/agency_retrieve_params.rb +14 -0
  27. data/lib/onebusaway_sdk/models/agency_retrieve_response.rb +103 -0
  28. data/lib/onebusaway_sdk/models/arrival_and_departure_list_params.rb +38 -0
  29. data/lib/{onebusaway-sdk → onebusaway_sdk}/models/arrival_and_departure_list_response.rb +219 -374
  30. data/lib/onebusaway_sdk/models/arrival_and_departure_retrieve_params.rb +44 -0
  31. data/lib/{onebusaway-sdk → onebusaway_sdk}/models/arrival_and_departure_retrieve_response.rb +215 -366
  32. data/lib/onebusaway_sdk/models/block_retrieve_params.rb +14 -0
  33. data/lib/onebusaway_sdk/models/block_retrieve_response.rb +172 -0
  34. data/lib/onebusaway_sdk/models/config_retrieve_params.rb +14 -0
  35. data/lib/onebusaway_sdk/models/config_retrieve_response.rb +194 -0
  36. data/lib/onebusaway_sdk/models/current_time_retrieve_params.rb +14 -0
  37. data/lib/onebusaway_sdk/models/current_time_retrieve_response.rb +49 -0
  38. data/lib/onebusaway_sdk/models/references.rb +701 -0
  39. data/lib/onebusaway_sdk/models/report_problem_with_stop_retrieve_params.rb +68 -0
  40. data/lib/onebusaway_sdk/models/report_problem_with_trip_retrieve_params.rb +109 -0
  41. data/lib/{onebusaway-sdk → onebusaway_sdk}/models/response_wrapper.rb +6 -10
  42. data/lib/onebusaway_sdk/models/route_ids_for_agency_list_params.rb +14 -0
  43. data/lib/onebusaway_sdk/models/route_ids_for_agency_list_response.rb +38 -0
  44. data/lib/onebusaway_sdk/models/route_retrieve_params.rb +14 -0
  45. data/lib/onebusaway_sdk/models/route_retrieve_response.rb +97 -0
  46. data/lib/onebusaway_sdk/models/routes_for_agency_list_params.rb +14 -0
  47. data/lib/onebusaway_sdk/models/routes_for_agency_list_response.rb +103 -0
  48. data/lib/onebusaway_sdk/models/routes_for_location_list_params.rb +50 -0
  49. data/lib/onebusaway_sdk/models/routes_for_location_list_response.rb +109 -0
  50. data/lib/onebusaway_sdk/models/schedule_for_route_retrieve_params.rb +26 -0
  51. data/lib/onebusaway_sdk/models/schedule_for_route_retrieve_response.rb +325 -0
  52. data/lib/onebusaway_sdk/models/schedule_for_stop_retrieve_params.rb +26 -0
  53. data/lib/onebusaway_sdk/models/schedule_for_stop_retrieve_response.rb +201 -0
  54. data/lib/onebusaway_sdk/models/search_for_route_list_params.rb +30 -0
  55. data/lib/onebusaway_sdk/models/search_for_route_list_response.rb +109 -0
  56. data/lib/onebusaway_sdk/models/search_for_stop_list_params.rb +30 -0
  57. data/lib/onebusaway_sdk/models/search_for_stop_list_response.rb +117 -0
  58. data/lib/onebusaway_sdk/models/shape_retrieve_params.rb +14 -0
  59. data/lib/onebusaway_sdk/models/shape_retrieve_response.rb +58 -0
  60. data/lib/onebusaway_sdk/models/stop_ids_for_agency_list_params.rb +14 -0
  61. data/lib/onebusaway_sdk/models/stop_ids_for_agency_list_response.rb +38 -0
  62. data/lib/onebusaway_sdk/models/stop_retrieve_params.rb +14 -0
  63. data/lib/onebusaway_sdk/models/stop_retrieve_response.rb +105 -0
  64. data/lib/onebusaway_sdk/models/stops_for_agency_list_params.rb +14 -0
  65. data/lib/onebusaway_sdk/models/stops_for_agency_list_response.rb +105 -0
  66. data/lib/onebusaway_sdk/models/stops_for_location_list_params.rb +60 -0
  67. data/lib/onebusaway_sdk/models/stops_for_location_list_response.rb +117 -0
  68. data/lib/onebusaway_sdk/models/stops_for_route_list_params.rb +30 -0
  69. data/lib/onebusaway_sdk/models/stops_for_route_list_response.rb +160 -0
  70. data/lib/onebusaway_sdk/models/trip_detail_retrieve_params.rb +60 -0
  71. data/lib/onebusaway_sdk/models/trip_detail_retrieve_response.rb +426 -0
  72. data/lib/onebusaway_sdk/models/trip_for_vehicle_retrieve_params.rb +52 -0
  73. data/lib/onebusaway_sdk/models/trip_for_vehicle_retrieve_response.rb +426 -0
  74. data/lib/onebusaway_sdk/models/trip_retrieve_params.rb +14 -0
  75. data/lib/onebusaway_sdk/models/trip_retrieve_response.rb +103 -0
  76. data/lib/onebusaway_sdk/models/trips_for_location_list_params.rb +75 -0
  77. data/lib/onebusaway_sdk/models/trips_for_location_list_response.rb +443 -0
  78. data/lib/onebusaway_sdk/models/trips_for_route_list_params.rb +42 -0
  79. data/lib/onebusaway_sdk/models/trips_for_route_list_response.rb +431 -0
  80. data/lib/onebusaway_sdk/models/vehicles_for_agency_list_params.rb +22 -0
  81. data/lib/onebusaway_sdk/models/vehicles_for_agency_list_response.rb +404 -0
  82. data/lib/onebusaway_sdk/models.rb +95 -0
  83. data/lib/onebusaway_sdk/request_options.rb +78 -0
  84. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/agencies_with_coverage.rb +7 -3
  85. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/agency.rb +8 -4
  86. data/lib/onebusaway_sdk/resources/arrival_and_departure.rb +73 -0
  87. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/block.rb +8 -4
  88. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/config.rb +6 -2
  89. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/current_time.rb +6 -2
  90. data/lib/onebusaway_sdk/resources/report_problem_with_stop.rb +51 -0
  91. data/lib/onebusaway_sdk/resources/report_problem_with_trip.rb +66 -0
  92. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/route.rb +8 -4
  93. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/route_ids_for_agency.rb +8 -4
  94. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/routes_for_agency.rb +8 -4
  95. data/lib/onebusaway_sdk/resources/routes_for_location.rb +40 -0
  96. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/schedule_for_route.rb +13 -7
  97. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/schedule_for_stop.rb +13 -7
  98. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/search_for_route.rb +10 -6
  99. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/search_for_stop.rb +10 -6
  100. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/shape.rb +8 -4
  101. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/stop.rb +8 -4
  102. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/stop_ids_for_agency.rb +8 -4
  103. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/stops_for_agency.rb +8 -4
  104. data/lib/onebusaway_sdk/resources/stops_for_location.rb +46 -0
  105. data/lib/onebusaway_sdk/resources/stops_for_route.rb +40 -0
  106. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/trip.rb +8 -4
  107. data/lib/onebusaway_sdk/resources/trip_details.rb +54 -0
  108. data/lib/onebusaway_sdk/resources/trip_for_vehicle.rb +51 -0
  109. data/lib/onebusaway_sdk/resources/trips_for_location.rb +56 -0
  110. data/lib/onebusaway_sdk/resources/trips_for_route.rb +45 -0
  111. data/lib/{onebusaway-sdk → onebusaway_sdk}/resources/vehicles_for_agency.rb +10 -6
  112. data/lib/{onebusaway-sdk → onebusaway_sdk}/version.rb +1 -1
  113. data/lib/onebusaway_sdk.rb +137 -0
  114. data/manifest.yaml +1 -0
  115. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/client.rbi +39 -68
  116. data/rbi/onebusaway_sdk/errors.rbi +162 -0
  117. data/rbi/onebusaway_sdk/file_part.rbi +37 -0
  118. data/rbi/onebusaway_sdk/internal/transport/base_client.rbi +301 -0
  119. data/rbi/onebusaway_sdk/internal/transport/pooled_net_requester.rbi +80 -0
  120. data/rbi/onebusaway_sdk/internal/type/array_of.rbi +98 -0
  121. data/rbi/onebusaway_sdk/internal/type/base_model.rbi +305 -0
  122. data/rbi/onebusaway_sdk/internal/type/base_page.rbi +43 -0
  123. data/rbi/onebusaway_sdk/internal/type/boolean.rbi +50 -0
  124. data/rbi/onebusaway_sdk/internal/type/converter.rbi +167 -0
  125. data/rbi/onebusaway_sdk/internal/type/enum.rbi +77 -0
  126. data/rbi/onebusaway_sdk/internal/type/file_input.rbi +54 -0
  127. data/rbi/onebusaway_sdk/internal/type/hash_of.rbi +98 -0
  128. data/rbi/onebusaway_sdk/internal/type/request_parameters.rbi +31 -0
  129. data/rbi/onebusaway_sdk/internal/type/union.rbi +111 -0
  130. data/rbi/onebusaway_sdk/internal/type/unknown.rbi +50 -0
  131. data/rbi/onebusaway_sdk/internal/util.rbi +451 -0
  132. data/rbi/onebusaway_sdk/internal.rbi +13 -0
  133. data/rbi/onebusaway_sdk/models/agencies_with_coverage_list_params.rbi +32 -0
  134. data/rbi/onebusaway_sdk/models/agencies_with_coverage_list_response.rbi +154 -0
  135. data/rbi/onebusaway_sdk/models/agency_retrieve_params.rbi +32 -0
  136. data/rbi/onebusaway_sdk/models/agency_retrieve_response.rbi +201 -0
  137. data/rbi/onebusaway_sdk/models/arrival_and_departure_list_params.rbi +71 -0
  138. data/rbi/onebusaway_sdk/models/arrival_and_departure_list_response.rbi +912 -0
  139. data/rbi/onebusaway_sdk/models/arrival_and_departure_retrieve_params.rbi +77 -0
  140. data/rbi/onebusaway_sdk/models/arrival_and_departure_retrieve_response.rbi +874 -0
  141. data/rbi/onebusaway_sdk/models/block_retrieve_params.rbi +32 -0
  142. data/rbi/onebusaway_sdk/models/block_retrieve_response.rbi +386 -0
  143. data/rbi/onebusaway_sdk/models/config_retrieve_params.rbi +32 -0
  144. data/rbi/onebusaway_sdk/models/config_retrieve_response.rbi +383 -0
  145. data/rbi/onebusaway_sdk/models/current_time_retrieve_params.rbi +32 -0
  146. data/rbi/onebusaway_sdk/models/current_time_retrieve_response.rbi +128 -0
  147. data/rbi/onebusaway_sdk/models/references.rbi +1292 -0
  148. data/rbi/onebusaway_sdk/models/report_problem_with_stop_retrieve_params.rbi +156 -0
  149. data/rbi/onebusaway_sdk/models/report_problem_with_trip_retrieve_params.rbi +216 -0
  150. data/rbi/onebusaway_sdk/models/response_wrapper.rbi +51 -0
  151. data/rbi/onebusaway_sdk/models/route_ids_for_agency_list_params.rbi +32 -0
  152. data/rbi/onebusaway_sdk/models/route_ids_for_agency_list_response.rbi +89 -0
  153. data/rbi/onebusaway_sdk/models/route_retrieve_params.rbi +32 -0
  154. data/rbi/onebusaway_sdk/models/route_retrieve_response.rbi +199 -0
  155. data/rbi/onebusaway_sdk/models/routes_for_agency_list_params.rbi +32 -0
  156. data/rbi/onebusaway_sdk/models/routes_for_agency_list_response.rbi +205 -0
  157. data/rbi/onebusaway_sdk/models/routes_for_location_list_params.rbi +86 -0
  158. data/rbi/onebusaway_sdk/models/routes_for_location_list_response.rbi +214 -0
  159. data/rbi/onebusaway_sdk/models/schedule_for_route_retrieve_params.rbi +48 -0
  160. data/rbi/onebusaway_sdk/models/schedule_for_route_retrieve_response.rbi +623 -0
  161. data/rbi/onebusaway_sdk/models/schedule_for_stop_retrieve_params.rbi +48 -0
  162. data/rbi/onebusaway_sdk/models/schedule_for_stop_retrieve_response.rbi +415 -0
  163. data/rbi/onebusaway_sdk/models/search_for_route_list_params.rbi +57 -0
  164. data/rbi/onebusaway_sdk/models/search_for_route_list_response.rbi +214 -0
  165. data/rbi/onebusaway_sdk/models/search_for_stop_list_params.rbi +57 -0
  166. data/rbi/onebusaway_sdk/models/search_for_stop_list_response.rbi +211 -0
  167. data/rbi/onebusaway_sdk/models/shape_retrieve_params.rbi +32 -0
  168. data/rbi/onebusaway_sdk/models/shape_retrieve_response.rbi +135 -0
  169. data/rbi/onebusaway_sdk/models/stop_ids_for_agency_list_params.rbi +32 -0
  170. data/rbi/onebusaway_sdk/models/stop_ids_for_agency_list_response.rbi +87 -0
  171. data/rbi/onebusaway_sdk/models/stop_retrieve_params.rbi +32 -0
  172. data/rbi/onebusaway_sdk/models/stop_retrieve_response.rbi +196 -0
  173. data/rbi/onebusaway_sdk/models/stops_for_agency_list_params.rbi +32 -0
  174. data/rbi/onebusaway_sdk/models/stops_for_agency_list_response.rbi +170 -0
  175. data/rbi/onebusaway_sdk/models/stops_for_location_list_params.rbi +94 -0
  176. data/rbi/onebusaway_sdk/models/stops_for_location_list_response.rbi +212 -0
  177. data/rbi/onebusaway_sdk/models/stops_for_route_list_params.rbi +60 -0
  178. data/rbi/onebusaway_sdk/models/stops_for_route_list_response.rbi +423 -0
  179. data/rbi/onebusaway_sdk/models/trip_detail_retrieve_params.rbi +99 -0
  180. data/rbi/onebusaway_sdk/models/trip_detail_retrieve_response.rbi +733 -0
  181. data/rbi/onebusaway_sdk/models/trip_for_vehicle_retrieve_params.rbi +88 -0
  182. data/rbi/onebusaway_sdk/models/trip_for_vehicle_retrieve_response.rbi +737 -0
  183. data/rbi/onebusaway_sdk/models/trip_retrieve_params.rbi +32 -0
  184. data/rbi/onebusaway_sdk/models/trip_retrieve_response.rbi +208 -0
  185. data/rbi/onebusaway_sdk/models/trips_for_location_list_params.rbi +107 -0
  186. data/rbi/onebusaway_sdk/models/trips_for_location_list_response.rbi +751 -0
  187. data/rbi/onebusaway_sdk/models/trips_for_route_list_params.rbi +73 -0
  188. data/rbi/onebusaway_sdk/models/trips_for_route_list_response.rbi +732 -0
  189. data/rbi/onebusaway_sdk/models/vehicles_for_agency_list_params.rbi +46 -0
  190. data/rbi/onebusaway_sdk/models/vehicles_for_agency_list_response.rbi +655 -0
  191. data/rbi/onebusaway_sdk/models.rbi +76 -0
  192. data/rbi/onebusaway_sdk/request_options.rbi +59 -0
  193. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/agencies_with_coverage.rbi +5 -3
  194. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/agency.rbi +3 -3
  195. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/arrival_and_departure.rbi +5 -6
  196. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/block.rbi +3 -3
  197. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/config.rbi +4 -2
  198. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/current_time.rbi +4 -2
  199. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/report_problem_with_stop.rbi +5 -4
  200. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/report_problem_with_trip.rbi +5 -4
  201. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/route.rbi +3 -3
  202. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/route_ids_for_agency.rbi +3 -3
  203. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/routes_for_agency.rbi +3 -3
  204. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/routes_for_location.rbi +12 -4
  205. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/schedule_for_route.rbi +4 -4
  206. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/schedule_for_stop.rbi +4 -4
  207. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/search_for_route.rbi +3 -3
  208. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/search_for_stop.rbi +3 -3
  209. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/shape.rbi +3 -3
  210. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/stop.rbi +3 -3
  211. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/stop_ids_for_agency.rbi +3 -3
  212. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/stops_for_agency.rbi +3 -3
  213. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/stops_for_location.rbi +3 -3
  214. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/stops_for_route.rbi +3 -3
  215. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/trip.rbi +3 -3
  216. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/trip_details.rbi +6 -6
  217. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/trip_for_vehicle.rbi +6 -6
  218. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/trips_for_location.rbi +5 -5
  219. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/trips_for_route.rbi +4 -4
  220. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/resources/vehicles_for_agency.rbi +3 -3
  221. data/rbi/{lib/onebusaway-sdk → onebusaway_sdk}/version.rbi +1 -1
  222. data/sig/{onebusaway-sdk → onebusaway_sdk}/client.rbs +7 -7
  223. data/sig/onebusaway_sdk/errors.rbs +101 -0
  224. data/sig/onebusaway_sdk/file_part.rbs +21 -0
  225. data/sig/onebusaway_sdk/internal/transport/base_client.rbs +131 -0
  226. data/sig/onebusaway_sdk/internal/transport/pooled_net_requester.rbs +45 -0
  227. data/sig/onebusaway_sdk/internal/type/array_of.rbs +45 -0
  228. data/sig/onebusaway_sdk/internal/type/base_model.rbs +102 -0
  229. data/sig/onebusaway_sdk/internal/type/base_page.rbs +24 -0
  230. data/sig/onebusaway_sdk/internal/type/boolean.rbs +23 -0
  231. data/sig/onebusaway_sdk/internal/type/converter.rbs +56 -0
  232. data/sig/onebusaway_sdk/internal/type/enum.rbs +30 -0
  233. data/sig/onebusaway_sdk/internal/type/file_input.rbs +23 -0
  234. data/sig/onebusaway_sdk/internal/type/hash_of.rbs +45 -0
  235. data/sig/onebusaway_sdk/internal/type/request_parameters.rbs +19 -0
  236. data/sig/onebusaway_sdk/internal/type/union.rbs +50 -0
  237. data/sig/onebusaway_sdk/internal/type/unknown.rbs +23 -0
  238. data/sig/onebusaway_sdk/internal/util.rbs +173 -0
  239. data/sig/onebusaway_sdk/internal.rbs +7 -0
  240. data/sig/onebusaway_sdk/models/agencies_with_coverage_list_params.rbs +13 -0
  241. data/sig/onebusaway_sdk/models/agencies_with_coverage_list_response.rbs +68 -0
  242. data/sig/onebusaway_sdk/models/agency_retrieve_params.rbs +13 -0
  243. data/sig/onebusaway_sdk/models/agency_retrieve_response.rbs +100 -0
  244. data/sig/onebusaway_sdk/models/arrival_and_departure_list_params.rbs +31 -0
  245. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/arrival_and_departure_list_response.rbs +89 -134
  246. data/sig/onebusaway_sdk/models/arrival_and_departure_retrieve_params.rbs +43 -0
  247. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/arrival_and_departure_retrieve_response.rbs +85 -123
  248. data/sig/onebusaway_sdk/models/block_retrieve_params.rbs +13 -0
  249. data/sig/onebusaway_sdk/models/block_retrieve_response.rbs +158 -0
  250. data/sig/onebusaway_sdk/models/config_retrieve_params.rbs +13 -0
  251. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/config_retrieve_response.rbs +45 -67
  252. data/sig/onebusaway_sdk/models/current_time_retrieve_params.rbs +13 -0
  253. data/sig/onebusaway_sdk/models/current_time_retrieve_response.rbs +49 -0
  254. data/sig/onebusaway_sdk/models/references.rbs +627 -0
  255. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/report_problem_with_stop_retrieve_params.rbs +16 -21
  256. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/report_problem_with_trip_retrieve_params.rbs +21 -26
  257. data/sig/onebusaway_sdk/models/response_wrapper.rbs +23 -0
  258. data/sig/onebusaway_sdk/models/route_ids_for_agency_list_params.rbs +13 -0
  259. data/sig/onebusaway_sdk/models/route_ids_for_agency_list_response.rbs +39 -0
  260. data/sig/onebusaway_sdk/models/route_retrieve_params.rbs +13 -0
  261. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/route_retrieve_response.rbs +27 -42
  262. data/sig/onebusaway_sdk/models/routes_for_agency_list_params.rbs +13 -0
  263. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/routes_for_agency_list_response.rbs +28 -43
  264. data/sig/onebusaway_sdk/models/routes_for_location_list_params.rbs +49 -0
  265. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/routes_for_location_list_response.rbs +29 -46
  266. data/sig/onebusaway_sdk/models/schedule_for_route_retrieve_params.rbs +20 -0
  267. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/schedule_for_route_retrieve_response.rbs +72 -124
  268. data/sig/onebusaway_sdk/models/schedule_for_stop_retrieve_params.rbs +20 -0
  269. data/sig/onebusaway_sdk/models/schedule_for_stop_retrieve_response.rbs +170 -0
  270. data/sig/onebusaway_sdk/models/search_for_route_list_params.rbs +24 -0
  271. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/search_for_route_list_response.rbs +27 -46
  272. data/sig/onebusaway_sdk/models/search_for_stop_list_params.rbs +24 -0
  273. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/search_for_stop_list_response.rbs +28 -47
  274. data/sig/onebusaway_sdk/models/shape_retrieve_params.rbs +13 -0
  275. data/sig/onebusaway_sdk/models/shape_retrieve_response.rbs +53 -0
  276. data/sig/onebusaway_sdk/models/stop_ids_for_agency_list_params.rbs +13 -0
  277. data/sig/onebusaway_sdk/models/stop_ids_for_agency_list_response.rbs +39 -0
  278. data/sig/onebusaway_sdk/models/stop_retrieve_params.rbs +13 -0
  279. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/stop_retrieve_response.rbs +28 -43
  280. data/sig/onebusaway_sdk/models/stops_for_agency_list_params.rbs +13 -0
  281. data/sig/onebusaway_sdk/models/stops_for_agency_list_response.rbs +101 -0
  282. data/sig/onebusaway_sdk/models/stops_for_location_list_params.rbs +49 -0
  283. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/stops_for_location_list_response.rbs +30 -47
  284. data/sig/onebusaway_sdk/models/stops_for_route_list_params.rbs +26 -0
  285. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/stops_for_route_list_response.rbs +46 -77
  286. data/sig/onebusaway_sdk/models/trip_detail_retrieve_params.rbs +47 -0
  287. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/trip_detail_retrieve_response.rbs +74 -124
  288. data/sig/onebusaway_sdk/models/trip_for_vehicle_retrieve_params.rbs +41 -0
  289. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/trip_for_vehicle_retrieve_response.rbs +74 -126
  290. data/sig/onebusaway_sdk/models/trip_retrieve_params.rbs +13 -0
  291. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/trip_retrieve_response.rbs +28 -43
  292. data/sig/onebusaway_sdk/models/trips_for_location_list_params.rbs +51 -0
  293. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/trips_for_location_list_response.rbs +76 -128
  294. data/sig/onebusaway_sdk/models/trips_for_route_list_params.rbs +31 -0
  295. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/trips_for_route_list_response.rbs +75 -125
  296. data/sig/onebusaway_sdk/models/vehicles_for_agency_list_params.rbs +20 -0
  297. data/sig/{onebusaway-sdk → onebusaway_sdk}/models/vehicles_for_agency_list_response.rbs +65 -110
  298. data/sig/onebusaway_sdk/models.rbs +63 -0
  299. data/sig/{onebusaway-sdk → onebusaway_sdk}/request_options.rbs +4 -14
  300. data/sig/onebusaway_sdk/resources/agencies_with_coverage.rbs +11 -0
  301. data/sig/onebusaway_sdk/resources/agency.rbs +12 -0
  302. data/sig/onebusaway_sdk/resources/arrival_and_departure.rbs +25 -0
  303. data/sig/onebusaway_sdk/resources/block.rbs +12 -0
  304. data/sig/onebusaway_sdk/resources/config.rbs +11 -0
  305. data/sig/onebusaway_sdk/resources/current_time.rbs +11 -0
  306. data/sig/onebusaway_sdk/resources/report_problem_with_stop.rbs +17 -0
  307. data/sig/onebusaway_sdk/resources/report_problem_with_trip.rbs +22 -0
  308. data/sig/onebusaway_sdk/resources/route.rbs +12 -0
  309. data/sig/onebusaway_sdk/resources/route_ids_for_agency.rbs +12 -0
  310. data/sig/onebusaway_sdk/resources/routes_for_agency.rbs +12 -0
  311. data/sig/onebusaway_sdk/resources/routes_for_location.rbs +17 -0
  312. data/sig/onebusaway_sdk/resources/schedule_for_route.rbs +13 -0
  313. data/sig/onebusaway_sdk/resources/schedule_for_stop.rbs +13 -0
  314. data/sig/onebusaway_sdk/resources/search_for_route.rbs +13 -0
  315. data/sig/onebusaway_sdk/resources/search_for_stop.rbs +13 -0
  316. data/sig/onebusaway_sdk/resources/shape.rbs +12 -0
  317. data/sig/onebusaway_sdk/resources/stop.rbs +12 -0
  318. data/sig/onebusaway_sdk/resources/stop_ids_for_agency.rbs +12 -0
  319. data/sig/onebusaway_sdk/resources/stops_for_agency.rbs +12 -0
  320. data/sig/onebusaway_sdk/resources/stops_for_location.rbs +17 -0
  321. data/sig/onebusaway_sdk/resources/stops_for_route.rbs +14 -0
  322. data/sig/onebusaway_sdk/resources/trip.rbs +12 -0
  323. data/sig/onebusaway_sdk/resources/trip_details.rbs +17 -0
  324. data/sig/onebusaway_sdk/resources/trip_for_vehicle.rbs +16 -0
  325. data/sig/onebusaway_sdk/resources/trips_for_location.rbs +18 -0
  326. data/sig/onebusaway_sdk/resources/trips_for_route.rbs +15 -0
  327. data/sig/onebusaway_sdk/resources/vehicles_for_agency.rbs +13 -0
  328. data/sig/{onebusaway-sdk/extern.rbs → onebusaway_sdk/version.rbs} +1 -2
  329. metadata +329 -293
  330. data/lib/onebusaway-sdk/base_client.rb +0 -455
  331. data/lib/onebusaway-sdk/base_model.rb +0 -1163
  332. data/lib/onebusaway-sdk/base_page.rb +0 -60
  333. data/lib/onebusaway-sdk/errors.rb +0 -183
  334. data/lib/onebusaway-sdk/extern.rb +0 -7
  335. data/lib/onebusaway-sdk/models/agencies_with_coverage_list_params.rb +0 -18
  336. data/lib/onebusaway-sdk/models/agencies_with_coverage_list_response.rb +0 -84
  337. data/lib/onebusaway-sdk/models/agency_retrieve_params.rb +0 -18
  338. data/lib/onebusaway-sdk/models/agency_retrieve_response.rb +0 -151
  339. data/lib/onebusaway-sdk/models/arrival_and_departure_list_params.rb +0 -51
  340. data/lib/onebusaway-sdk/models/arrival_and_departure_retrieve_params.rb +0 -60
  341. data/lib/onebusaway-sdk/models/block_retrieve_params.rb +0 -18
  342. data/lib/onebusaway-sdk/models/block_retrieve_response.rb +0 -205
  343. data/lib/onebusaway-sdk/models/config_retrieve_params.rb +0 -18
  344. data/lib/onebusaway-sdk/models/config_retrieve_response.rb +0 -331
  345. data/lib/onebusaway-sdk/models/current_time_retrieve_params.rb +0 -18
  346. data/lib/onebusaway-sdk/models/current_time_retrieve_response.rb +0 -67
  347. data/lib/onebusaway-sdk/models/references.rb +0 -1050
  348. data/lib/onebusaway-sdk/models/report_problem_with_stop_retrieve_params.rb +0 -96
  349. data/lib/onebusaway-sdk/models/report_problem_with_trip_retrieve_params.rb +0 -157
  350. data/lib/onebusaway-sdk/models/route_ids_for_agency_list_params.rb +0 -18
  351. data/lib/onebusaway-sdk/models/route_ids_for_agency_list_response.rb +0 -45
  352. data/lib/onebusaway-sdk/models/route_retrieve_params.rb +0 -18
  353. data/lib/onebusaway-sdk/models/route_retrieve_response.rb +0 -149
  354. data/lib/onebusaway-sdk/models/routes_for_agency_list_params.rb +0 -18
  355. data/lib/onebusaway-sdk/models/routes_for_agency_list_response.rb +0 -156
  356. data/lib/onebusaway-sdk/models/routes_for_location_list_params.rb +0 -70
  357. data/lib/onebusaway-sdk/models/routes_for_location_list_response.rb +0 -162
  358. data/lib/onebusaway-sdk/models/schedule_for_route_retrieve_params.rb +0 -30
  359. data/lib/onebusaway-sdk/models/schedule_for_route_retrieve_response.rb +0 -453
  360. data/lib/onebusaway-sdk/models/schedule_for_stop_retrieve_params.rb +0 -30
  361. data/lib/onebusaway-sdk/models/schedule_for_stop_retrieve_response.rb +0 -244
  362. data/lib/onebusaway-sdk/models/search_for_route_list_params.rb +0 -36
  363. data/lib/onebusaway-sdk/models/search_for_route_list_response.rb +0 -166
  364. data/lib/onebusaway-sdk/models/search_for_stop_list_params.rb +0 -36
  365. data/lib/onebusaway-sdk/models/search_for_stop_list_response.rb +0 -161
  366. data/lib/onebusaway-sdk/models/shape_retrieve_params.rb +0 -18
  367. data/lib/onebusaway-sdk/models/shape_retrieve_response.rb +0 -70
  368. data/lib/onebusaway-sdk/models/stop_ids_for_agency_list_params.rb +0 -18
  369. data/lib/onebusaway-sdk/models/stop_ids_for_agency_list_response.rb +0 -45
  370. data/lib/onebusaway-sdk/models/stop_retrieve_params.rb +0 -18
  371. data/lib/onebusaway-sdk/models/stop_retrieve_response.rb +0 -144
  372. data/lib/onebusaway-sdk/models/stops_for_agency_list_params.rb +0 -18
  373. data/lib/onebusaway-sdk/models/stops_for_agency_list_response.rb +0 -146
  374. data/lib/onebusaway-sdk/models/stops_for_location_list_params.rb +0 -74
  375. data/lib/onebusaway-sdk/models/stops_for_location_list_response.rb +0 -161
  376. data/lib/onebusaway-sdk/models/stops_for_route_list_params.rb +0 -40
  377. data/lib/onebusaway-sdk/models/stops_for_route_list_response.rb +0 -253
  378. data/lib/onebusaway-sdk/models/trip_detail_retrieve_params.rb +0 -86
  379. data/lib/onebusaway-sdk/models/trip_detail_retrieve_response.rb +0 -561
  380. data/lib/onebusaway-sdk/models/trip_for_vehicle_retrieve_params.rb +0 -65
  381. data/lib/onebusaway-sdk/models/trip_for_vehicle_retrieve_response.rb +0 -561
  382. data/lib/onebusaway-sdk/models/trip_retrieve_params.rb +0 -18
  383. data/lib/onebusaway-sdk/models/trip_retrieve_response.rb +0 -160
  384. data/lib/onebusaway-sdk/models/trips_for_location_list_params.rb +0 -93
  385. data/lib/onebusaway-sdk/models/trips_for_location_list_response.rb +0 -572
  386. data/lib/onebusaway-sdk/models/trips_for_route_list_params.rb +0 -52
  387. data/lib/onebusaway-sdk/models/trips_for_route_list_response.rb +0 -559
  388. data/lib/onebusaway-sdk/models/vehicles_for_agency_list_params.rb +0 -29
  389. data/lib/onebusaway-sdk/models/vehicles_for_agency_list_response.rb +0 -529
  390. data/lib/onebusaway-sdk/pooled_net_requester.rb +0 -169
  391. data/lib/onebusaway-sdk/request_options.rb +0 -108
  392. data/lib/onebusaway-sdk/resources/arrival_and_departure.rb +0 -68
  393. data/lib/onebusaway-sdk/resources/report_problem_with_stop.rb +0 -42
  394. data/lib/onebusaway-sdk/resources/report_problem_with_trip.rb +0 -52
  395. data/lib/onebusaway-sdk/resources/routes_for_location.rb +0 -42
  396. data/lib/onebusaway-sdk/resources/stops_for_location.rb +0 -42
  397. data/lib/onebusaway-sdk/resources/stops_for_route.rb +0 -36
  398. data/lib/onebusaway-sdk/resources/trip_details.rb +0 -45
  399. data/lib/onebusaway-sdk/resources/trip_for_vehicle.rb +0 -43
  400. data/lib/onebusaway-sdk/resources/trips_for_location.rb +0 -46
  401. data/lib/onebusaway-sdk/resources/trips_for_route.rb +0 -39
  402. data/lib/onebusaway-sdk/util.rb +0 -719
  403. data/lib/onebusaway-sdk.rb +0 -117
  404. data/rbi/lib/onebusaway-sdk/base_client.rbi +0 -198
  405. data/rbi/lib/onebusaway-sdk/base_model.rbi +0 -622
  406. data/rbi/lib/onebusaway-sdk/base_page.rbi +0 -38
  407. data/rbi/lib/onebusaway-sdk/errors.rbi +0 -179
  408. data/rbi/lib/onebusaway-sdk/extern.rbi +0 -7
  409. data/rbi/lib/onebusaway-sdk/models/agencies_with_coverage_list_params.rbi +0 -21
  410. data/rbi/lib/onebusaway-sdk/models/agencies_with_coverage_list_response.rbi +0 -134
  411. data/rbi/lib/onebusaway-sdk/models/agency_retrieve_params.rbi +0 -21
  412. data/rbi/lib/onebusaway-sdk/models/agency_retrieve_response.rbi +0 -210
  413. data/rbi/lib/onebusaway-sdk/models/arrival_and_departure_list_params.rbi +0 -63
  414. data/rbi/lib/onebusaway-sdk/models/arrival_and_departure_list_response.rbi +0 -995
  415. data/rbi/lib/onebusaway-sdk/models/arrival_and_departure_retrieve_params.rbi +0 -80
  416. data/rbi/lib/onebusaway-sdk/models/arrival_and_departure_retrieve_response.rbi +0 -938
  417. data/rbi/lib/onebusaway-sdk/models/block_retrieve_params.rbi +0 -21
  418. data/rbi/lib/onebusaway-sdk/models/block_retrieve_response.rbi +0 -377
  419. data/rbi/lib/onebusaway-sdk/models/config_retrieve_params.rbi +0 -21
  420. data/rbi/lib/onebusaway-sdk/models/config_retrieve_response.rbi +0 -383
  421. data/rbi/lib/onebusaway-sdk/models/current_time_retrieve_params.rbi +0 -21
  422. data/rbi/lib/onebusaway-sdk/models/current_time_retrieve_response.rbi +0 -95
  423. data/rbi/lib/onebusaway-sdk/models/references.rbi +0 -1282
  424. data/rbi/lib/onebusaway-sdk/models/report_problem_with_stop_retrieve_params.rbi +0 -105
  425. data/rbi/lib/onebusaway-sdk/models/report_problem_with_trip_retrieve_params.rbi +0 -166
  426. data/rbi/lib/onebusaway-sdk/models/response_wrapper.rbi +0 -49
  427. data/rbi/lib/onebusaway-sdk/models/route_ids_for_agency_list_params.rbi +0 -21
  428. data/rbi/lib/onebusaway-sdk/models/route_ids_for_agency_list_response.rbi +0 -68
  429. data/rbi/lib/onebusaway-sdk/models/route_retrieve_params.rbi +0 -21
  430. data/rbi/lib/onebusaway-sdk/models/route_retrieve_response.rbi +0 -200
  431. data/rbi/lib/onebusaway-sdk/models/routes_for_agency_list_params.rbi +0 -21
  432. data/rbi/lib/onebusaway-sdk/models/routes_for_agency_list_response.rbi +0 -210
  433. data/rbi/lib/onebusaway-sdk/models/routes_for_location_list_params.rbi +0 -90
  434. data/rbi/lib/onebusaway-sdk/models/routes_for_location_list_response.rbi +0 -220
  435. data/rbi/lib/onebusaway-sdk/models/schedule_for_route_retrieve_params.rbi +0 -31
  436. data/rbi/lib/onebusaway-sdk/models/schedule_for_route_retrieve_response.rbi +0 -678
  437. data/rbi/lib/onebusaway-sdk/models/schedule_for_stop_retrieve_params.rbi +0 -31
  438. data/rbi/lib/onebusaway-sdk/models/schedule_for_stop_retrieve_response.rbi +0 -457
  439. data/rbi/lib/onebusaway-sdk/models/search_for_route_list_params.rbi +0 -45
  440. data/rbi/lib/onebusaway-sdk/models/search_for_route_list_response.rbi +0 -220
  441. data/rbi/lib/onebusaway-sdk/models/search_for_stop_list_params.rbi +0 -45
  442. data/rbi/lib/onebusaway-sdk/models/search_for_stop_list_response.rbi +0 -231
  443. data/rbi/lib/onebusaway-sdk/models/shape_retrieve_params.rbi +0 -21
  444. data/rbi/lib/onebusaway-sdk/models/shape_retrieve_response.rbi +0 -104
  445. data/rbi/lib/onebusaway-sdk/models/stop_ids_for_agency_list_params.rbi +0 -21
  446. data/rbi/lib/onebusaway-sdk/models/stop_ids_for_agency_list_response.rbi +0 -68
  447. data/rbi/lib/onebusaway-sdk/models/stop_retrieve_params.rbi +0 -21
  448. data/rbi/lib/onebusaway-sdk/models/stop_retrieve_response.rbi +0 -211
  449. data/rbi/lib/onebusaway-sdk/models/stops_for_agency_list_params.rbi +0 -21
  450. data/rbi/lib/onebusaway-sdk/models/stops_for_agency_list_response.rbi +0 -210
  451. data/rbi/lib/onebusaway-sdk/models/stops_for_location_list_params.rbi +0 -94
  452. data/rbi/lib/onebusaway-sdk/models/stops_for_location_list_response.rbi +0 -231
  453. data/rbi/lib/onebusaway-sdk/models/stops_for_route_list_params.rbi +0 -50
  454. data/rbi/lib/onebusaway-sdk/models/stops_for_route_list_response.rbi +0 -307
  455. data/rbi/lib/onebusaway-sdk/models/trip_detail_retrieve_params.rbi +0 -95
  456. data/rbi/lib/onebusaway-sdk/models/trip_detail_retrieve_response.rbi +0 -733
  457. data/rbi/lib/onebusaway-sdk/models/trip_for_vehicle_retrieve_params.rbi +0 -77
  458. data/rbi/lib/onebusaway-sdk/models/trip_for_vehicle_retrieve_response.rbi +0 -735
  459. data/rbi/lib/onebusaway-sdk/models/trip_retrieve_params.rbi +0 -21
  460. data/rbi/lib/onebusaway-sdk/models/trip_retrieve_response.rbi +0 -211
  461. data/rbi/lib/onebusaway-sdk/models/trips_for_location_list_params.rbi +0 -109
  462. data/rbi/lib/onebusaway-sdk/models/trips_for_location_list_response.rbi +0 -755
  463. data/rbi/lib/onebusaway-sdk/models/trips_for_route_list_params.rbi +0 -64
  464. data/rbi/lib/onebusaway-sdk/models/trips_for_route_list_response.rbi +0 -743
  465. data/rbi/lib/onebusaway-sdk/models/vehicles_for_agency_list_params.rbi +0 -36
  466. data/rbi/lib/onebusaway-sdk/models/vehicles_for_agency_list_response.rbi +0 -671
  467. data/rbi/lib/onebusaway-sdk/pooled_net_requester.rbi +0 -51
  468. data/rbi/lib/onebusaway-sdk/request_options.rbi +0 -107
  469. data/rbi/lib/onebusaway-sdk/util.rbi +0 -270
  470. data/sig/onebusaway-sdk/base_client.rbs +0 -108
  471. data/sig/onebusaway-sdk/base_model.rbs +0 -246
  472. data/sig/onebusaway-sdk/base_page.rbs +0 -20
  473. data/sig/onebusaway-sdk/errors.rbs +0 -99
  474. data/sig/onebusaway-sdk/models/agencies_with_coverage_list_params.rbs +0 -20
  475. data/sig/onebusaway-sdk/models/agencies_with_coverage_list_response.rbs +0 -85
  476. data/sig/onebusaway-sdk/models/agency_retrieve_params.rbs +0 -19
  477. data/sig/onebusaway-sdk/models/agency_retrieve_response.rbs +0 -115
  478. data/sig/onebusaway-sdk/models/arrival_and_departure_list_params.rbs +0 -38
  479. data/sig/onebusaway-sdk/models/arrival_and_departure_retrieve_params.rbs +0 -50
  480. data/sig/onebusaway-sdk/models/block_retrieve_params.rbs +0 -19
  481. data/sig/onebusaway-sdk/models/block_retrieve_response.rbs +0 -201
  482. data/sig/onebusaway-sdk/models/config_retrieve_params.rbs +0 -19
  483. data/sig/onebusaway-sdk/models/current_time_retrieve_params.rbs +0 -19
  484. data/sig/onebusaway-sdk/models/current_time_retrieve_response.rbs +0 -64
  485. data/sig/onebusaway-sdk/models/references.rbs +0 -732
  486. data/sig/onebusaway-sdk/models/response_wrapper.rbs +0 -30
  487. data/sig/onebusaway-sdk/models/route_ids_for_agency_list_params.rbs +0 -20
  488. data/sig/onebusaway-sdk/models/route_ids_for_agency_list_response.rbs +0 -49
  489. data/sig/onebusaway-sdk/models/route_retrieve_params.rbs +0 -19
  490. data/sig/onebusaway-sdk/models/routes_for_agency_list_params.rbs +0 -20
  491. data/sig/onebusaway-sdk/models/routes_for_location_list_params.rbs +0 -56
  492. data/sig/onebusaway-sdk/models/schedule_for_route_retrieve_params.rbs +0 -24
  493. data/sig/onebusaway-sdk/models/schedule_for_stop_retrieve_params.rbs +0 -24
  494. data/sig/onebusaway-sdk/models/schedule_for_stop_retrieve_response.rbs +0 -215
  495. data/sig/onebusaway-sdk/models/search_for_route_list_params.rbs +0 -30
  496. data/sig/onebusaway-sdk/models/search_for_stop_list_params.rbs +0 -30
  497. data/sig/onebusaway-sdk/models/shape_retrieve_params.rbs +0 -19
  498. data/sig/onebusaway-sdk/models/shape_retrieve_response.rbs +0 -64
  499. data/sig/onebusaway-sdk/models/stop_ids_for_agency_list_params.rbs +0 -20
  500. data/sig/onebusaway-sdk/models/stop_ids_for_agency_list_response.rbs +0 -49
  501. data/sig/onebusaway-sdk/models/stop_retrieve_params.rbs +0 -19
  502. data/sig/onebusaway-sdk/models/stops_for_agency_list_params.rbs +0 -19
  503. data/sig/onebusaway-sdk/models/stops_for_agency_list_response.rbs +0 -105
  504. data/sig/onebusaway-sdk/models/stops_for_location_list_params.rbs +0 -56
  505. data/sig/onebusaway-sdk/models/stops_for_route_list_params.rbs +0 -33
  506. data/sig/onebusaway-sdk/models/trip_detail_retrieve_params.rbs +0 -54
  507. data/sig/onebusaway-sdk/models/trip_for_vehicle_retrieve_params.rbs +0 -48
  508. data/sig/onebusaway-sdk/models/trip_retrieve_params.rbs +0 -19
  509. data/sig/onebusaway-sdk/models/trips_for_location_list_params.rbs +0 -58
  510. data/sig/onebusaway-sdk/models/trips_for_route_list_params.rbs +0 -38
  511. data/sig/onebusaway-sdk/models/vehicles_for_agency_list_params.rbs +0 -24
  512. data/sig/onebusaway-sdk/pooled_net_requester.rbs +0 -35
  513. data/sig/onebusaway-sdk/resources/agencies_with_coverage.rbs +0 -16
  514. data/sig/onebusaway-sdk/resources/agency.rbs +0 -18
  515. data/sig/onebusaway-sdk/resources/arrival_and_departure.rbs +0 -37
  516. data/sig/onebusaway-sdk/resources/block.rbs +0 -18
  517. data/sig/onebusaway-sdk/resources/config.rbs +0 -16
  518. data/sig/onebusaway-sdk/resources/current_time.rbs +0 -16
  519. data/sig/onebusaway-sdk/resources/report_problem_with_stop.rbs +0 -23
  520. data/sig/onebusaway-sdk/resources/report_problem_with_trip.rbs +0 -28
  521. data/sig/onebusaway-sdk/resources/route.rbs +0 -18
  522. data/sig/onebusaway-sdk/resources/route_ids_for_agency.rbs +0 -18
  523. data/sig/onebusaway-sdk/resources/routes_for_agency.rbs +0 -18
  524. data/sig/onebusaway-sdk/resources/routes_for_location.rbs +0 -22
  525. data/sig/onebusaway-sdk/resources/schedule_for_route.rbs +0 -19
  526. data/sig/onebusaway-sdk/resources/schedule_for_stop.rbs +0 -19
  527. data/sig/onebusaway-sdk/resources/search_for_route.rbs +0 -18
  528. data/sig/onebusaway-sdk/resources/search_for_stop.rbs +0 -18
  529. data/sig/onebusaway-sdk/resources/shape.rbs +0 -18
  530. data/sig/onebusaway-sdk/resources/stop.rbs +0 -18
  531. data/sig/onebusaway-sdk/resources/stop_ids_for_agency.rbs +0 -18
  532. data/sig/onebusaway-sdk/resources/stops_for_agency.rbs +0 -18
  533. data/sig/onebusaway-sdk/resources/stops_for_location.rbs +0 -22
  534. data/sig/onebusaway-sdk/resources/stops_for_route.rbs +0 -20
  535. data/sig/onebusaway-sdk/resources/trip.rbs +0 -18
  536. data/sig/onebusaway-sdk/resources/trip_details.rbs +0 -23
  537. data/sig/onebusaway-sdk/resources/trip_for_vehicle.rbs +0 -22
  538. data/sig/onebusaway-sdk/resources/trips_for_location.rbs +0 -23
  539. data/sig/onebusaway-sdk/resources/trips_for_route.rbs +0 -21
  540. data/sig/onebusaway-sdk/resources/vehicles_for_agency.rbs +0 -19
  541. data/sig/onebusaway-sdk/util.rbs +0 -136
  542. data/sig/onebusaway-sdk/version.rbs +0 -3
@@ -0,0 +1,862 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OnebusawaySDK
4
+ module Internal
5
+ # @api private
6
+ module Util
7
+ # @api private
8
+ #
9
+ # @return [Float]
10
+ def self.monotonic_secs = Process.clock_gettime(Process::CLOCK_MONOTONIC)
11
+
12
+ class << self
13
+ # @api private
14
+ #
15
+ # @return [String]
16
+ def arch
17
+ case (arch = RbConfig::CONFIG["arch"])&.downcase
18
+ in nil
19
+ "unknown"
20
+ in /aarch64|arm64/
21
+ "arm64"
22
+ in /x86_64/
23
+ "x64"
24
+ in /arm/
25
+ "arm"
26
+ else
27
+ "other:#{arch}"
28
+ end
29
+ end
30
+
31
+ # @api private
32
+ #
33
+ # @return [String]
34
+ def os
35
+ case (host = RbConfig::CONFIG["host_os"])&.downcase
36
+ in nil
37
+ "Unknown"
38
+ in /linux/
39
+ "Linux"
40
+ in /darwin/
41
+ "MacOS"
42
+ in /freebsd/
43
+ "FreeBSD"
44
+ in /openbsd/
45
+ "OpenBSD"
46
+ in /mswin|mingw|cygwin|ucrt/
47
+ "Windows"
48
+ else
49
+ "Other:#{host}"
50
+ end
51
+ end
52
+ end
53
+
54
+ class << self
55
+ # @api private
56
+ #
57
+ # @param input [Object]
58
+ #
59
+ # @return [Boolean]
60
+ def primitive?(input)
61
+ case input
62
+ in true | false | Numeric | Symbol | String
63
+ true
64
+ else
65
+ false
66
+ end
67
+ end
68
+
69
+ # @api private
70
+ #
71
+ # @param input [String, Boolean]
72
+ #
73
+ # @return [Boolean, Object]
74
+ def coerce_boolean(input)
75
+ case input.is_a?(String) ? input.downcase : input
76
+ in "true"
77
+ true
78
+ in "false"
79
+ false
80
+ else
81
+ input
82
+ end
83
+ end
84
+
85
+ # @api private
86
+ #
87
+ # @param input [String, Boolean]
88
+ #
89
+ # @raise [ArgumentError]
90
+ # @return [Boolean, nil]
91
+ def coerce_boolean!(input)
92
+ case coerce_boolean(input)
93
+ in true | false | nil => coerced
94
+ coerced
95
+ else
96
+ raise ArgumentError.new("Unable to coerce #{input.inspect} into boolean value")
97
+ end
98
+ end
99
+
100
+ # @api private
101
+ #
102
+ # @param input [String, Integer]
103
+ #
104
+ # @return [Integer, Object]
105
+ def coerce_integer(input)
106
+ Integer(input, exception: false) || input
107
+ end
108
+
109
+ # @api private
110
+ #
111
+ # @param input [String, Integer, Float]
112
+ #
113
+ # @return [Float, Object]
114
+ def coerce_float(input)
115
+ Float(input, exception: false) || input
116
+ end
117
+
118
+ # @api private
119
+ #
120
+ # @param input [Object]
121
+ #
122
+ # @return [Hash{Object=>Object}, Object]
123
+ def coerce_hash(input)
124
+ case input
125
+ in NilClass | Array | Set | Enumerator | StringIO | IO
126
+ input
127
+ else
128
+ input.respond_to?(:to_h) ? input.to_h : input
129
+ end
130
+ end
131
+
132
+ # @api private
133
+ #
134
+ # @param input [Object]
135
+ #
136
+ # @raise [ArgumentError]
137
+ # @return [Hash{Object=>Object}, nil]
138
+ def coerce_hash!(input)
139
+ case coerce_hash(input)
140
+ in Hash | nil => coerced
141
+ coerced
142
+ else
143
+ message = "Expected a #{Hash} or #{OnebusawaySDK::Internal::Type::BaseModel}, got #{data.inspect}"
144
+ raise ArgumentError.new(message)
145
+ end
146
+ end
147
+ end
148
+
149
+ class << self
150
+ # @api private
151
+ #
152
+ # @param lhs [Object]
153
+ # @param rhs [Object]
154
+ # @param concat [Boolean]
155
+ #
156
+ # @return [Object]
157
+ private def deep_merge_lr(lhs, rhs, concat: false)
158
+ case [lhs, rhs, concat]
159
+ in [Hash, Hash, _]
160
+ lhs.merge(rhs) { deep_merge_lr(_2, _3, concat: concat) }
161
+ in [Array, Array, true]
162
+ lhs.concat(rhs)
163
+ else
164
+ rhs
165
+ end
166
+ end
167
+
168
+ # @api private
169
+ #
170
+ # Recursively merge one hash with another. If the values at a given key are not
171
+ # both hashes, just take the new value.
172
+ #
173
+ # @param values [Array<Object>]
174
+ #
175
+ # @param sentinel [Object, nil] the value to return if no values are provided.
176
+ #
177
+ # @param concat [Boolean] whether to merge sequences by concatenation.
178
+ #
179
+ # @return [Object]
180
+ def deep_merge(*values, sentinel: nil, concat: false)
181
+ case values
182
+ in [value, *values]
183
+ values.reduce(value) do |acc, val|
184
+ deep_merge_lr(acc, val, concat: concat)
185
+ end
186
+ else
187
+ sentinel
188
+ end
189
+ end
190
+
191
+ # @api private
192
+ #
193
+ # @param data [Hash{Symbol=>Object}, Array<Object>, Object]
194
+ # @param pick [Symbol, Integer, Array<Symbol, Integer>, Proc, nil]
195
+ # @param blk [Proc, nil]
196
+ #
197
+ # @return [Object, nil]
198
+ def dig(data, pick, &blk)
199
+ case [data, pick]
200
+ in [_, nil]
201
+ data
202
+ in [Hash, Symbol] | [Array, Integer]
203
+ data.fetch(pick) { blk&.call }
204
+ in [Hash | Array, Array]
205
+ pick.reduce(data) do |acc, key|
206
+ case acc
207
+ in Hash if acc.key?(key)
208
+ acc.fetch(key)
209
+ in Array if key.is_a?(Integer) && key < acc.length
210
+ acc[key]
211
+ else
212
+ return blk&.call
213
+ end
214
+ end
215
+ in [_, Proc]
216
+ pick.call(data)
217
+ else
218
+ blk&.call
219
+ end
220
+ end
221
+ end
222
+
223
+ class << self
224
+ # @api private
225
+ #
226
+ # @param uri [URI::Generic]
227
+ #
228
+ # @return [String]
229
+ def uri_origin(uri)
230
+ "#{uri.scheme}://#{uri.host}#{uri.port == uri.default_port ? '' : ":#{uri.port}"}"
231
+ end
232
+
233
+ # @api private
234
+ #
235
+ # @param path [String, Array<String>]
236
+ #
237
+ # @return [String]
238
+ def interpolate_path(path)
239
+ case path
240
+ in String
241
+ path
242
+ in []
243
+ ""
244
+ in [String => p, *interpolations]
245
+ encoded = interpolations.map { ERB::Util.url_encode(_1) }
246
+ format(p, *encoded)
247
+ end
248
+ end
249
+ end
250
+
251
+ class << self
252
+ # @api private
253
+ #
254
+ # @param query [String, nil]
255
+ #
256
+ # @return [Hash{String=>Array<String>}]
257
+ def decode_query(query)
258
+ CGI.parse(query.to_s)
259
+ end
260
+
261
+ # @api private
262
+ #
263
+ # @param query [Hash{String=>Array<String>, String, nil}, nil]
264
+ #
265
+ # @return [String, nil]
266
+ def encode_query(query)
267
+ query.to_h.empty? ? nil : URI.encode_www_form(query)
268
+ end
269
+ end
270
+
271
+ class << self
272
+ # @api private
273
+ #
274
+ # @param url [URI::Generic, String]
275
+ #
276
+ # @return [Hash{Symbol=>String, Integer, nil}]
277
+ def parse_uri(url)
278
+ parsed = URI::Generic.component.zip(URI.split(url)).to_h
279
+ {**parsed, query: decode_query(parsed.fetch(:query))}
280
+ end
281
+
282
+ # @api private
283
+ #
284
+ # @param parsed [Hash{Symbol=>String, Integer, nil}] .
285
+ #
286
+ # @option parsed [String, nil] :scheme
287
+ #
288
+ # @option parsed [String, nil] :host
289
+ #
290
+ # @option parsed [Integer, nil] :port
291
+ #
292
+ # @option parsed [String, nil] :path
293
+ #
294
+ # @option parsed [Hash{String=>Array<String>}] :query
295
+ #
296
+ # @return [URI::Generic]
297
+ def unparse_uri(parsed)
298
+ URI::Generic.build(**parsed, query: encode_query(parsed.fetch(:query)))
299
+ end
300
+
301
+ # @api private
302
+ #
303
+ # @param lhs [Hash{Symbol=>String, Integer, nil}] .
304
+ #
305
+ # @option lhs [String, nil] :scheme
306
+ #
307
+ # @option lhs [String, nil] :host
308
+ #
309
+ # @option lhs [Integer, nil] :port
310
+ #
311
+ # @option lhs [String, nil] :path
312
+ #
313
+ # @option lhs [Hash{String=>Array<String>}] :query
314
+ #
315
+ # @param rhs [Hash{Symbol=>String, Integer, nil}] .
316
+ #
317
+ # @option rhs [String, nil] :scheme
318
+ #
319
+ # @option rhs [String, nil] :host
320
+ #
321
+ # @option rhs [Integer, nil] :port
322
+ #
323
+ # @option rhs [String, nil] :path
324
+ #
325
+ # @option rhs [Hash{String=>Array<String>}] :query
326
+ #
327
+ # @return [URI::Generic]
328
+ def join_parsed_uri(lhs, rhs)
329
+ base_path, base_query = lhs.fetch_values(:path, :query)
330
+ slashed = base_path.end_with?("/") ? base_path : "#{base_path}/"
331
+
332
+ parsed_path, parsed_query = parse_uri(rhs.fetch(:path)).fetch_values(:path, :query)
333
+ override = URI::Generic.build(**rhs.slice(:scheme, :host, :port), path: parsed_path)
334
+
335
+ joined = URI.join(URI::Generic.build(lhs.except(:path, :query)), slashed, override)
336
+ query = deep_merge(
337
+ joined.path == base_path ? base_query : {},
338
+ parsed_query,
339
+ rhs[:query].to_h,
340
+ concat: true
341
+ )
342
+
343
+ joined.query = encode_query(query)
344
+ joined
345
+ end
346
+ end
347
+
348
+ class << self
349
+ # @api private
350
+ #
351
+ # @param headers [Hash{String=>String, Integer, Array<String, Integer, nil>, nil}]
352
+ #
353
+ # @return [Hash{String=>String}]
354
+ def normalized_headers(*headers)
355
+ {}.merge(*headers.compact).to_h do |key, val|
356
+ value =
357
+ case val
358
+ in Array
359
+ val.filter_map { _1&.to_s&.strip }.join(", ")
360
+ else
361
+ val&.to_s&.strip
362
+ end
363
+ [key.downcase, value]
364
+ end
365
+ end
366
+ end
367
+
368
+ # @api private
369
+ #
370
+ # An adapter that satisfies the IO interface required by `::IO.copy_stream`
371
+ class ReadIOAdapter
372
+ # @api private
373
+ #
374
+ # @return [Boolean, nil]
375
+ def close? = @closing
376
+
377
+ # @api private
378
+ def close
379
+ case @stream
380
+ in Enumerator
381
+ OnebusawaySDK::Internal::Util.close_fused!(@stream)
382
+ in IO if close?
383
+ @stream.close
384
+ else
385
+ end
386
+ end
387
+
388
+ # @api private
389
+ #
390
+ # @param max_len [Integer, nil]
391
+ #
392
+ # @return [String]
393
+ private def read_enum(max_len)
394
+ case max_len
395
+ in nil
396
+ @stream.to_a.join
397
+ in Integer
398
+ @buf << @stream.next while @buf.length < max_len
399
+ @buf.slice!(..max_len)
400
+ end
401
+ rescue StopIteration
402
+ @stream = nil
403
+ @buf.slice!(0..)
404
+ end
405
+
406
+ # @api private
407
+ #
408
+ # @param max_len [Integer, nil]
409
+ # @param out_string [String, nil]
410
+ #
411
+ # @return [String, nil]
412
+ def read(max_len = nil, out_string = nil)
413
+ case @stream
414
+ in nil
415
+ nil
416
+ in IO | StringIO
417
+ @stream.read(max_len, out_string)
418
+ in Enumerator
419
+ read = read_enum(max_len)
420
+ case out_string
421
+ in String
422
+ out_string.replace(read)
423
+ in nil
424
+ read
425
+ end
426
+ end
427
+ .tap(&@blk)
428
+ end
429
+
430
+ # @api private
431
+ #
432
+ # @param src [String, Pathname, StringIO, Enumerable<String>]
433
+ # @param blk [Proc]
434
+ #
435
+ # @yieldparam [String]
436
+ def initialize(src, &blk)
437
+ @stream =
438
+ case src
439
+ in String
440
+ StringIO.new(src)
441
+ in Pathname
442
+ @closing = true
443
+ src.open(binmode: true)
444
+ else
445
+ src
446
+ end
447
+ @buf = String.new
448
+ @blk = blk
449
+ end
450
+ end
451
+
452
+ class << self
453
+ # @param blk [Proc]
454
+ #
455
+ # @yieldparam [Enumerator::Yielder]
456
+ # @return [Enumerable<String>]
457
+ def writable_enum(&blk)
458
+ Enumerator.new do |y|
459
+ buf = String.new
460
+ y.define_singleton_method(:write) do
461
+ self << buf.replace(_1)
462
+ buf.bytesize
463
+ end
464
+
465
+ blk.call(y)
466
+ end
467
+ end
468
+ end
469
+
470
+ # @type [Regexp]
471
+ JSON_CONTENT = %r{^application/(?:vnd(?:\.[^.]+)*\+)?json(?!l)}
472
+ # @type [Regexp]
473
+ JSONL_CONTENT = %r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}
474
+
475
+ class << self
476
+ # @api private
477
+ #
478
+ # @param y [Enumerator::Yielder]
479
+ # @param val [Object]
480
+ # @param closing [Array<Proc>]
481
+ # @param content_type [String, nil]
482
+ private def write_multipart_content(y, val:, closing:, content_type: nil)
483
+ content_type ||= "application/octet-stream"
484
+
485
+ case val
486
+ in OnebusawaySDK::FilePart
487
+ return write_multipart_content(
488
+ y,
489
+ val: val.content,
490
+ closing: closing,
491
+ content_type: val.content_type
492
+ )
493
+ in Pathname
494
+ y << "Content-Type: #{content_type}\r\n\r\n"
495
+ io = val.open(binmode: true)
496
+ closing << io.method(:close)
497
+ IO.copy_stream(io, y)
498
+ in IO
499
+ y << "Content-Type: #{content_type}\r\n\r\n"
500
+ IO.copy_stream(val, y)
501
+ in StringIO
502
+ y << "Content-Type: #{content_type}\r\n\r\n"
503
+ y << val.string
504
+ in String
505
+ y << "Content-Type: #{content_type}\r\n\r\n"
506
+ y << val.to_s
507
+ in -> { primitive?(_1) }
508
+ y << "Content-Type: text/plain\r\n\r\n"
509
+ y << val.to_s
510
+ else
511
+ y << "Content-Type: application/json\r\n\r\n"
512
+ y << JSON.generate(val)
513
+ end
514
+ y << "\r\n"
515
+ end
516
+
517
+ # @api private
518
+ #
519
+ # @param y [Enumerator::Yielder]
520
+ # @param boundary [String]
521
+ # @param key [Symbol, String]
522
+ # @param val [Object]
523
+ # @param closing [Array<Proc>]
524
+ private def write_multipart_chunk(y, boundary:, key:, val:, closing:)
525
+ y << "--#{boundary}\r\n"
526
+ y << "Content-Disposition: form-data"
527
+
528
+ unless key.nil?
529
+ name = ERB::Util.url_encode(key.to_s)
530
+ y << "; name=\"#{name}\""
531
+ end
532
+
533
+ case val
534
+ in OnebusawaySDK::FilePart unless val.filename.nil?
535
+ filename = ERB::Util.url_encode(val.filename)
536
+ y << "; filename=\"#{filename}\""
537
+ in Pathname | IO
538
+ filename = ERB::Util.url_encode(::File.basename(val.to_path))
539
+ y << "; filename=\"#{filename}\""
540
+ else
541
+ end
542
+ y << "\r\n"
543
+
544
+ write_multipart_content(y, val: val, closing: closing)
545
+ end
546
+
547
+ # @api private
548
+ #
549
+ # @param body [Object]
550
+ #
551
+ # @return [Array(String, Enumerable<String>)]
552
+ private def encode_multipart_streaming(body)
553
+ boundary = SecureRandom.urlsafe_base64(60)
554
+
555
+ closing = []
556
+ strio = writable_enum do |y|
557
+ case body
558
+ in Hash
559
+ body.each do |key, val|
560
+ case val
561
+ in Array if val.all? { primitive?(_1) }
562
+ val.each do |v|
563
+ write_multipart_chunk(y, boundary: boundary, key: key, val: v, closing: closing)
564
+ end
565
+ else
566
+ write_multipart_chunk(y, boundary: boundary, key: key, val: val, closing: closing)
567
+ end
568
+ end
569
+ else
570
+ write_multipart_chunk(y, boundary: boundary, key: nil, val: body, closing: closing)
571
+ end
572
+ y << "--#{boundary}--\r\n"
573
+ end
574
+
575
+ fused_io = fused_enum(strio) { closing.each(&:call) }
576
+ [boundary, fused_io]
577
+ end
578
+
579
+ # @api private
580
+ #
581
+ # @param headers [Hash{String=>String}]
582
+ # @param body [Object]
583
+ #
584
+ # @return [Object]
585
+ def encode_content(headers, body)
586
+ content_type = headers["content-type"]
587
+ case [content_type, body]
588
+ in [OnebusawaySDK::Internal::Util::JSON_CONTENT, Hash | Array | -> { primitive?(_1) }]
589
+ [headers, JSON.generate(body)]
590
+ in [OnebusawaySDK::Internal::Util::JSONL_CONTENT, Enumerable] unless body.is_a?(OnebusawaySDK::Internal::Type::FileInput)
591
+ [headers, body.lazy.map { JSON.generate(_1) }]
592
+ in [%r{^multipart/form-data}, Hash | OnebusawaySDK::Internal::Type::FileInput]
593
+ boundary, strio = encode_multipart_streaming(body)
594
+ headers = {**headers, "content-type" => "#{content_type}; boundary=#{boundary}"}
595
+ [headers, strio]
596
+ in [_, Symbol | Numeric]
597
+ [headers, body.to_s]
598
+ in [_, StringIO]
599
+ [headers, body.string]
600
+ in [_, OnebusawaySDK::FilePart]
601
+ [headers, body.content]
602
+ else
603
+ [headers, body]
604
+ end
605
+ end
606
+
607
+ # @api private
608
+ #
609
+ # https://www.iana.org/assignments/character-sets/character-sets.xhtml
610
+ #
611
+ # @param content_type [String]
612
+ # @param text [String]
613
+ def force_charset!(content_type, text:)
614
+ charset = /charset=([^;\s]+)/.match(content_type)&.captures&.first
615
+
616
+ return unless charset
617
+
618
+ begin
619
+ encoding = Encoding.find(charset)
620
+ text.force_encoding(encoding)
621
+ rescue ArgumentError
622
+ nil
623
+ end
624
+ end
625
+
626
+ # @api private
627
+ #
628
+ # Assumes each chunk in stream has `Encoding::BINARY`.
629
+ #
630
+ # @param headers [Hash{String=>String}, Net::HTTPHeader]
631
+ # @param stream [Enumerable<String>]
632
+ # @param suppress_error [Boolean]
633
+ #
634
+ # @raise [JSON::ParserError]
635
+ # @return [Object]
636
+ def decode_content(headers, stream:, suppress_error: false)
637
+ case (content_type = headers["content-type"])
638
+ in OnebusawaySDK::Internal::Util::JSON_CONTENT
639
+ json = stream.to_a.join
640
+ begin
641
+ JSON.parse(json, symbolize_names: true)
642
+ rescue JSON::ParserError => e
643
+ raise e unless suppress_error
644
+ json
645
+ end
646
+ in OnebusawaySDK::Internal::Util::JSONL_CONTENT
647
+ lines = decode_lines(stream)
648
+ chain_fused(lines) do |y|
649
+ lines.each { y << JSON.parse(_1, symbolize_names: true) }
650
+ end
651
+ in %r{^text/event-stream}
652
+ lines = decode_lines(stream)
653
+ decode_sse(lines)
654
+ else
655
+ text = stream.to_a.join
656
+ force_charset!(content_type, text: text)
657
+ StringIO.new(text)
658
+ end
659
+ end
660
+ end
661
+
662
+ class << self
663
+ # @api private
664
+ #
665
+ # https://doc.rust-lang.org/std/iter/trait.FusedIterator.html
666
+ #
667
+ # @param enum [Enumerable<Object>]
668
+ # @param external [Boolean]
669
+ # @param close [Proc]
670
+ #
671
+ # @return [Enumerable<Object>]
672
+ def fused_enum(enum, external: false, &close)
673
+ fused = false
674
+ iter = Enumerator.new do |y|
675
+ next if fused
676
+
677
+ fused = true
678
+ if external
679
+ loop { y << enum.next }
680
+ else
681
+ enum.each(&y)
682
+ end
683
+ ensure
684
+ close&.call
685
+ close = nil
686
+ end
687
+
688
+ iter.define_singleton_method(:rewind) do
689
+ fused = true
690
+ self
691
+ end
692
+ iter
693
+ end
694
+
695
+ # @api private
696
+ #
697
+ # @param enum [Enumerable<Object>, nil]
698
+ def close_fused!(enum)
699
+ return unless enum.is_a?(Enumerator)
700
+
701
+ # rubocop:disable Lint/UnreachableLoop
702
+ enum.rewind.each { break }
703
+ # rubocop:enable Lint/UnreachableLoop
704
+ end
705
+
706
+ # @api private
707
+ #
708
+ # @param enum [Enumerable<Object>, nil]
709
+ # @param blk [Proc]
710
+ #
711
+ # @yieldparam [Enumerator::Yielder]
712
+ # @return [Enumerable<Object>]
713
+ def chain_fused(enum, &blk)
714
+ iter = Enumerator.new { blk.call(_1) }
715
+ fused_enum(iter) { close_fused!(enum) }
716
+ end
717
+ end
718
+
719
+ class << self
720
+ # @api private
721
+ #
722
+ # Assumes Strings have been forced into having `Encoding::BINARY`.
723
+ #
724
+ # This decoder is responsible for reassembling lines split across multiple
725
+ # fragments.
726
+ #
727
+ # @param enum [Enumerable<String>]
728
+ #
729
+ # @return [Enumerable<String>]
730
+ def decode_lines(enum)
731
+ re = /(\r\n|\r|\n)/
732
+ buffer = String.new
733
+ cr_seen = nil
734
+
735
+ chain_fused(enum) do |y|
736
+ enum.each do |row|
737
+ offset = buffer.bytesize
738
+ buffer << row
739
+ while (match = re.match(buffer, cr_seen&.to_i || offset))
740
+ case [match.captures.first, cr_seen]
741
+ in ["\r", nil]
742
+ cr_seen = match.end(1)
743
+ next
744
+ in ["\r" | "\r\n", Integer]
745
+ y << buffer.slice!(..(cr_seen.pred))
746
+ else
747
+ y << buffer.slice!(..(match.end(1).pred))
748
+ end
749
+ offset = 0
750
+ cr_seen = nil
751
+ end
752
+ end
753
+
754
+ y << buffer.slice!(..(cr_seen.pred)) unless cr_seen.nil?
755
+ y << buffer unless buffer.empty?
756
+ end
757
+ end
758
+
759
+ # @api private
760
+ #
761
+ # https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream
762
+ #
763
+ # Assumes that `lines` has been decoded with `#decode_lines`.
764
+ #
765
+ # @param lines [Enumerable<String>]
766
+ #
767
+ # @return [Enumerable<Hash{Symbol=>Object}>]
768
+ def decode_sse(lines)
769
+ # rubocop:disable Metrics/BlockLength
770
+ chain_fused(lines) do |y|
771
+ blank = {event: nil, data: nil, id: nil, retry: nil}
772
+ current = {}
773
+
774
+ lines.each do |line|
775
+ case line.sub(/\R$/, "")
776
+ in ""
777
+ next if current.empty?
778
+ y << {**blank, **current}
779
+ current = {}
780
+ in /^:/
781
+ next
782
+ in /^([^:]+):\s?(.*)$/
783
+ field, value = Regexp.last_match.captures
784
+ case field
785
+ in "event"
786
+ current.merge!(event: value)
787
+ in "data"
788
+ (current[:data] ||= String.new) << (value << "\n")
789
+ in "id" unless value.include?("\0")
790
+ current.merge!(id: value)
791
+ in "retry" if /^\d+$/ =~ value
792
+ current.merge!(retry: Integer(value))
793
+ else
794
+ end
795
+ else
796
+ end
797
+ end
798
+ # rubocop:enable Metrics/BlockLength
799
+
800
+ y << {**blank, **current} unless current.empty?
801
+ end
802
+ end
803
+ end
804
+
805
+ # @api private
806
+ module SorbetRuntimeSupport
807
+ class MissingSorbetRuntimeError < ::RuntimeError
808
+ end
809
+
810
+ # @api private
811
+ #
812
+ # @return [Hash{Symbol=>Object}]
813
+ private def sorbet_runtime_constants = @sorbet_runtime_constants ||= {}
814
+
815
+ # @api private
816
+ #
817
+ # @param name [Symbol]
818
+ def const_missing(name)
819
+ super unless sorbet_runtime_constants.key?(name)
820
+
821
+ unless Object.const_defined?(:T)
822
+ message = "Trying to access a Sorbet constant #{name.inspect} without `sorbet-runtime`."
823
+ raise MissingSorbetRuntimeError.new(message)
824
+ end
825
+
826
+ sorbet_runtime_constants.fetch(name).call
827
+ end
828
+
829
+ # @api private
830
+ #
831
+ # @param name [Symbol]
832
+ # @param blk [Proc]
833
+ def define_sorbet_constant!(name, &blk) = sorbet_runtime_constants.store(name, blk)
834
+ end
835
+
836
+ extend OnebusawaySDK::Internal::Util::SorbetRuntimeSupport
837
+
838
+ define_sorbet_constant!(:ParsedUri) do
839
+ T.type_alias do
840
+ {
841
+ scheme: T.nilable(String),
842
+ host: T.nilable(String),
843
+ port: T.nilable(Integer),
844
+ path: T.nilable(String),
845
+ query: T::Hash[String, T::Array[String]]
846
+ }
847
+ end
848
+ end
849
+
850
+ define_sorbet_constant!(:ServerSentEvent) do
851
+ T.type_alias do
852
+ {
853
+ event: T.nilable(String),
854
+ data: T.nilable(String),
855
+ id: T.nilable(String),
856
+ retry: T.nilable(Integer)
857
+ }
858
+ end
859
+ end
860
+ end
861
+ end
862
+ end