freight_kit 0.1.19 → 0.1.21

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 (439) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -2
  3. data/Gemfile.lock +51 -52
  4. data/README.md +37 -2
  5. data/Rakefile +6 -0
  6. data/VERSION +1 -1
  7. data/configuration/locations/amazon_warehouses.yml +3330 -0
  8. data/freight_kit.gemspec +21 -18
  9. data/lib/freight_kit/address_normalizer.rb +26 -0
  10. data/lib/freight_kit/amazon_warehouse.rb +33 -0
  11. data/lib/freight_kit/api_clients/soap_client.rb +7 -9
  12. data/lib/freight_kit/carrier.rb +250 -303
  13. data/lib/freight_kit/carriers/a1_express.rb +25 -0
  14. data/lib/freight_kit/carriers/a_duie_pyle.rb +30 -0
  15. data/lib/freight_kit/carriers/aaa_cooper.rb +11 -0
  16. data/lib/freight_kit/carriers/aaa_expedited_services.rb +10 -0
  17. data/lib/freight_kit/carriers/ab_brothers_usa_inc.rb +12 -0
  18. data/lib/freight_kit/carriers/aberdeen_express_inc.rb +28 -0
  19. data/lib/freight_kit/carriers/abf_freight_system.rb +492 -0
  20. data/lib/freight_kit/carriers/access_transport.rb +10 -0
  21. data/lib/freight_kit/carriers/action_express.rb +10 -0
  22. data/lib/freight_kit/carriers/adams_and_companies.rb +10 -0
  23. data/lib/freight_kit/carriers/advance_distribution.rb +28 -0
  24. data/lib/freight_kit/carriers/alcon_transport.rb +10 -0
  25. data/lib/freight_kit/carriers/all_freight.rb +10 -0
  26. data/lib/freight_kit/carriers/alliance_transportation_group.rb +10 -0
  27. data/lib/freight_kit/carriers/allstate_transport.rb +10 -0
  28. data/lib/freight_kit/carriers/aloha_freight_forwarders.rb +35 -0
  29. data/lib/freight_kit/carriers/amado_trucking.rb +35 -0
  30. data/lib/freight_kit/carriers/american_fast_freight.rb +28 -0
  31. data/lib/freight_kit/carriers/amigos_service_transportation.rb +10 -0
  32. data/lib/freight_kit/carriers/anderson_towing_and_transport.rb +10 -0
  33. data/lib/freight_kit/carriers/apex_transporting.rb +10 -0
  34. data/lib/freight_kit/carriers/archer_cargo.rb +35 -0
  35. data/lib/freight_kit/carriers/armstrong_transport_group.rb +10 -0
  36. data/lib/freight_kit/carriers/autobahn_logistics.rb +10 -0
  37. data/lib/freight_kit/carriers/averitt_express.rb +30 -0
  38. data/lib/freight_kit/carriers/ba_transportation.rb +10 -0
  39. data/lib/freight_kit/carriers/balkin_express.rb +10 -0
  40. data/lib/freight_kit/carriers/bay_area_express.rb +10 -0
  41. data/lib/freight_kit/carriers/bc_freightways.rb +11 -0
  42. data/lib/freight_kit/carriers/benjamin_best_freight_inc.rb +37 -0
  43. data/lib/freight_kit/carriers/bennett_trucking.rb +10 -0
  44. data/lib/freight_kit/carriers/best_overnite_express.rb +78 -0
  45. data/lib/freight_kit/carriers/best_trucking.rb +10 -0
  46. data/lib/freight_kit/carriers/bestway_transport.rb +10 -0
  47. data/lib/freight_kit/carriers/bryan_systems.rb +10 -0
  48. data/lib/freight_kit/carriers/c_and_w_express.rb +10 -0
  49. data/lib/freight_kit/carriers/campbell_trucking.rb +10 -0
  50. data/lib/freight_kit/carriers/carde_transportation.rb +10 -0
  51. data/lib/freight_kit/carriers/cardinal_logistics.rb +28 -0
  52. data/lib/freight_kit/carriers/cdc_transport.rb +10 -0
  53. data/lib/freight_kit/carriers/cdo_express_diversified.rb +10 -0
  54. data/lib/freight_kit/carriers/cedar_supply_trucking.rb +10 -0
  55. data/lib/freight_kit/carriers/central_freight_lines.rb +12 -0
  56. data/lib/freight_kit/carriers/central_transport.rb +12 -0
  57. data/lib/freight_kit/carriers/chicago_suburban_express.rb +28 -0
  58. data/lib/freight_kit/carriers/city_logistics.rb +11 -0
  59. data/lib/freight_kit/carriers/clear_lane_freight_systems.rb +483 -0
  60. data/lib/freight_kit/carriers/cleopatra_trucking.rb +10 -0
  61. data/lib/freight_kit/carriers/clifford_transportation.rb +10 -0
  62. data/lib/freight_kit/carriers/cms_domestic.rb +25 -0
  63. data/lib/freight_kit/carriers/cnd_logistics.rb +10 -0
  64. data/lib/freight_kit/carriers/coast_to_coast_transport.rb +27 -0
  65. data/lib/freight_kit/carriers/countrywide_carriers.rb +10 -0
  66. data/lib/freight_kit/carriers/cpl_express.rb +35 -0
  67. data/lib/freight_kit/carriers/crosby_trucking_service.rb +29 -0
  68. data/lib/freight_kit/carriers/cross_country_freight_solutions.rb +419 -0
  69. data/lib/freight_kit/carriers/crowley.rb +10 -0
  70. data/lib/freight_kit/carriers/csa_transportation.rb +40 -0
  71. data/lib/freight_kit/carriers/csx_transportation.rb +40 -0
  72. data/lib/freight_kit/carriers/custom_global_logistics.rb +14 -0
  73. data/lib/freight_kit/carriers/d_and_a_transport.rb +10 -0
  74. data/lib/freight_kit/carriers/dak_transport.rb +10 -0
  75. data/lib/freight_kit/carriers/dash_courier_and_logistics_north_carolina.rb +10 -0
  76. data/lib/freight_kit/carriers/daylight_transport.rb +29 -0
  77. data/lib/freight_kit/carriers/dayton_freight_lines.rb +30 -0
  78. data/lib/freight_kit/carriers/dbr_logistics.rb +10 -0
  79. data/lib/freight_kit/carriers/deep_south_freight.rb +27 -0
  80. data/lib/freight_kit/carriers/delta_express.rb +10 -0
  81. data/lib/freight_kit/carriers/delta_transport.rb +10 -0
  82. data/lib/freight_kit/carriers/delta_trucking_logistics.rb +10 -0
  83. data/lib/freight_kit/carriers/demco_express.rb +10 -0
  84. data/lib/freight_kit/carriers/dependable_global_express.rb +10 -0
  85. data/lib/freight_kit/carriers/dependable_hawaiian_express.rb +24 -0
  86. data/lib/freight_kit/carriers/dependable_highway_express.rb +585 -0
  87. data/lib/freight_kit/carriers/desert_coastal_transport.rb +10 -0
  88. data/lib/freight_kit/carriers/dhl.rb +11 -0
  89. data/lib/freight_kit/carriers/diamond_line_delivery.rb +174 -0
  90. data/lib/freight_kit/carriers/ding_tai_trucking.rb +10 -0
  91. data/lib/freight_kit/carriers/diversified_transfer_and_storage.rb +29 -0
  92. data/lib/freight_kit/carriers/dohrn_transfer_company.rb +30 -0
  93. data/lib/freight_kit/carriers/dot_line_transportation.rb +29 -0
  94. data/lib/freight_kit/carriers/drt_transportation.rb +13 -0
  95. data/lib/freight_kit/carriers/dugan_truck_line.rb +29 -0
  96. data/lib/freight_kit/carriers/dupont.rb +10 -0
  97. data/lib/freight_kit/carriers/e_transport_carriers.rb +29 -0
  98. data/lib/freight_kit/carriers/echo_global_logistics.rb +13 -0
  99. data/lib/freight_kit/carriers/ecklund_logistics.rb +10 -0
  100. data/lib/freight_kit/carriers/el_emplumado_transport.rb +10 -0
  101. data/lib/freight_kit/carriers/elite_carriers.rb +28 -0
  102. data/lib/freight_kit/carriers/emerald_express.rb +10 -0
  103. data/lib/freight_kit/carriers/era_transport.rb +10 -0
  104. data/lib/freight_kit/carriers/estes_express_lines.rb +25 -0
  105. data/lib/freight_kit/carriers/euro_kam.rb +28 -0
  106. data/lib/freight_kit/carriers/ew_riverside_trucking.rb +10 -0
  107. data/lib/freight_kit/carriers/express_2000_inc.rb +12 -0
  108. data/lib/freight_kit/carriers/express_services_international.rb +10 -0
  109. data/lib/freight_kit/carriers/f_and_a_express.rb +27 -0
  110. data/lib/freight_kit/carriers/fairmont_logistics.rb +13 -0
  111. data/lib/freight_kit/carriers/fargo_cargo.rb +10 -0
  112. data/lib/freight_kit/carriers/fast_freight_transportation.rb +10 -0
  113. data/lib/freight_kit/carriers/fast_load_transport.rb +10 -0
  114. data/lib/freight_kit/carriers/fed_ex_express.rb +30 -0
  115. data/lib/freight_kit/carriers/fed_ex_ground.rb +24 -0
  116. data/lib/freight_kit/carriers/fed_ex_ltl_economy.rb +11 -0
  117. data/lib/freight_kit/carriers/fed_ex_ltl_priority.rb +11 -0
  118. data/lib/freight_kit/carriers/first_trucking_express.rb +10 -0
  119. data/lib/freight_kit/carriers/flash_trucking.rb +10 -0
  120. data/lib/freight_kit/carriers/fort_transportation_and_service_company_inc.rb +37 -0
  121. data/lib/freight_kit/carriers/forward_air.rb +789 -0
  122. data/lib/freight_kit/carriers/frahtex.rb +10 -0
  123. data/lib/freight_kit/carriers/frozen_food_express.rb +10 -0
  124. data/lib/freight_kit/carriers/gholia_bros_trucking.rb +36 -0
  125. data/lib/freight_kit/carriers/global_cargo.rb +10 -0
  126. data/lib/freight_kit/carriers/global_logistics_and_transportation.rb +10 -0
  127. data/lib/freight_kit/carriers/gls_freight.rb +32 -0
  128. data/lib/freight_kit/carriers/go_trucking_services.rb +10 -0
  129. data/lib/freight_kit/carriers/gold_eagle_transportation.rb +11 -0
  130. data/lib/freight_kit/carriers/golden_drop_trucking.rb +10 -0
  131. data/lib/freight_kit/carriers/gonzalez_transportation.rb +10 -0
  132. data/lib/freight_kit/carriers/gps_transport.rb +10 -0
  133. data/lib/freight_kit/carriers/greene_enterprise.rb +10 -0
  134. data/lib/freight_kit/carriers/gsa_international.rb +10 -0
  135. data/lib/freight_kit/carriers/gsp_express.rb +24 -0
  136. data/lib/freight_kit/carriers/gsv_transportation.rb +10 -0
  137. data/lib/freight_kit/carriers/gta_transportation.rb +10 -0
  138. data/lib/freight_kit/carriers/guam_freight_services.rb +10 -0
  139. data/lib/freight_kit/carriers/harrah_transportation.rb +23 -0
  140. data/lib/freight_kit/carriers/her_trucking.rb +10 -0
  141. data/lib/freight_kit/carriers/hercules_freight.rb +20 -0
  142. data/lib/freight_kit/carriers/highlander_xpress.rb +36 -0
  143. data/lib/freight_kit/carriers/hn_transport.rb +10 -0
  144. data/lib/freight_kit/carriers/honolulu_freight_service.rb +10 -0
  145. data/lib/freight_kit/carriers/hot_line_freight_system_inc.rb +12 -0
  146. data/lib/freight_kit/carriers/hotshot_freight_of_texas.rb +13 -0
  147. data/lib/freight_kit/carriers/houser_transport.rb +27 -0
  148. data/lib/freight_kit/carriers/infiniti_freight_logistics.rb +28 -0
  149. data/lib/freight_kit/carriers/infinity_trucking.rb +10 -0
  150. data/lib/freight_kit/carriers/interstate_tma.rb +10 -0
  151. data/lib/freight_kit/carriers/intrade_industries.rb +10 -0
  152. data/lib/freight_kit/carriers/jasper_trucking.rb +28 -0
  153. data/lib/freight_kit/carriers/jb_hunt.rb +11 -0
  154. data/lib/freight_kit/carriers/jfj_transportation.rb +8 -8
  155. data/lib/freight_kit/carriers/jkb_express.rb +10 -0
  156. data/lib/freight_kit/carriers/jlm_transport.rb +10 -0
  157. data/lib/freight_kit/carriers/johansson_transport.rb +10 -0
  158. data/lib/freight_kit/carriers/jones_express.rb +10 -0
  159. data/lib/freight_kit/carriers/jp_logistics.rb +41 -0
  160. data/lib/freight_kit/carriers/just_in_time_cargo.rb +29 -0
  161. data/lib/freight_kit/carriers/kengkok_times.rb +10 -0
  162. data/lib/freight_kit/carriers/kings_express.rb +10 -0
  163. data/lib/freight_kit/carriers/klc_transportation.rb +10 -0
  164. data/lib/freight_kit/carriers/km_trucking.rb +10 -0
  165. data/lib/freight_kit/carriers/kma_logistics.rb +10 -0
  166. data/lib/freight_kit/carriers/krc_logistics.rb +10 -0
  167. data/lib/freight_kit/carriers/ktx.rb +10 -0
  168. data/lib/freight_kit/carriers/landstar.rb +25 -0
  169. data/lib/freight_kit/carriers/lanter_distributing_llc.rb +30 -0
  170. data/lib/freight_kit/carriers/ld_trucking.rb +10 -0
  171. data/lib/freight_kit/carriers/legacy_logistics_solutions.rb +10 -0
  172. data/lib/freight_kit/carriers/leonards_express.rb +10 -0
  173. data/lib/freight_kit/carriers/liberty_linehaul_west.rb +28 -0
  174. data/lib/freight_kit/carriers/liberty_transport.rb +10 -0
  175. data/lib/freight_kit/carriers/lightning_express.rb +10 -0
  176. data/lib/freight_kit/carriers/lj_express.rb +24 -0
  177. data/lib/freight_kit/carriers/lkp_enterprises.rb +10 -0
  178. data/lib/freight_kit/carriers/ltl_pros.rb +28 -0
  179. data/lib/freight_kit/carriers/m_and_m_and_sons.rb +10 -0
  180. data/lib/freight_kit/carriers/mag_lines_transport.rb +10 -0
  181. data/lib/freight_kit/carriers/magic_messenger.rb +24 -0
  182. data/lib/freight_kit/carriers/majors_transit.rb +10 -0
  183. data/lib/freight_kit/carriers/map_global_logistics.rb +10 -0
  184. data/lib/freight_kit/carriers/matths_trucking.rb +11 -0
  185. data/lib/freight_kit/carriers/mav_canadian_transport.rb +13 -0
  186. data/lib/freight_kit/carriers/mc_systems.rb +35 -0
  187. data/lib/freight_kit/carriers/mega_fleet.rb +10 -0
  188. data/lib/freight_kit/carriers/mega_trans_group.rb +28 -0
  189. data/lib/freight_kit/carriers/meta_express.rb +10 -0
  190. data/lib/freight_kit/carriers/mia_transportation.rb +10 -0
  191. data/lib/freight_kit/carriers/midwest_motor_express.rb +14 -0
  192. data/lib/freight_kit/carriers/midwest_transport_and_trucking.rb +10 -0
  193. data/lib/freight_kit/carriers/mikade_delivery_service.rb +10 -0
  194. data/lib/freight_kit/carriers/mohoff_freight_lines.rb +23 -0
  195. data/lib/freight_kit/carriers/montata_travelers_express.rb +10 -0
  196. data/lib/freight_kit/carriers/morgan_van_lines.rb +29 -0
  197. data/lib/freight_kit/carriers/moto_transportation.rb +24 -0
  198. data/lib/freight_kit/carriers/mountain_valley_express.rb +197 -0
  199. data/lib/freight_kit/carriers/ms_freight.rb +27 -0
  200. data/lib/freight_kit/carriers/mvg_transport.rb +10 -0
  201. data/lib/freight_kit/carriers/n_and_m_transfer_co_inc.rb +29 -0
  202. data/lib/freight_kit/carriers/nabot_transport_solutions.rb +10 -0
  203. data/lib/freight_kit/carriers/national_freight_xpress.rb +10 -0
  204. data/lib/freight_kit/carriers/navigation_group.rb +10 -0
  205. data/lib/freight_kit/carriers/nelson_trucking.rb +10 -0
  206. data/lib/freight_kit/carriers/network_1_transportation.rb +10 -0
  207. data/lib/freight_kit/carriers/new_century_transport.rb +28 -0
  208. data/lib/freight_kit/carriers/new_penn_motor_express.rb +11 -0
  209. data/lib/freight_kit/carriers/nieves_transportation.rb +10 -0
  210. data/lib/freight_kit/carriers/nolan_transportation_group.rb +26 -0
  211. data/lib/freight_kit/carriers/northland_trucking.rb +10 -0
  212. data/lib/freight_kit/carriers/northwest_carrier_logistics.rb +27 -0
  213. data/lib/freight_kit/carriers/nt_usa.rb +10 -0
  214. data/lib/freight_kit/carriers/nu_line_transportation.rb +10 -0
  215. data/lib/freight_kit/carriers/numark_transportation.rb +80 -0
  216. data/lib/freight_kit/carriers/nvk_transport.rb +10 -0
  217. data/lib/freight_kit/carriers/ny_transport.rb +10 -0
  218. data/lib/freight_kit/carriers/oak_harbor.rb +28 -0
  219. data/lib/freight_kit/carriers/oakline_transportation.rb +10 -0
  220. data/lib/freight_kit/carriers/old_dominion_freight_line.rb +30 -0
  221. data/lib/freight_kit/carriers/on_trac.rb +573 -0
  222. data/lib/freight_kit/carriers/one_hundred_one_transport.rb +10 -0
  223. data/lib/freight_kit/carriers/one_way_delivery.rb +10 -0
  224. data/lib/freight_kit/carriers/oracle_transportation_solutions.rb +10 -0
  225. data/lib/freight_kit/carriers/orange_courier.rb +27 -0
  226. data/lib/freight_kit/carriers/ortas_trucking.rb +10 -0
  227. data/lib/freight_kit/carriers/pac_trux_transportation.rb +10 -0
  228. data/lib/freight_kit/carriers/pacer.rb +10 -0
  229. data/lib/freight_kit/carriers/pacific_logistics.rb +10 -0
  230. data/lib/freight_kit/carriers/pacific_states_truck_lines.rb +10 -0
  231. data/lib/freight_kit/carriers/paradise_distributing.rb +10 -0
  232. data/lib/freight_kit/carriers/paramount_freight_systems.rb +10 -0
  233. data/lib/freight_kit/carriers/peninsula_truck_lines.rb +222 -0
  234. data/lib/freight_kit/carriers/pg_transport.rb +10 -0
  235. data/lib/freight_kit/carriers/pgs_360.rb +10 -0
  236. data/lib/freight_kit/carriers/pilot_freight_services.rb +10 -0
  237. data/lib/freight_kit/carriers/pious_trans.rb +27 -0
  238. data/lib/freight_kit/carriers/pitt_ohio_express.rb +30 -0
  239. data/lib/freight_kit/carriers/pki_logistics.rb +12 -0
  240. data/lib/freight_kit/carriers/plana_transportation.rb +28 -0
  241. data/lib/freight_kit/carriers/prestige.rb +10 -0
  242. data/lib/freight_kit/carriers/pro_trans_solutions.rb +28 -0
  243. data/lib/freight_kit/carriers/puma_logistics.rb +10 -0
  244. data/lib/freight_kit/carriers/pwc_international.rb +10 -0
  245. data/lib/freight_kit/carriers/quality_logistics.rb +10 -0
  246. data/lib/freight_kit/carriers/queen_star_trucking.rb +27 -0
  247. data/lib/freight_kit/carriers/r_and_l_carriers.rb +11 -0
  248. data/lib/freight_kit/carriers/rac_transport.rb +10 -0
  249. data/lib/freight_kit/carriers/re_logistics.rb +23 -0
  250. data/lib/freight_kit/carriers/reddaway.rb +11 -0
  251. data/lib/freight_kit/carriers/reefer_van_network.rb +13 -0
  252. data/lib/freight_kit/carriers/refrigerated_trucking_and_ltl_transportation_services.rb +10 -0
  253. data/lib/freight_kit/carriers/ridgeline_express.rb +10 -0
  254. data/lib/freight_kit/carriers/rist_transport.rb +29 -0
  255. data/lib/freight_kit/carriers/river_city_transport.rb +10 -0
  256. data/lib/freight_kit/carriers/roadrunner_transportation_services.rb +675 -0
  257. data/lib/freight_kit/carriers/roadtex.rb +13 -0
  258. data/lib/freight_kit/carriers/ronald_transport_services.rb +10 -0
  259. data/lib/freight_kit/carriers/rose_trucking.rb +24 -0
  260. data/lib/freight_kit/carriers/rp_and_j_transport.rb +24 -0
  261. data/lib/freight_kit/carriers/rpm_transportation.rb +11 -0
  262. data/lib/freight_kit/carriers/rude_transportation.rb +30 -0
  263. data/lib/freight_kit/carriers/s_and_s_logistics.rb +10 -0
  264. data/lib/freight_kit/carriers/saia.rb +470 -363
  265. data/lib/freight_kit/carriers/sb_transportation.rb +27 -0
  266. data/lib/freight_kit/carriers/schneider_national.rb +29 -0
  267. data/lib/freight_kit/carriers/schwarz_trucking.rb +10 -0
  268. data/lib/freight_kit/carriers/sewell_motor_express.rb +29 -0
  269. data/lib/freight_kit/carriers/shawnee_trucking.rb +28 -0
  270. data/lib/freight_kit/carriers/shi_logistics.rb +10 -0
  271. data/lib/freight_kit/carriers/sinbad_transport.rb +10 -0
  272. data/lib/freight_kit/carriers/skyway.rb +10 -0
  273. data/lib/freight_kit/carriers/smith_cargo_transportation_services.rb +23 -0
  274. data/lib/freight_kit/carriers/sna_transportation.rb +10 -0
  275. data/lib/freight_kit/carriers/solid_group.rb +10 -0
  276. data/lib/freight_kit/carriers/solution_carrier_express.rb +10 -0
  277. data/lib/freight_kit/carriers/southeastern_freight_lines.rb +450 -0
  278. data/lib/freight_kit/carriers/southwestern_motor_transport.rb +30 -0
  279. data/lib/freight_kit/carriers/span_alaska.rb +10 -0
  280. data/lib/freight_kit/carriers/specialize_transportation.rb +27 -0
  281. data/lib/freight_kit/carriers/ssi_refrigerated_express.rb +10 -0
  282. data/lib/freight_kit/carriers/standard_forwarding_llc.rb +28 -0
  283. data/lib/freight_kit/carriers/star_american_enterprise.rb +10 -0
  284. data/lib/freight_kit/carriers/sterling_transportation.rb +10 -0
  285. data/lib/freight_kit/carriers/stg.rb +163 -0
  286. data/lib/freight_kit/carriers/supervan_service.rb +10 -0
  287. data/lib/freight_kit/carriers/sutton_transport_inc.rb +12 -0
  288. data/lib/freight_kit/carriers/swift_transportation.rb +28 -0
  289. data/lib/freight_kit/carriers/t_force_worldwide.rb +617 -0
  290. data/lib/freight_kit/carriers/tax_airfreight_inc.rb +35 -0
  291. data/lib/freight_kit/carriers/tforce_freight_inc.rb +30 -0
  292. data/lib/freight_kit/carriers/the_custom_companies.rb +162 -0
  293. data/lib/freight_kit/carriers/thk_trucking.rb +28 -0
  294. data/lib/freight_kit/carriers/tiger_cool_express.rb +11 -0
  295. data/lib/freight_kit/carriers/tili_logistics.rb +10 -0
  296. data/lib/freight_kit/carriers/tmt_industries.rb +10 -0
  297. data/lib/freight_kit/carriers/top_ten_express.rb +28 -0
  298. data/lib/freight_kit/carriers/total_quality_logistics.rb +338 -0
  299. data/lib/freight_kit/carriers/total_transportation.rb +258 -0
  300. data/lib/freight_kit/carriers/trans_international_trucking.rb +29 -0
  301. data/lib/freight_kit/carriers/treasure_transportation.rb +10 -0
  302. data/lib/freight_kit/carriers/tri_state_services.rb +10 -0
  303. data/lib/freight_kit/carriers/tritex_freighters.rb +10 -0
  304. data/lib/freight_kit/carriers/triways.rb +10 -0
  305. data/lib/freight_kit/carriers/tsi_kansas.rb +29 -0
  306. data/lib/freight_kit/carriers/u_and_r_transportation.rb +23 -0
  307. data/lib/freight_kit/carriers/union_pacific.rb +11 -0
  308. data/lib/freight_kit/carriers/united_freight_logistics.rb +10 -0
  309. data/lib/freight_kit/carriers/unlimited_distance_transportation.rb +10 -0
  310. data/lib/freight_kit/carriers/up_streamline.rb +10 -0
  311. data/lib/freight_kit/carriers/ups_freight.rb +12 -0
  312. data/lib/freight_kit/carriers/us_freightways.rb +10 -0
  313. data/lib/freight_kit/carriers/usa_truck.rb +28 -0
  314. data/lib/freight_kit/carriers/usf_holland.rb +11 -0
  315. data/lib/freight_kit/carriers/valley_cartage.rb +11 -0
  316. data/lib/freight_kit/carriers/vc_transport.rb +10 -0
  317. data/lib/freight_kit/carriers/vision_express.rb +11 -0
  318. data/lib/freight_kit/carriers/vision_logistics_group.rb +10 -0
  319. data/lib/freight_kit/carriers/vmg_transportation_group.rb +10 -0
  320. data/lib/freight_kit/carriers/volpe_express.rb +10 -0
  321. data/lib/freight_kit/carriers/ward_trucking.rb +29 -0
  322. data/lib/freight_kit/carriers/wdwb.rb +10 -0
  323. data/lib/freight_kit/carriers/western_flyer_express.rb +28 -0
  324. data/lib/freight_kit/carriers/western_regional_delivery_service.rb +271 -0
  325. data/lib/freight_kit/carriers/western_specialized_trucking.rb +22 -0
  326. data/lib/freight_kit/carriers/win_distribution.rb +28 -0
  327. data/lib/freight_kit/carriers/wlb_transport.rb +10 -0
  328. data/lib/freight_kit/carriers/x_trux.rb +29 -0
  329. data/lib/freight_kit/carriers/xpo_logistics.rb +427 -0
  330. data/lib/freight_kit/carriers/xpress_global_systems.rb +30 -0
  331. data/lib/freight_kit/carriers/xylo_trucking.rb +10 -0
  332. data/lib/freight_kit/carriers/yrc_freight.rb +24 -0
  333. data/lib/freight_kit/carriers/zentner_transportation.rb +28 -0
  334. data/lib/freight_kit/carriers.rb +332 -36
  335. data/lib/freight_kit/countries.rb +22 -0
  336. data/lib/freight_kit/error.rb +0 -2
  337. data/lib/freight_kit/errors/document_not_found_error.rb +0 -2
  338. data/lib/freight_kit/errors/expired_credentials_error.rb +0 -2
  339. data/lib/freight_kit/errors/http_error.rb +0 -2
  340. data/lib/freight_kit/errors/invalid_credentials_error.rb +0 -2
  341. data/lib/freight_kit/errors/response_error.rb +1 -3
  342. data/lib/freight_kit/errors/shipment_not_found_error.rb +0 -2
  343. data/lib/freight_kit/errors/unserviceable_accessorials_error.rb +2 -4
  344. data/lib/freight_kit/errors/unserviceable_error.rb +0 -2
  345. data/lib/freight_kit/helpers/documentable.rb +0 -2
  346. data/lib/freight_kit/helpers/pickupable.rb +3 -5
  347. data/lib/freight_kit/helpers/rateable.rb +0 -2
  348. data/lib/freight_kit/helpers/trackable.rb +0 -2
  349. data/lib/freight_kit/http_client/cache_store.rb +59 -0
  350. data/lib/freight_kit/http_client/log_device.rb +13 -0
  351. data/lib/freight_kit/http_client/response.rb +38 -0
  352. data/lib/freight_kit/http_client/revalidation.rb +25 -0
  353. data/lib/freight_kit/http_client/safe_retries.rb +23 -0
  354. data/lib/freight_kit/http_client/zstd.rb +28 -0
  355. data/lib/freight_kit/http_client.rb +76 -0
  356. data/lib/freight_kit/model.rb +1 -3
  357. data/lib/freight_kit/models/address.rb +15 -0
  358. data/lib/freight_kit/models/contact.rb +3 -4
  359. data/lib/freight_kit/models/country.rb +20 -0
  360. data/lib/freight_kit/models/credential.rb +14 -16
  361. data/lib/freight_kit/models/date_time.rb +0 -2
  362. data/lib/freight_kit/models/document_response.rb +0 -2
  363. data/lib/freight_kit/models/label.rb +0 -2
  364. data/lib/freight_kit/models/location.rb +10 -25
  365. data/lib/freight_kit/models/pickup_response.rb +0 -2
  366. data/lib/freight_kit/models/price.rb +0 -2
  367. data/lib/freight_kit/models/rate.rb +0 -2
  368. data/lib/freight_kit/models/rate_response.rb +0 -2
  369. data/lib/freight_kit/models/region.rb +19 -0
  370. data/lib/freight_kit/models/response.rb +0 -2
  371. data/lib/freight_kit/models/shipment.rb +4 -6
  372. data/lib/freight_kit/models/shipment_event.rb +0 -2
  373. data/lib/freight_kit/models/terminal.rb +10 -0
  374. data/lib/freight_kit/models/tracking_response.rb +0 -2
  375. data/lib/freight_kit/package.rb +52 -54
  376. data/lib/freight_kit/package_item.rb +15 -15
  377. data/lib/freight_kit/packaging.rb +21 -26
  378. data/lib/freight_kit/platform.rb +0 -32
  379. data/lib/freight_kit/platforms/carrier_logistics.rb +331 -345
  380. data/lib/freight_kit/platforms/next_tms.rb +93 -0
  381. data/lib/freight_kit/platforms/the_great_information_factory.rb +500 -426
  382. data/lib/freight_kit/regions.rb +27 -0
  383. data/lib/freight_kit/shipment_packer.rb +36 -38
  384. data/lib/freight_kit/tariff/overlength_rule.rb +1 -5
  385. data/lib/freight_kit/tariff.rb +0 -2
  386. data/lib/freight_kit.rb +89 -25
  387. metadata +454 -84
  388. data/configuration/carriers/abfs.yml +0 -124
  389. data/configuration/carriers/btvp.yml +0 -84
  390. data/configuration/carriers/ccyq.yml +0 -121
  391. data/configuration/carriers/clni.yml +0 -113
  392. data/configuration/carriers/cnwy.yml +0 -113
  393. data/configuration/carriers/ctbv.yml +0 -117
  394. data/configuration/carriers/dcha.yml +0 -105
  395. data/configuration/carriers/dlds.yml +0 -111
  396. data/configuration/carriers/dphe.yml +0 -130
  397. data/configuration/carriers/drrq.yml +0 -131
  398. data/configuration/carriers/fcsy.yml +0 -102
  399. data/configuration/carriers/fwda.yml +0 -137
  400. data/configuration/carriers/jfj_transportation.yml +0 -2
  401. data/configuration/carriers/mtvl.yml +0 -12
  402. data/configuration/carriers/numk.yml +0 -14
  403. data/configuration/carriers/otcl.yml +0 -124
  404. data/configuration/carriers/pens.yml +0 -22
  405. data/configuration/carriers/rdfs.yml +0 -142
  406. data/configuration/carriers/saia.yml +0 -129
  407. data/configuration/carriers/sefl.yml +0 -115
  408. data/configuration/carriers/totl.yml +0 -111
  409. data/configuration/carriers/tqyl.yml +0 -28
  410. data/configuration/carriers/wrds.yml +0 -20
  411. data/configuration/platforms/carrier_logistics.yml +0 -25
  412. data/configuration/platforms/next.yml +0 -12
  413. data/configuration/platforms/the_great_information_factory.yml +0 -122
  414. data/freight_kit-0.1.18.gem +0 -0
  415. data/lib/freight_kit/api_clients.rb +0 -3
  416. data/lib/freight_kit/carriers/abfs.rb +0 -421
  417. data/lib/freight_kit/carriers/btvp.rb +0 -29
  418. data/lib/freight_kit/carriers/ccyq.rb +0 -317
  419. data/lib/freight_kit/carriers/clni.rb +0 -396
  420. data/lib/freight_kit/carriers/cnwy.rb +0 -327
  421. data/lib/freight_kit/carriers/ctbv.rb +0 -53
  422. data/lib/freight_kit/carriers/dcha.rb +0 -76
  423. data/lib/freight_kit/carriers/dlds.rb +0 -49
  424. data/lib/freight_kit/carriers/dphe.rb +0 -474
  425. data/lib/freight_kit/carriers/drrq.rb +0 -580
  426. data/lib/freight_kit/carriers/fcsy.rb +0 -57
  427. data/lib/freight_kit/carriers/fwda.rb +0 -744
  428. data/lib/freight_kit/carriers/mtvl.rb +0 -34
  429. data/lib/freight_kit/carriers/numk.rb +0 -58
  430. data/lib/freight_kit/carriers/otcl.rb +0 -528
  431. data/lib/freight_kit/carriers/pens.rb +0 -204
  432. data/lib/freight_kit/carriers/rdfs.rb +0 -521
  433. data/lib/freight_kit/carriers/sefl.rb +0 -342
  434. data/lib/freight_kit/carriers/totl.rb +0 -172
  435. data/lib/freight_kit/carriers/tqyl.rb +0 -339
  436. data/lib/freight_kit/carriers/wrds.rb +0 -246
  437. data/lib/freight_kit/helpers.rb +0 -6
  438. data/lib/freight_kit/platforms/next.rb +0 -101
  439. data/lib/freight_kit/platforms.rb +0 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 07a406cb84bd27793e12873104e9651751eeae80b471f4f9f3f03253e6a87608
