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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (545) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +2120 -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 +1289 -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 +620 -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 +208 -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 +193 -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 +167 -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 +209 -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 +625 -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 +75 -129
  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/models/search_for_stop_list_response.rbs +102 -0
  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/models/stop_retrieve_response.rbs +94 -0
  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 +99 -0
  282. data/sig/onebusaway_sdk/models/stops_for_location_list_params.rbs +49 -0
  283. data/sig/onebusaway_sdk/models/stops_for_location_list_response.rbs +104 -0
  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 +331 -295
  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/search_for_stop_list_response.rbs +0 -123
  498. data/sig/onebusaway-sdk/models/shape_retrieve_params.rbs +0 -19
  499. data/sig/onebusaway-sdk/models/shape_retrieve_response.rbs +0 -64
  500. data/sig/onebusaway-sdk/models/stop_ids_for_agency_list_params.rbs +0 -20
  501. data/sig/onebusaway-sdk/models/stop_ids_for_agency_list_response.rbs +0 -49
  502. data/sig/onebusaway-sdk/models/stop_retrieve_params.rbs +0 -19
  503. data/sig/onebusaway-sdk/models/stop_retrieve_response.rbs +0 -111
  504. data/sig/onebusaway-sdk/models/stops_for_agency_list_params.rbs +0 -19
  505. data/sig/onebusaway-sdk/models/stops_for_agency_list_response.rbs +0 -105
  506. data/sig/onebusaway-sdk/models/stops_for_location_list_params.rbs +0 -56
  507. data/sig/onebusaway-sdk/models/stops_for_location_list_response.rbs +0 -123
  508. data/sig/onebusaway-sdk/models/stops_for_route_list_params.rbs +0 -33
  509. data/sig/onebusaway-sdk/models/trip_detail_retrieve_params.rbs +0 -54
  510. data/sig/onebusaway-sdk/models/trip_for_vehicle_retrieve_params.rbs +0 -48
  511. data/sig/onebusaway-sdk/models/trip_retrieve_params.rbs +0 -19
  512. data/sig/onebusaway-sdk/models/trips_for_location_list_params.rbs +0 -58
  513. data/sig/onebusaway-sdk/models/trips_for_route_list_params.rbs +0 -38
  514. data/sig/onebusaway-sdk/models/vehicles_for_agency_list_params.rbs +0 -24
  515. data/sig/onebusaway-sdk/pooled_net_requester.rbs +0 -35
  516. data/sig/onebusaway-sdk/resources/agencies_with_coverage.rbs +0 -16
  517. data/sig/onebusaway-sdk/resources/agency.rbs +0 -18
  518. data/sig/onebusaway-sdk/resources/arrival_and_departure.rbs +0 -37
  519. data/sig/onebusaway-sdk/resources/block.rbs +0 -18
  520. data/sig/onebusaway-sdk/resources/config.rbs +0 -16
  521. data/sig/onebusaway-sdk/resources/current_time.rbs +0 -16
  522. data/sig/onebusaway-sdk/resources/report_problem_with_stop.rbs +0 -23
  523. data/sig/onebusaway-sdk/resources/report_problem_with_trip.rbs +0 -28
  524. data/sig/onebusaway-sdk/resources/route.rbs +0 -18
  525. data/sig/onebusaway-sdk/resources/route_ids_for_agency.rbs +0 -18
  526. data/sig/onebusaway-sdk/resources/routes_for_agency.rbs +0 -18
  527. data/sig/onebusaway-sdk/resources/routes_for_location.rbs +0 -22
  528. data/sig/onebusaway-sdk/resources/schedule_for_route.rbs +0 -19
  529. data/sig/onebusaway-sdk/resources/schedule_for_stop.rbs +0 -19
  530. data/sig/onebusaway-sdk/resources/search_for_route.rbs +0 -18
  531. data/sig/onebusaway-sdk/resources/search_for_stop.rbs +0 -18
  532. data/sig/onebusaway-sdk/resources/shape.rbs +0 -18
  533. data/sig/onebusaway-sdk/resources/stop.rbs +0 -18
  534. data/sig/onebusaway-sdk/resources/stop_ids_for_agency.rbs +0 -18
  535. data/sig/onebusaway-sdk/resources/stops_for_agency.rbs +0 -18
  536. data/sig/onebusaway-sdk/resources/stops_for_location.rbs +0 -22
  537. data/sig/onebusaway-sdk/resources/stops_for_route.rbs +0 -20
  538. data/sig/onebusaway-sdk/resources/trip.rbs +0 -18
  539. data/sig/onebusaway-sdk/resources/trip_details.rbs +0 -23
  540. data/sig/onebusaway-sdk/resources/trip_for_vehicle.rbs +0 -22
  541. data/sig/onebusaway-sdk/resources/trips_for_location.rbs +0 -23
  542. data/sig/onebusaway-sdk/resources/trips_for_route.rbs +0 -21
  543. data/sig/onebusaway-sdk/resources/vehicles_for_agency.rbs +0 -19
  544. data/sig/onebusaway-sdk/util.rbs +0 -136
  545. data/sig/onebusaway-sdk/version.rbs +0 -3
