class Rutter::Routes
Routes
URL builder.
@see Rutter::Builder#path
@see Rutter::Builder#url
@example
router = Rutter.new(base: "http://rutter.org") do get "/login", to: "sessions#new", as: :login get "/books/:id", to: "books#show", as: :book end.freeze routes = Rutter::Routes.new(router) routes.login_path # => "/login" routes.login_path(return_to: "/") # => "/login?return_to=/" routes.book_path(id: 82) # => "/books/82" routes.login_url # => "http://rutter.org/login" routes.login_url(return_to: "/") # => "http://rutter.org/login?return_to=/" routes.book_url(id: 82) # => "http://rutter.org/books/82"
Public Class Methods
new(router)
click to toggle source
Initializes the helper.
@param router [Rutter::Builder]
Route router object.
@return [void]
@private
# File lib/rutter/routes.rb, line 49 def initialize(router) @router = router end
Protected Instance Methods
method_missing(method_name, **args)
click to toggle source
@private
Calls superclass method
# File lib/rutter/routes.rb, line 56 def method_missing(method_name, **args) named_route, type = method_name.to_s.split(/\_(path|url)\z/) return super unless type @router.public_send(type, named_route.to_sym, **args) end
respond_to_missing?(method_name, include_private = false)
click to toggle source
@private
Calls superclass method
# File lib/rutter/routes.rb, line 64 def respond_to_missing?(method_name, include_private = false) meth = method_name.to_s meth.end_with?("_path", "_url") || super end