4
- data.tar.gz: 32e26ef8e56aceb725c241d360826eaec666f780b0dd48b587b25979d6848fb8
3
+ metadata.gz: 543816b71edfd222f466c27be9e96722cb616ebb33768e3985379aea350b36d8
4
+ data.tar.gz: 9aba35e8079b412e35cf2a868ac3b7f0b7c7d47ac2a1b595bc2bcb06ba4e920d
5
5
  SHA512:
6
- metadata.gz: 42b08cceb7e17d62591c6bfd1f9c03150ac7c314787daabe563ca509ce87aba3382567c97f069d6dc96927de1b06d075c7925a2eb9c510ccfc675b7769fb26b2
7
- data.tar.gz: 9ce954dd5948deb22a460910264e99cabb06f3b810f254a7aea32af79273bb7d4f4919ac60ddbe1ce76c299c2048a44bf8ccada188864e093ceacea59593e1a0
6
+ metadata.gz: 363cd6ebe87b53b68dc5a8a715657ed62069e9bc55a81fdef7c4ad6d056913f1d33651787fd726167337c1ffb38194c9b2c1af84a6501002f62af6aba050ab8c
7
+ data.tar.gz: eda608438300dd2581bef08ea6b8c4bb6ab0166d7f98cc1027c034da683e84a49a51b9c31d8681c6481c92c625a09c7fe673820ff63fee5b9e0f9a0e267b497a
data/Gemfile CHANGED
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  source 'https://rubygems.org'
4
2
 
