From d43365e243a8cf9bef3a856e2bf65c9b401e78e5 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Wed, 14 Mar 2018 18:53:28 +0100 Subject: Routes: Add `/costs` route Render the `costs` field of a `Chouette::Route` as JSON. This lives at: http://stif-boiv.dev:3000/referentials/4/lines/1857/routes/7/costs.json I want this in order to get the distance & time costs of a route so that I can merge them with `JourneyPattern#costs` on the frontend on `JourneyPatternsCollection#show`. Refs #6203 --- app/controllers/routes_controller.rb | 4 ++++ app/views/routes/costs.rabl | 2 ++ config/routes.rb | 1 + 3 files changed, 7 insertions(+) create mode 100644 app/views/routes/costs.rabl diff --git a/app/controllers/routes_controller.rb b/app/controllers/routes_controller.rb index af5a9a91b..418ba3751 100644 --- a/app/controllers/routes_controller.rb +++ b/app/controllers/routes_controller.rb @@ -70,6 +70,10 @@ class RoutesController < ChouetteController redirect_to referential_line_path(@referential, route.line) end + def costs + @route = resource + end + protected alias_method :route, :resource diff --git a/app/views/routes/costs.rabl b/app/views/routes/costs.rabl new file mode 100644 index 000000000..d4465d03e --- /dev/null +++ b/app/views/routes/costs.rabl @@ -0,0 +1,2 @@ +object @route +attributes :costs diff --git a/config/routes.rb b/config/routes.rb index 6313b5678..25105241a 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -74,6 +74,7 @@ ChouetteIhm::Application.routes.draw do member do get 'edit_boarding_alighting' put 'save_boarding_alighting' + get 'costs' post 'duplicate', to: 'routes#duplicate' end resource :journey_patterns_collection, :only => [:show, :update] -- cgit v1.2.3