Найти все возможные маршруты
Задача: https://gist.github.com/sanyco86/fcf5d047fe34fad981e8e0eb2021a031
-
app/models/route.rb - класс маршрута, умеет себя форматировать и хранит в себе сегменты маршрута
-
app/services/route_searcher.rb - класс для поиска маршрутов, возвращает массив маршрутов
-
app/services/search_route_service.rb - класс для поиска и формирования ответа (в нем вызывается route_searcher)
параметры на вход search_route_service (пример): {carrier: "S7", origin_iata: "UUS", destination_iata: "DME", departure_from: '2024-01-01', departure_to: '2024-01-05'}
ответ (пример): [ { origin_iata: "UUS", destination_iata: "VVO", departure_time: 01 Sep 05:45, arrival_time: 01 Sep 07:40, segments: [{ carrier: "S7", segment_number: "6224", origin_iata: "UUS", destination_iata: "VVO", std: 01 Sep 05:45, sta: 01 Sep 07:40, }] ]
-
spec/models/route.rb - тесты
-
spec/services/route_searcher_spec.rb - тесты
-
spec/services/search_route_service_spec.rb - тесты
Чтобы запустить:
- Создать .env
- bin/rails db:prepare
- rake db:import
- Проверить: SearchRoutesService.new.search({carrier: "S7", origin_iata: "UUS", destination_iata: "DME", departure_from: '2024-01-01', departure_to: '2024-01-05'})