5
3
  gemspec
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- freight_kit (0.1.17)
4
+ freight_kit (0.1.19)
5
5
  active_utils (>= 3.3.1, < 3.7.0)
6
- activemodel (>= 7.1, < 8.1.4)
7
- activesupport (>= 7.1, < 8.1.4)
6
+ activemodel (>= 7.1, < 8.1.5)
7
+ activesupport (>= 7.1, < 8.1.5)
8
8
  benchmark (~> 0.5.0)
9
9
  business_time (~> 0.13.0)
10
10
  httparty (~> 0.10)
@@ -12,11 +12,10 @@ PATH
12
12
  mimemagic (~> 0.4.3)
13
13
  nokogiri (>= 1.6, < 1.20)
14
14
  place_kit (~> 0.0.6)
15
- rmagick (>= 4.2.5, < 7.1.0)
16
15
  savon (>= 2.17, < 2.18)
17
16
  tzinfo-data (~> 1.2023, >= 1.2023.3)
18
17
  watir (>= 7.0, < 7.4)
19
- zeitwerk (>= 2.6.0, < 2.8.3)
18
+ zeitwerk (>= 2.6.0, < 2.8.4)
20
19
 
21
20
  GEM
22
21
  remote: https://rubygems.org/
@@ -39,20 +38,21 @@ GEM
39
38
  mutex_m
