aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorTeddy Wing2018-04-16 12:58:22 +0200
committerTeddy Wing2018-04-16 16:21:04 +0200
commit7a9a08325db222b11d22a7e72458e8d66875c42a (patch)
tree9aa8f9dbebd4fbac5f5f17e1643833be6774740d /lib
parentae3933586653c00ea92d788380fc81d3586e4d42 (diff)
downloadchouette-core-6097-cache-route-WayCosts.tar.bz2
WayCost: Add `#cache_key` method6097-cache-route-WayCosts
Provides a uniform Rails cache key for all `WayCost`s using their `id`. Since the `id` field is option, raise an error if the `WayCost` doesn't have one. Refs #6097
Diffstat (limited to 'lib')
-rw-r--r--lib/way_cost.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/way_cost.rb b/lib/way_cost.rb
index 9f860308c..53e69ddb3 100644
--- a/lib/way_cost.rb
+++ b/lib/way_cost.rb
@@ -24,4 +24,12 @@ class WayCost
@time == other.time &&
@id == other.id
end
+
+ def cache_key
+ raise NullIDError if !id
+
+ "way_cost/#{id}"
+ end
+
+ class NullIDError < RuntimeError; end
end