Module: Sinatra::NamedRoute::Helpers
- Defined in:
- lib/sinatra/named_route.rb
Instance Method Summary collapse
Instance Method Details
#fetch_uri(key, cache_key: nil) ⇒ Object
37 38 39 40 41 |
# 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) ⇒ Object
28 29 30 31 32 33 34 35 |
# 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].(args[1] || {}) end end |