40
39
  securerandom (>= 0.3)
41
40
  tzinfo (~> 2.0)
42
- addressable (2.8.5)
43
- public_suffix (>= 2.0.2, < 6.0)
44
- akami (1.3.1)
41
+ addressable (2.9.0)
42
+ public_suffix (>= 2.0.2, < 8.0)
43
+ akami (1.3.3)
44
+ base64
45
45
  gyoku (>= 0.4.0)
46
46
  nokogiri
47
- ast (2.4.3)
47
+ ast (2.4.2)
48
48
  base64 (0.3.0)
49
49
  benchmark (0.5.0)
50
- bigdecimal (4.1.2)
51
- builder (3.2.4)
50
+ bigdecimal (3.3.1)
51
+ builder (3.3.0)
52
52
  business_time (0.13.0)
53
53
  activesupport (>= 3.2.0)
54
54
  tzinfo
55
- concurrent-ruby (1.2.2)
55
+ concurrent-ruby (1.3.6)
56
56
  connection_pool (3.0.2)
57
57
  csv (3.3.5)
58
58
  date (3.5.1)
@@ -60,7 +60,7 @@ GEM
60
60
  drb (2.2.3)
61
61
  faker (3.8.0)
62
62
  i18n (>= 1.8.11, < 2)
63
- faraday (2.14.3)
63
+ faraday (2.14.2)
64
64
  faraday-net_http (>= 2.0, < 3.5)
