Class: Sinatra::RoutingPlugin::NamedRoute
- Inherits:
-
Object
- Object
- Sinatra::RoutingPlugin::NamedRoute
- Defined in:
- lib/sinatra/routing_plugin/named_route.rb
Instance Method Summary collapse
-
#initialize(app, *names) ⇒ NamedRoute
constructor
Constructs the NamedRoute which accepts the application and the route alias names to register (i.e [:account] or [:admin, :show]) NamedRoute.new(@app, :admin, :show).
-
#map(*args, &block) ⇒ Object
Used to define the url mappings for child aliases within a namespace Invokes map on the application itself, appending the namespace to the route NamedRoute.new(@app, :admin).map(:show).to(‘/admin/show’) is equivalent to NamedRoute.new(@app, :admin, :show).to(‘/admin/show’).
-
#to(path) ⇒ Object
Used to define the url mapping to the supplied alias NamedRoute.new(@app, :account).to(‘/account/path’).
Constructor Details
#initialize(app, *names) ⇒ NamedRoute
Constructs the NamedRoute which accepts the application and the route alias names to register (i.e [:account] or [:admin, :show]) NamedRoute.new(@app, :admin, :show)
7 8 9 10 |
# File 'lib/sinatra/routing_plugin/named_route.rb', line 7 def initialize(app, *names) @app = app @names = names.flatten end |
Instance Method Details
#map(*args, &block) ⇒ Object
Used to define the url mappings for child aliases within a namespace Invokes map on the application itself, appending the namespace to the route NamedRoute.new(@app, :admin).map(:show).to(‘/admin/show’) is equivalent to NamedRoute.new(@app, :admin, :show).to(‘/admin/show’)
22 23 24 |
# File 'lib/sinatra/routing_plugin/named_route.rb', line 22 def map(*args, &block) @app.map(*args.unshift(@names), &block) end |
#to(path) ⇒ Object
Used to define the url mapping to the supplied alias NamedRoute.new(@app, :account).to(‘/account/path’)
14 15 16 |
# File 'lib/sinatra/routing_plugin/named_route.rb', line 14 def to(path) @app.named_paths[@names.unshift(@app.app_name)] = path end |