diff options
| author | Teddy Wing | 2018-03-13 12:04:19 +0100 |
|---|---|---|
| committer | Teddy Wing | 2018-03-14 16:38:40 +0100 |
| commit | 11894d94b6698590a9ddb37729fdd90ea081159d (patch) | |
| tree | 513946bd479fcbf88d0d32ab9f39a4d1853a4070 /lib | |
| parent | 87947a7b6da52305029954341c6dc40b8cde6f86 (diff) | |
| download | chouette-core-11894d94b6698590a9ddb37729fdd90ea081159d.tar.bz2 | |
Add `WayCostCollectionJSONSerializer`
A JSON serialiser for a collection of `WayCost`s. This will be used to
store `WayCost`s for a `Chouette::Route` in the `Route#costs` JSON
field.
Refs #6095
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/way_cost_collection_json_serializer.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/way_cost_collection_json_serializer.rb b/lib/way_cost_collection_json_serializer.rb new file mode 100644 index 000000000..191871cca --- /dev/null +++ b/lib/way_cost_collection_json_serializer.rb @@ -0,0 +1,16 @@ +class WayCostCollectionJSONSerializer + def self.dump(way_costs) + return if way_costs.nil? + + costs_by_id = {} + + way_costs.each do |way_cost| + costs_by_id[way_cost.id] = { + distance: way_cost.distance, + time: way_cost.time + } + end + + JSON.dump(costs_by_id) + end +end |