65
65
  json
66
66
  logger
@@ -77,12 +77,12 @@ GEM
77
77
  mutex_m
78
78
  nkf
79
79
  rack (>= 2.0, < 4)
80
- i18n (1.14.1)
80
+ i18n (1.14.8)
81
81
  concurrent-ruby (~> 1.0)
82
- json (2.21.1)
83
- language_server-protocol (3.17.0.6)
82
+ json (2.7.2)
83
+ language_server-protocol (3.17.0.3)
84
84
  logger (1.7.0)
85
- mail (2.9.1)
85
+ mail (2.9.0)
86
86
  logger
87
87
  mini_mime (>= 0.1.1)
88
88
  net-imap
@@ -94,13 +94,15 @@ GEM
94
94
  nokogiri (~> 1)
95
95
  rake
96
96
  mini_mime (1.1.5)
97
- mini_portile2 (2.8.4)
98
- minitest (5.15.0)
99
- multi_xml (0.6.0)
97
+ minitest (6.0.6)
98
+ drb (~> 2.0)
99
+ prism (~> 1.5)
100
+ multi_xml (0.7.1)
101
+ bigdecimal (~> 3.1)
100
102
  mutex_m (0.3.0)
101
103
  net-http (0.9.1)
102
104
  uri (>= 0.11.1)