@@ -1,1163 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module OnebusawaySDK
4
- # @api private
5
- module Converter
6
- # rubocop:disable Lint/UnusedMethodArgument
7
-
8
- # @api private
9
- #
10
- # @param value [Object]
11
- #
12
- # @return [Object]
13
- def coerce(value) = value
14
-
15
- # @api private
16
- #
17
- # @param value [Object]
18
- #
19
- # @return [Object]
20
- def dump(value) = value
21
-
22
- # @api private
23
- #
24
- # @param value [Object]
25
- #
26
- # @return [Array(true, Object, nil), Array(false, Boolean, Integer)]
27
- def try_strict_coerce(value) = (raise NotImplementedError)
28
-
29
- # rubocop:enable Lint/UnusedMethodArgument
30
-
31
- class << self
32
- # @api private
33
- #
34
- # @param spec [Hash{Symbol=>Object}, Proc, OnebusawaySDK::Converter, Class] .
35
- #
36
- # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
37
- #
38
- # @option spec [Proc] :enum
39
- #
40
- # @option spec [Proc] :union
41
- #
42
- # @option spec [Boolean] :"nil?"
43
- #
44
- # @return [Proc]
45
- def type_info(spec)
46
- case spec
47
- in Hash
48
- type_info(spec.slice(:const, :enum, :union).first&.last)
49
- in Proc
50
- spec
51
- in OnebusawaySDK::Converter | Class | Symbol
52
- -> { spec }
53
- in true | false
54
- -> { OnebusawaySDK::BooleanModel }
55
- in NilClass | Integer | Float
56
- -> { spec.class }
57
- end
58
- end
59
-
60
- # @api private
61
- #
62
- # Based on `target`, transform `value` into `target`, to the extent possible:
63
- #
64
- # 1. if the given `value` conforms to `target` already, return the given `value`
65
- # 2. if it's possible and safe to convert the given `value` to `target`, then the
66
- # converted value
67
- # 3. otherwise, the given `value` unaltered
68
- #
69
- # @param target [OnebusawaySDK::Converter, Class]
70
- # @param value [Object]
71
- #
72
- # @return [Object]
73
- def coerce(target, value)
74
- case target
75
- in OnebusawaySDK::Converter
76
- target.coerce(value)
77
- in Symbol
78
- case value
79
- in Symbol | String if (val = value.to_sym) == target
80
- val
81
- else
82
- value
83
- end
84
- in Class
85
- case target
86
- in -> { _1 <= NilClass }
87
- nil
88
- in -> { _1 <= Integer }
89
- value.is_a?(Numeric) ? Integer(value) : value
90
- in -> { _1 <= Float }
91
- value.is_a?(Numeric) ? Float(value) : value
92
- in -> { _1 <= Symbol }
93
- value.is_a?(String) ? value.to_sym : value
94
- in -> { _1 <= String }
95
- value.is_a?(Symbol) ? value.to_s : value
96
- in -> { _1 <= Date || _1 <= Time }
97
- value.is_a?(String) ? target.parse(value) : value
98
- in -> { _1 <= IO }
99
- value.is_a?(String) ? StringIO.new(value) : value
100
- else
101
- value
102
- end
103
- end
104
- end
105
-
106
- # @api private
107
- #
108
- # @param target [OnebusawaySDK::Converter, Class]
109
- # @param value [Object]
110
- #
111
- # @return [Object]
112
- def dump(target, value)
113
- case target
114
- in OnebusawaySDK::Converter
115
- target.dump(value)
116
- else
117
- value
118
- end
119
- end
120
-
121
- # @api private
122
- #
123
- # The underlying algorithm for computing maximal compatibility is subject to
124
- # future improvements.
125
- #
126
- # Similar to `#.coerce`, used to determine the best union variant to decode into.
127
- #
128
- # 1. determine if strict-ish coercion is possible
129
- # 2. return either result of successful coercion or if loose coercion is possible
130
- # 3. return a score for recursively tallied count for fields that can be coerced
131
- #
132
- # @param target [OnebusawaySDK::Converter, Class]
133
- # @param value [Object]
134
- #
135
- # @return [Object]
136
- def try_strict_coerce(target, value)
137
- case target
138
- in OnebusawaySDK::Converter
139
- target.try_strict_coerce(value)
140
- in Symbol
141
- case value
142
- in Symbol | String if (val = value.to_sym) == target
143
- [true, val, 1]
144
- else
145
- [false, false, 0]
146
- end
147
- in Class
148
- case [target, value]
149
- in [-> { _1 <= NilClass }, _]
150
- [true, nil, value.nil? ? 1 : 0]
151
- in [-> { _1 <= Integer }, Numeric]
152
- [true, Integer(value), 1]
153
- in [-> { _1 <= Float }, Numeric]
154
- [true, Float(value), 1]
155
- in [-> { _1 <= Symbol }, String]
156
- [true, value.to_sym, 1]
157
- in [-> { _1 <= String }, Symbol]
158
- [true, value.to_s, 1]
159
- in [-> { _1 <= Date || _1 <= Time }, String]
160
- Kernel.then do
161
- [true, target.parse(value), 1]
162
- rescue ArgumentError
163
- [false, false, 0]
164
- end
165
- in [_, ^target]
166
- [true, value, 1]
167
- else
168
- [false, false, 0]
169
- end
170
- end
171
- end
172
- end
173
- end
174
-
175
- # @api private
176
- #
177
- # @abstract
178
- #
179
- # When we don't know what to expect for the value.
180
- class Unknown
181
- extend OnebusawaySDK::Converter
182
-
183
- # rubocop:disable Lint/UnusedMethodArgument
184
-
185
- private_class_method :new
186
-
187
- # @param other [Object]
188
- #
189
- # @return [Boolean]
190
- def self.===(other) = true
191
-
192
- # @param other [Object]
193
- #
194
- # @return [Boolean]
195
- def self.==(other) = other.is_a?(Class) && other <= OnebusawaySDK::Unknown
196
-
197
- class << self
198
- # @!parse
199
- # # @api private
200
- # #
201
- # # @param value [Object]
202
- # #
203
- # # @return [Object]
204
- # def coerce(value) = super
205
-
206
- # @!parse
207
- # # @api private
208
- # #
209
- # # @param value [Object]
210
- # #
211
- # # @return [Object]
212
- # def dump(value) = super
213
-
214
- # @api private
215
- #
216
- # @param value [Object]
217
- #
218
- # @return [Array(true, Object, nil), Array(false, Boolean, Integer)]
219
- def try_strict_coerce(value)
220
- # prevent unknown variant from being chosen during the first coercion pass
221
- [false, true, 0]
222
- end
223
- end
224
-
225
- # rubocop:enable Lint/UnusedMethodArgument
226
- end
227
-
228
- # @api private
229
- #
230
- # @abstract
231
- #
232
- # Ruby has no Boolean class; this is something for models to refer to.
233
- class BooleanModel
234
- extend OnebusawaySDK::Converter
235
-
236
- private_class_method :new
237
-
238
- # @param other [Object]
239
- #
240
- # @return [Boolean]
241
- def self.===(other) = other == true || other == false
242
-
243
- # @param other [Object]
244
- #
245
- # @return [Boolean]
246
- def self.==(other) = other.is_a?(Class) && other <= OnebusawaySDK::BooleanModel
247
-
248
- class << self
249
- # @!parse
250
- # # @api private
251
- # #
252
- # # @param value [Boolean, Object]
253
- # #
254
- # # @return [Boolean, Object]
255
- # def coerce(value) = super
256
-
257
- # @!parse
258
- # # @api private
259
- # #
260
- # # @param value [Boolean, Object]
261
- # #
262
- # # @return [Boolean, Object]
263
- # def dump(value) = super
264
-
265
- # @api private
266
- #
267
- # @param value [Object]
268
- #
269
- # @return [Array(true, Object, nil), Array(false, Boolean, Integer)]
270
- def try_strict_coerce(value)
271
- case value
272
- in true | false
273
- [true, value, 1]
274
- else
275
- [false, false, 0]
276
- end
277
- end
278
- end
279
- end
280
-
281
- # @api private
282
- #
283
- # @abstract
284
- #
285
- # A value from among a specified list of options. OpenAPI enum values map to Ruby
286
- # values in the SDK as follows:
287
- #
288
- # 1. boolean => true | false
289
- # 2. integer => Integer
290
- # 3. float => Float
291
- # 4. string => Symbol
292
- #
293
- # We can therefore convert string values to Symbols, but can't convert other
294
- # values safely.
295
- class Enum
296
- extend OnebusawaySDK::Converter
297
-
298
- class << self
299
- # All of the valid Symbol values for this enum.
300
- #
301
- # @return [Array<NilClass, Boolean, Integer, Float, Symbol>]
302
- def values = (@values ||= constants.map { const_get(_1) })
303
-
304
- # @api private
305
- #
306
- # Guard against thread safety issues by instantiating `@values`.
307
- private def finalize! = values
308
- end
309
-
310
- private_class_method :new
311
-
312
- # @param other [Object]
313
- #
314
- # @return [Boolean]
315
- def self.===(other) = values.include?(other)
316
-
317
- # @param other [Object]
318
- #
319
- # @return [Boolean]
320
- def self.==(other)
321
- other.is_a?(Class) && other <= OnebusawaySDK::Enum && other.values.to_set == values.to_set
322
- end
323
-
324
- class << self
325
- # @api private
326
- #
327
- # @param value [String, Symbol, Object]
328
- #
329
- # @return [Symbol, Object]
330
- def coerce(value)
331
- case value
332
- in Symbol | String if values.include?(val = value.to_sym)
333
- val
334
- else
335
- value
336
- end
337
- end
338
-
339
- # @!parse
340
- # # @api private
341
- # #
342
- # # @param value [Symbol, Object]
343
- # #
344
- # # @return [Symbol, Object]
345
- # def dump(value) = super
346
-
347
- # @api private
348
- #
349
- # @param value [Object]
350
- #
351
- # @return [Array(true, Object, nil), Array(false, Boolean, Integer)]
352
- def try_strict_coerce(value)
353
- return [true, value, 1] if values.include?(value)
354
-
355
- case value
356
- in Symbol | String if values.include?(val = value.to_sym)
357
- [true, val, 1]
358
- else
359
- case [value, values.first]
360
- in [true | false, true | false] | [Integer, Integer] | [Symbol | String, Symbol]
361
- [false, true, 0]
362
- else
363
- [false, false, 0]
364
- end
365
- end
366
- end
367
- end
368
- end
369
-
370
- # @api private
371
- #
372
- # @abstract
373
- class Union
374
- extend OnebusawaySDK::Converter
375
-
376
- class << self
377
- # @api private
378
- #
379
- # All of the specified variant info for this union.
380
- #
381
- # @return [Array<Array(Symbol, Proc)>]
382
- private def known_variants = (@known_variants ||= [])
383
-
384
- # @api private
385
- #
386
- # @return [Array<Array(Symbol, Object)>]
387
- protected def derefed_variants
388
- @known_variants.map { |key, variant_fn| [key, variant_fn.call] }
389
- end
390
-
391
- # All of the specified variants for this union.
392
- #
393
- # @return [Array<Object>]
394
- def variants
395
- derefed_variants.map(&:last)
396
- end
397
-
398
- # @api private
399
- #
400
- # @param property [Symbol]
401
- private def discriminator(property)
402
- case property
403
- in Symbol
404
- @discriminator = property
405
- end
406
- end
407
-
408
- # @api private
409
- #
410
- # @param key [Symbol, Hash{Symbol=>Object}, Proc, OnebusawaySDK::Converter, Class]
411
- #
412
- # @param spec [Hash{Symbol=>Object}, Proc, OnebusawaySDK::Converter, Class] .
413
- #
414
- # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
415
- #
416
- # @option spec [Proc] :enum
417
- #
418
- # @option spec [Proc] :union
419
- #
420
- # @option spec [Boolean] :"nil?"
421
- private def variant(key, spec = nil)
422
- variant_info =
423
- case key
424
- in Symbol
425
- [key, OnebusawaySDK::Converter.type_info(spec)]
426
- in Proc | OnebusawaySDK::Converter | Class | Hash
427
- [nil, OnebusawaySDK::Converter.type_info(key)]
428
- end
429
-
430
- known_variants << variant_info
431
- end
432
-
433
- # @api private
434
- #
435
- # @param value [Object]
436
- #
437
- # @return [OnebusawaySDK::Converter, Class, nil]
438
- private def resolve_variant(value)
439
- case [@discriminator, value]
440
- in [_, OnebusawaySDK::BaseModel]
441
- value.class
442
- in [Symbol, Hash]
443
- key =
444
- if value.key?(@discriminator)
445
- value.fetch(@discriminator)
446
- elsif value.key?((discriminator = @discriminator.to_s))
447
- value.fetch(discriminator)
448
- end
449
-
450
- key = key.to_sym if key.is_a?(String)
451
- _, resolved = known_variants.find { |k,| k == key }
452
- resolved.nil? ? OnebusawaySDK::Unknown : resolved.call
453
- else
454
- nil
455
- end
456
- end
457
- end
458
-
459
- # rubocop:disable Style/HashEachMethods
460
- # rubocop:disable Style/CaseEquality
461
-
462
- private_class_method :new
463
-
464
- # @param other [Object]
465
- #
466
- # @return [Boolean]
467
- def self.===(other)
468
- known_variants.any? do |_, variant_fn|
469
- variant_fn.call === other
470
- end
471
- end
472
-
473
- # @param other [Object]
474
- #
475
- # @return [Boolean]
476
- def self.==(other)
477
- other.is_a?(Class) && other <= OnebusawaySDK::Union && other.derefed_variants == derefed_variants
478
- end
479
-
480
- class << self
481
- # @api private
482
- #
483
- # @param value [Object]
484
- #
485
- # @return [Object]
486
- def coerce(value)
487
- if (variant = resolve_variant(value))
488
- return OnebusawaySDK::Converter.coerce(variant, value)
489
- end
490
-
491
- matches = []
492
-
493
- known_variants.each do |_, variant_fn|
494
- variant = variant_fn.call
495
-
496
- case OnebusawaySDK::Converter.try_strict_coerce(variant, value)
497
- in [true, coerced, _]
498
- return coerced
499
- in [false, true, score]
500
- matches << [score, variant]
501
- in [false, false, _]
502
- nil
503
- end
504
- end
505
-
506
- _, variant = matches.sort! { _2.first <=> _1.first }.find { |score,| !score.zero? }
507
- variant.nil? ? value : OnebusawaySDK::Converter.coerce(variant, value)
508
- end
509
-
510
- # @api private
511
- #
512
- # @param value [Object]
513
- #
514
- # @return [Object]
515
- def dump(value)
516
- if (variant = resolve_variant(value))
517
- return OnebusawaySDK::Converter.dump(variant, value)
518
- end
519
-
520
- known_variants.each do |_, variant_fn|
521
- variant = variant_fn.call
522
- if variant === value
523
- return OnebusawaySDK::Converter.dump(variant, value)
524
- end
525
- end
526
- value
527
- end
528
-
529
- # @api private
530
- #
531
- # @param value [Object]
532
- #
533
- # @return [Array(true, Object, nil), Array(false, Boolean, Integer)]
534
- def try_strict_coerce(value)
535
- # TODO(ruby) this will result in super linear decoding behaviour for nested unions
536
- # follow up with a decoding context that captures current strictness levels
537
- if (variant = resolve_variant(value))
538
- return Converter.try_strict_coerce(variant, value)
539
- end
540
-
541
- coercible = false
542
- max_score = 0
543
-
544
- known_variants.each do |_, variant_fn|
545
- variant = variant_fn.call
546
-
547
- case OnebusawaySDK::Converter.try_strict_coerce(variant, value)
548
- in [true, coerced, score]
549
- return [true, coerced, score]
550
- in [false, true, score]
551
- coercible = true
552
- max_score = [max_score, score].max
553
- in [false, false, _]
554
- nil
555
- end
556
- end
557
-
558
- [false, coercible, max_score]
559
- end
560
- end
561
-
562
- # rubocop:enable Style/CaseEquality
563
- # rubocop:enable Style/HashEachMethods
564
- end
565
-
566
- # @api private
567
- #
568
- # @abstract
569
- #
570
- # Array of items of a given type.
571
- class ArrayOf
572
- include OnebusawaySDK::Converter
573
-
574
- private_class_method :new
575
-
576
- def self.[](...) = new(...)
577
-
578
- # @param other [Object]
579
- #
580
- # @return [Boolean]
581
- def ===(other)
582
- type = item_type
583
- case other
584
- in Array
585
- # rubocop:disable Style/CaseEquality
586
- other.all? { type === _1 }
587
- # rubocop:enable Style/CaseEquality
588
- else
589
- false
590
- end
591
- end
592
-
593
- # @param other [Object]
594
- #
595
- # @return [Boolean]
596
- def ==(other) = other.is_a?(OnebusawaySDK::ArrayOf) && other.item_type == item_type
597
-
598
- # @api private
599
- #
600
- # @param value [Enumerable, Object]
601
- #
602
- # @return [Array<Object>, Object]
603
- def coerce(value)
604
- type = item_type
605
- case value
606
- in Enumerable unless value.is_a?(Hash)
607
- value.map { OnebusawaySDK::Converter.coerce(type, _1) }
608
- else
609
- value
610
- end
611
- end
612
-
613
- # @api private
614
- #
615
- # @param value [Enumerable, Object]
616
- #
617
- # @return [Array<Object>, Object]
618
- def dump(value)
619
- type = item_type
620
- case value
621
- in Enumerable unless value.is_a?(Hash)
622
- value.map { OnebusawaySDK::Converter.dump(type, _1) }.to_a
623
- else
624
- value
625
- end
626
- end
627
-
628
- # @api private
629
- #
630
- # @param value [Object]
631
- #
632
- # @return [Array(true, Object, nil), Array(false, Boolean, Integer)]
633
- def try_strict_coerce(value)
634
- case value
635
- in Array
636
- type = item_type
637
- great_success = true
638
- tally = 0
639
-
640
- mapped =
641
- value.map do |item|
642
- case OnebusawaySDK::Converter.try_strict_coerce(type, item)
643
- in [true, coerced, score]
644
- tally += score
645
- coerced
646
- in [false, true, score]
647
- great_success = false
648
- tally += score
649
- item
650
- in [false, false, _]
651
- great_success &&= item.nil?
652
- item
653
- end
654
- end
655
-
656
- if great_success
657
- [true, mapped, tally]
658
- else
659
- [false, true, tally]
660
- end
661
- else
662
- [false, false, 0]
663
- end
664
- end
665
-
666
- # @api private
667
- #
668
- # @return [OnebusawaySDK::Converter, Class]
669
- protected def item_type = @item_type_fn.call
670
-
671
- # @api private
672
- #
673
- # @param type_info [Hash{Symbol=>Object}, Proc, OnebusawaySDK::Converter, Class]
674
- #
675
- # @param spec [Hash{Symbol=>Object}] .
676
- #
677
- # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
678
- #
679
- # @option spec [Proc] :enum
680
- #
681
- # @option spec [Proc] :union
682
- #
683
- # @option spec [Boolean] :"nil?"
684
- def initialize(type_info, spec = {})
685
- @item_type_fn = OnebusawaySDK::Converter.type_info(type_info || spec)
686
- end
687
- end
688
-
689
- # @api private
690
- #
691
- # @abstract
692
- #
693
- # Hash of items of a given type.
694
- class HashOf
695
- include OnebusawaySDK::Converter
696
-
697
- private_class_method :new
698
-
699
- def self.[](...) = new(...)
700
-
701
- # @param other [Object]
702
- #
703
- # @return [Boolean]
704
- def ===(other)
705
- type = item_type
706
- case other
707
- in Hash
708
- other.all? do |key, val|
709
- case [key, val]
710
- in [Symbol | String, ^type]
711
- true
712
- else
713
- false
714
- end
715
- end
716
- else
717
- false
718
- end
719
- end
720
-
721
- # @param other [Object]
722
- #
723
- # @return [Boolean]
724
- def ==(other) = other.is_a?(OnebusawaySDK::HashOf) && other.item_type == item_type
725
-
726
- # @api private
727
- #
728
- # @param value [Hash{Object=>Object}, Object]
729
- #
730
- # @return [Hash{Symbol=>Object}, Object]
731
- def coerce(value)
732
- type = item_type
733
- case value
734
- in Hash
735
- value.to_h do |key, val|
736
- coerced = OnebusawaySDK::Converter.coerce(type, val)
737
- [key.is_a?(String) ? key.to_sym : key, coerced]
738
- end
739
- else
740
- value
741
- end
742
- end
743
-
744
- # @api private
745
- #
746
- # @param value [Hash{Object=>Object}, Object]
747
- #
748
- # @return [Hash{Symbol=>Object}, Object]
749
- def dump(value)
750
- type = item_type
751
- case value
752
- in Hash
753
- value.transform_values do |val|
754
- OnebusawaySDK::Converter.dump(type, val)
755
- end
756
- else
757
- value
758
- end
759
- end
760
-
761
- # @api private
762
- #
763
- # @param value [Object]
764
- #
765
- # @return [Array(true, Object, nil), Array(false, Boolean, Integer)]
766
- def try_strict_coerce(value)
767
- case value
768
- in Hash
769
- type = item_type
770
- great_success = true
771
- tally = 0
772
-
773
- mapped =
774
- value.transform_values do |val|
775
- case OnebusawaySDK::Converter.try_strict_coerce(type, val)
776
- in [true, coerced, score]
777
- tally += score
778
- coerced
779
- in [false, true, score]
780
- great_success = false
781
- tally += score
782
- val
783
- in [false, false, _]
784
- great_success &&= val.nil?
785
- val
786
- end
787
- end
788
-
789
- if great_success
790
- [true, mapped, tally]
791
- else
792
- [false, true, tally]
793
- end
794
- else
795
- [false, false, 0]
796
- end
797
- end
798
-
799
- # @api private
800
- #
801
- # @return [OnebusawaySDK::Converter, Class]
802
- protected def item_type = @item_type_fn.call
803
-
804
- # @api private
805
- #
806
- # @param type_info [Hash{Symbol=>Object}, Proc, OnebusawaySDK::Converter, Class]
807
- #
808
- # @param spec [Hash{Symbol=>Object}] .
809
- #
810
- # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
811
- #
812
- # @option spec [Proc] :enum
813
- #
814
- # @option spec [Proc] :union
815
- #
816
- # @option spec [Boolean] :"nil?"
817
- def initialize(type_info, spec = {})
818
- @item_type_fn = OnebusawaySDK::Converter.type_info(type_info || spec)
819
- end
820
- end
821
-
822
- # @abstract
823
- #
824
- # @example
825
- # ```ruby
826
- # # `references` is a `OnebusawaySDK::Models::References`
827
- # references => {
828
- # agencies: agencies,
829
- # routes: routes,
830
- # situations: situations
831
- # }
832
- # ```
833
- class BaseModel
834
- extend OnebusawaySDK::Converter
835
-
836
- class << self
837
- # @api private
838
- #
839
- # Assumes superclass fields are totally defined before fields are accessed /
840
- # defined on subclasses.
841
- #
842
- # @return [Hash{Symbol=>Hash{Symbol=>Object}}]
843
- def known_fields
844
- @known_fields ||= (self < OnebusawaySDK::BaseModel ? superclass.known_fields.dup : {})
845
- end
846
-
847
- # @api private
848
- #
849
- # @return [Hash{Symbol=>Hash{Symbol=>Object}}]
850
- def fields
851
- known_fields.transform_values do |field|
852
- {**field.except(:type_fn), type: field.fetch(:type_fn).call}
853
- end
854
- end
855
-
856
- # @api private
857
- #
858
- # @return [Hash{Symbol=>Proc}]
859
- def defaults = (@defaults ||= {})
860
-
861
- # @api private
862
- #
863
- # @param name_sym [Symbol]
864
- #
865
- # @param required [Boolean]
866
- #
867
- # @param type_info [Hash{Symbol=>Object}, Proc, OnebusawaySDK::Converter, Class]
868
- #
869
- # @param spec [Hash{Symbol=>Object}] .
870
- #
871
- # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
872
- #
873
- # @option spec [Proc] :enum
874
- #
875
- # @option spec [Proc] :union
876
- #
877
- # @option spec [Boolean] :"nil?"
878
- private def add_field(name_sym, required:, type_info:, spec:)
879
- type_fn, info =
880
- case type_info
881
- in Proc | Class | OnebusawaySDK::Converter
882
- [OnebusawaySDK::Converter.type_info({**spec, union: type_info}), spec]
883
- in Hash
884
- [OnebusawaySDK::Converter.type_info(type_info), type_info]
885
- end
886
-
887
- fallback = info[:const]
888
- defaults[name_sym] = fallback if required && !info[:nil?] && info.key?(:const)
889
-
890
- key = info.fetch(:api_name, name_sym)
891
- setter = "#{name_sym}="
892
-
893
- if known_fields.key?(name_sym)
894
- [name_sym, setter].each { undef_method(_1) }
895
- end
896
-
897
- known_fields[name_sym] = {mode: @mode, key: key, required: required, type_fn: type_fn}
898
-
899
- define_method(setter) do |val|
900
- @data[key] = val
901
- end
902
-
903
- define_method(name_sym) do
904
- field_type = type_fn.call
905
- value = @data.fetch(key) { self.class.defaults[key] }
906
- OnebusawaySDK::Converter.coerce(field_type, value)
907
- rescue StandardError
908
- name = self.class.name.split("::").last
909
- raise OnebusawaySDK::ConversionError.new(
910
- "Failed to parse #{name}.#{name_sym} as #{field_type.inspect}. " \
911
- "To get the unparsed API response, use #{name}[:#{key}]."
912
- )
913
- end
914
- end
915
-
916
- # @api private
917
- #
918
- # @param name_sym [Symbol]
919
- #
920
- # @param type_info [Hash{Symbol=>Object}, Proc, OnebusawaySDK::Converter, Class]
921
- #
922
- # @param spec [Hash{Symbol=>Object}] .
923
- #
924
- # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
925
- #
926
- # @option spec [Proc] :enum
927
- #
928
- # @option spec [Proc] :union
929
- #
930
- # @option spec [Boolean] :"nil?"
931
- def required(name_sym, type_info, spec = {})
932
- add_field(name_sym, required: true, type_info: type_info, spec: spec)
933
- end
934
-
935
- # @api private
936
- #
937
- # @param name_sym [Symbol]
938
- #
939
- # @param type_info [Hash{Symbol=>Object}, Proc, OnebusawaySDK::Converter, Class]
940
- #
941
- # @param spec [Hash{Symbol=>Object}] .
942
- #
943
- # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
944
- #
945
- # @option spec [Proc] :enum
946
- #
947
- # @option spec [Proc] :union
948
- #
949
- # @option spec [Boolean] :"nil?"
950
- def optional(name_sym, type_info, spec = {})
951
- add_field(name_sym, required: false, type_info: type_info, spec: spec)
952
- end
953
-
954
- # @api private
955
- #
956
- # `request_only` attributes not excluded from `.#coerce` when receiving responses
957
- # even if well behaved servers should not send them
958
- #
959
- # @param blk [Proc]
960
- private def request_only(&blk)
961
- @mode = :dump
962
- blk.call
963
- ensure
964
- @mode = nil
965
- end
966
-
967
- # @api private
968
- #
969
- # `response_only` attributes are omitted from `.#dump` when making requests
970
- #
971
- # @param blk [Proc]
972
- private def response_only(&blk)
973
- @mode = :coerce
974
- blk.call
975
- ensure
976
- @mode = nil
977
- end
978
- end
979
-
980
- # @param other [Object]
981
- #
982
- # @return [Boolean]
983
- def ==(other)
984
- case other
985
- in OnebusawaySDK::BaseModel
986
- self.class.fields == other.class.fields && @data == other.to_h
987
- else
988
- false
989
- end
990
- end
991
-
992
- class << self
993
- # @api private
994
- #
995
- # @param value [OnebusawaySDK::BaseModel, Hash{Object=>Object}, Object]
996
- #
997
- # @return [OnebusawaySDK::BaseModel, Object]
998
- def coerce(value)
999
- case OnebusawaySDK::Util.coerce_hash(value)
1000
- in Hash => coerced
1001
- new(coerced)
1002
- else
1003
- value
1004
- end
1005
- end
1006
-
1007
- # @api private
1008
- #
1009
- # @param value [OnebusawaySDK::BaseModel, Object]
1010
- #
1011
- # @return [Hash{Object=>Object}, Object]
1012
- def dump(value)
1013
- unless (coerced = OnebusawaySDK::Util.coerce_hash(value)).is_a?(Hash)
1014
- return value
1015
- end
1016
-
1017
- values = coerced.filter_map do |key, val|
1018
- name = key.to_sym
1019
- case (field = known_fields[name])
1020
- in nil
1021
- [name, val]
1022
- else
1023
- mode, type_fn, api_name = field.fetch_values(:mode, :type_fn, :key)
1024
- case mode
1025
- in :coerce
1026
- next
1027
- else
1028
- target = type_fn.call
1029
- [api_name, OnebusawaySDK::Converter.dump(target, val)]
1030
- end
1031
- end
1032
- end.to_h
1033
-
1034
- defaults.each do |key, val|
1035
- next if values.key?(key)
1036
-
1037
- values[key] = val
1038
- end
1039
-
1040
- values
1041
- end
1042
-
1043
- # @api private
1044
- #
1045
- # @param value [Object]
1046
- #
1047
- # @return [Array(true, Object, nil), Array(false, Boolean, Integer)]
1048
- def try_strict_coerce(value)
1049
- case value
1050
- in Hash | OnebusawaySDK::BaseModel
1051
- value = value.to_h
1052
- else
1053
- return [false, false, 0]
1054
- end
1055
-
1056
- keys = value.keys.to_set
1057
- great_success = true
1058
- tally = 0
1059
- acc = {}
1060
-
1061
- known_fields.each_value do |field|
1062
- mode, required, type_fn, api_name = field.fetch_values(:mode, :required, :type_fn, :key)
1063
- keys.delete(api_name)
1064
-
1065
- case [required && mode != :dump, value.key?(api_name)]
1066
- in [_, true]
1067
- target = type_fn.call
1068
- item = value.fetch(api_name)
1069
- case OnebusawaySDK::Converter.try_strict_coerce(target, item)
1070
- in [true, coerced, score]
1071
- tally += score
1072
- acc[api_name] = coerced
1073
- in [false, true, score]
1074
- great_success = false
1075
- tally += score
1076
- acc[api_name] = item
1077
- in [false, false, _]
1078
- great_success &&= item.nil?
1079
- end
1080
- in [true, false]
1081
- great_success = false
1082
- in [false, false]
1083
- nil
1084
- end
1085
- end
1086
-
1087
- keys.each do |key|
1088
- acc[key] = value.fetch(key)
1089
- end
1090
-
1091
- great_success ? [true, new(acc), tally] : [false, true, tally]
1092
- end
1093
- end
1094
-
1095
- # Returns the raw value associated with the given key, if found. Otherwise, nil is
1096
- # returned.
1097
- #
1098
- # It is valid to lookup keys that are not in the API spec, for example to access
1099
- # undocumented features. This method does not parse response data into
1100
- # higher-level types. Lookup by anything other than a Symbol is an ArgumentError.
1101
- #
1102
- # @param key [Symbol]
1103
- #
1104
- # @return [Object, nil]
1105
- def [](key)
1106
- unless key.instance_of?(Symbol)
1107
- raise ArgumentError.new("Expected symbol key for lookup, got #{key.inspect}")
1108
- end
1109
-
1110
- @data[key]
1111
- end
1112
-
1113
- # Returns a Hash of the data underlying this object. O(1)
1114
- #
1115
- # Keys are Symbols and values are the raw values from the response. The return
1116
- # value indicates which values were ever set on the object. i.e. there will be a
1117
- # key in this hash if they ever were, even if the set value was nil.
1118
- #
1119
- # This method is not recursive. The returned value is shared by the object, so it
1120
- # should not be mutated.
1121
- #
1122
- # @return [Hash{Symbol=>Object}]
1123
- def to_h = @data
1124
-
1125
- alias_method :to_hash, :to_h
1126
-
1127
- # @param keys [Array<Symbol>, nil]
1128
- #
1129
- # @return [Hash{Symbol=>Object}]
1130
- def deconstruct_keys(keys)
1131
- (keys || self.class.known_fields.keys).filter_map do |k|
1132
- unless self.class.known_fields.key?(k)
1133
- next
1134
- end
1135
-
1136
- [k, method(k).call]
1137
- end
1138
- .to_h
1139
- end
1140
-
1141
- # Create a new instance of a model.
1142
- #
1143
- # @param data [Hash{Symbol=>Object}, OnebusawaySDK::BaseModel]
1144
- def initialize(data = {})
1145
- case OnebusawaySDK::Util.coerce_hash(data)
1146
- in Hash => coerced
1147
- @data = coerced.transform_keys(&:to_sym)
1148
- else
1149
- raise ArgumentError.new("Expected a #{Hash} or #{OnebusawaySDK::BaseModel}, got #{data.inspect}")
1150
- end
1151
- end
1152
-
1153
- # @return [String]
1154
- def to_s = @data.to_s
1155
-
1156
- # @return [String]
1157
- def inspect
1158
- "#<#{self.class.name}:0x#{object_id.to_s(16)} #{deconstruct_keys(nil).map do |k, v|
1159
- "#{k}=#{v.inspect}"
1160
- end.join(' ')}>"
1161
- end
1162
- end
1163
- end