module Sinatra::NamedRoute::Helpers
Public Instance Methods
fetch_uri(key, cache_key: nil) { |key| ... }
click to toggle source
# File lib/sinatra/named_route.rb, line 37 def fetch_uri(key, cache_key: nil) cache = settings.named_routes_cache return cache[cache_key] if cache[cache_key] cache[cache_key] = yield(key) end
uri(*args)
click to toggle source
Calls superclass method
# File lib/sinatra/named_route.rb, line 28 def uri(*args) return super unless args.first.is_a?(Symbol) fetch_uri(args.first, cache_key: args) do |key| signature = settings.named_routes.find { |name:, **o| key == name } fail RouteNotFound unless signature signature[:pattern].expand(args[1] || {}) end end