103
- net-imap (0.6.4.1)
105
+ net-imap (0.6.4)
104
106
  date
105
107
  net-protocol
106
108
  net-pop (0.1.2)
@@ -109,32 +111,27 @@ GEM
109
111
  timeout
110
112
  net-smtp (0.5.1)
111
113
  net-protocol
112
- nkf (0.3.0)
113
- nokogiri (1.13.10)
114
- mini_portile2 (~> 2.8.0)
114
+ nkf (0.2.0)
115
+ nokogiri (1.19.3-arm64-darwin)
115
116
  racc (~> 1.4)
116
- nori (2.6.0)
117
- observer (0.1.2)
118
- parallel (1.28.0)
119
- parser (3.3.12.0)
117
+ nori (2.7.1)
118
+ bigdecimal
119
+ parallel (1.25.1)
120
+ parser (3.3.2.0)
120
121
  ast (~> 2.4.1)
121
122
  racc
122
- pkg-config (1.6.5)
123
123
  place_kit (0.0.6)
124
124
  activesupport (>= 7.1, < 8.1.4)
125
125
  csv (~> 3.3)
126
126
  prism (1.9.0)
127
- public_suffix (5.0.3)
128
- racc (1.7.1)
129
- rack (3.0.8)
127
+ public_suffix (7.0.5)
128
+ racc (1.8.1)
129
+ rack (3.2.6)
130
130
  rainbow (3.1.1)
131
131
  rake (13.4.2)
132
132
  redcarpet (3.6.0)
133
- regexp_parser (2.8.1)
134
- rexml (3.2.6)
135
- rmagick (7.0.5)
136
- observer (~> 0.1)
137
- pkg-config (~> 1.4)
133
+ regexp_parser (2.9.0)
134
+ rexml (3.4.4)
138
135
  rspec (3.12.0)
139
136
  rspec-core (~> 3.12.0)
140
137
  rspec-expectations (~> 3.12.0)
@@ -159,11 +156,10 @@ GEM
159
156
  rubocop-ast (>= 1.31.1, < 2.0)
160
157
  ruby-progressbar (~> 1.7)
161
158
  unicode-display_width (>= 2.4.0, < 3.0)
162
- rubocop-ast (1.50.0)
163
- parser (>= 3.3.7.2)
164
- prism (~> 1.7)
165
- rubocop-graphql (1.5.4)
166
- rubocop (>= 1.50, < 2)
159
+ rubocop-ast (1.31.3)
160
+ parser (>= 3.3.1.0)
161
+ rubocop-graphql (1.5.2)
162
+ rubocop (>= 0.90, < 2)
167
163
  rubocop-next (1.0.7)
168
164
  rubocop (>= 1.56, < 1.65)
169
165
  rubocop-graphql (>= 1.4, < 1.6)
@@ -171,14 +167,14 @@ GEM
171
167
  rubocop-rake (~> 0.6.0)
172
168
  rubocop-rspec (>= 2.23.2, < 3.1.0)
173
169
  rubocop-shopify (>= 2.14, < 2.16)
174
- rubocop-rails (2.25.1)
170
+ rubocop-rails (2.25.0)
175
171
  activesupport (>= 4.2.0)
176
172
  rack (>= 1.1)
177
173
  rubocop (>= 1.33.0, < 2.0)
178
174
  rubocop-ast (>= 1.31.1, < 2.0)
179
175
  rubocop-rake (0.6.0)
180
176
  rubocop (~> 1.0)
181
- rubocop-rspec (3.0.5)
177
+ rubocop-rspec (3.0.1)
182
178
  rubocop (~> 1.61)
183
179
  rubocop-shopify (2.15.1)
184
180
  rubocop (~> 1.51)
@@ -194,31 +190,34 @@ GEM
194
190
  nori (~> 2.4)
195
191
  wasabi (>= 5.1.0, < 6)
196
192
  securerandom (0.4.1)
197
- selenium-webdriver (4.12.0)
193
+ selenium-webdriver (4.16.0)
198
194
  rexml (~> 3.2, >= 3.2.5)
199
195
  rubyzip (>= 1.2.2, < 3.0)
200
196
  websocket (~> 1.0)
201
197
  timeout (0.6.1)
202
198
  tzinfo (2.0.6)
203
199
  concurrent-ruby (~> 1.0)
204
- tzinfo-data (1.2023.4)
200
+ tzinfo-data (1.2023.3)
205
201
  tzinfo (>= 1.0.0)
206
- unicode-display_width (2.6.0)
202
+ unicode-display_width (2.5.0)
207
203
  uri (1.1.1)
208
204
  wasabi (5.1.0)
209
205
  addressable
210
206
  faraday (>= 1.9, < 3)
211
207
  nokogiri (>= 1.13.9)
212
- watir (7.1.0)
208
+ watir (7.3.0)
213
209
  regexp_parser (>= 1.2, < 3)
214
- selenium-webdriver (~> 4.0)
215
- websocket (1.2.9)
210
+ selenium-webdriver (~> 4.2)
211
+ websocket (1.2.10)
216
212
  yard (0.9.34)
217
- zeitwerk (2.8.2)
213
+ zeitwerk (2.6.11)
218
214
 
219
215
  PLATFORMS
220
216
  arm64-darwin-22
217
+ arm64-darwin-23
218
+ arm64-darwin-24
221
219
  arm64-darwin-25
220
+ arm64-darwin-27
222
221
 
223
222
  DEPENDENCIES
224
223
  faker (~> 3.8.0)
@@ -230,4 +229,4 @@ DEPENDENCIES
230
229
  yard (~> 0.9.28)
231
230
 
232
231
  BUNDLED WITH
233
- 2.4.19
232
+ 4.0.23
data/README.md CHANGED
@@ -26,7 +26,6 @@ __Note:__ `Carrier`s may extend `Platform`s and override them when their behavio
26
26
  ## Supported Platforms
27
27
 
28
28
  * [Carrier Logistics](https://carrierlogistics.com)
29
- * [Next TMS](https://next-tms.com)
30
29
  * [The Great Information Factory](https://www.tgifsoftware.com)
31
30
 
32
31
  ## Supported Carriers
@@ -65,6 +64,42 @@ Or standalone:
65
64
  $ gem install freight_kit
66
65
  ```
67
66
 
67
+ ## HTTP Client
68
+
69
+ FreightKit sends HTTP requests through `FreightKit::HTTPClient`, a wrapper around HTTPX. The client keeps connections open between requests, and it reuses HTTP/2 connections. If a connection fails, the client retries only idempotent requests, such as GET. It never retries a POST, because the carrier can already have processed it. The client asks carriers for Brotli, Zstandard, gzip, and deflate compression.
70
+
71
+ ### Logging
72
+
73
+ The client writes request and response details at the debug level. By default it uses `Rails.logger`, or the Hanami app logger. Outside Rails and Hanami, it logs to standard output at the level in the `LOG_LEVEL` environment variable. The default level is `info`.
74
+
75
+ To use a different logger, set it at boot:
76
+
77
+ ```ruby
78
+ FreightKit::HTTPClient.logger = Logger.new($stdout, level: :debug)
79
+ ```
80
+
81
+ Debug output contains request headers and bodies, which include carrier credentials. Do not use the debug level in production.
82
+
83
+ ### Cache
84
+
85
+ The client uses conditional requests: it sends `If-None-Match` and `If-Modified-Since` and reuses the cached body when the carrier replies `304 Not Modified`.
86
+
87
+ By default, the client keeps cached responses in an in-process `ActiveSupport::Cache::MemoryStore`. To share the cache between processes, set your own backend at boot. The backend must respond to `read`, `write`, and `delete_matched`, like `ActiveSupport::Cache::Store`.
88
+
89
+ In Rails, add this line to an initializer:
90
+
91
+ ```ruby
92
+ FreightKit::HTTPClient.cache = Rails.cache
93
+ ```
94
+
95
+ In Hanami or plain Ruby, give any compatible store:
96
+
97
+ ```ruby
98
+ FreightKit::HTTPClient.cache = ActiveSupport::Cache::RedisCacheStore.new(url: ENV.fetch('REDIS_URL'))
99
+ ```
100
+
101
+ Cache entries contain carrier response bodies. Use a backend that you trust with that data. Keys are SHA-256 digests of the method, the URL, and all request headers. Requests with different credentials thus never share an entry. To turn off the cache, set `ActiveSupport::Cache::NullStore.new`.
102
+
68
103
  ## Standard Usage
69
104
 
70
105
  Start off by initializing a `Carrier`:
@@ -99,7 +134,7 @@ credentials = [
99
134
  )
100
135
  ]
101
136
 
102
- carrier = FreightKit::SCAC.new(credentials)
137
+ carrier = FreightKit::Carriers::Saia.new(credentials)
103
138
  ```
104
139
 
105
140
  ### Documents
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ desc 'Load FreightKit'
2
+ task(:environment) do
3
+ require_relative 'lib/freight_kit'
4
+ end
5
+
6
+ Dir[File.expand_path('tasks/*.rake', __dir__)].each { |task| import(task) }
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.19
1
+ 0.1.21