Class: Umlaut::Routes
- Inherits:
-
Object
- Object
- Umlaut::Routes
- Includes:
- RouteSets
- Defined in:
- lib/umlaut/routes.rb
Overview
Defined Under Namespace
Modules: RouteSets
Class Method Summary collapse
-
.register_routes(module_obj, route_set_methods = nil) ⇒ Object
Experimental functionality for a plugin to add routes that automatically will get applied by Umlaut::Routes.
Instance Method Summary collapse
- #draw ⇒ Object
-
#initialize(router, options = {}) ⇒ Routes
constructor
A new instance of Routes.
Methods included from RouteSets
#a_z, #admin, #export_email, #feedback, #javascript, #link_router, #open_search, #permalinks, #resolve, #resources, #root, #search
Constructor Details
#initialize(router, options = {}) ⇒ Routes
Returns a new instance of Routes.
13 14 15 16 |
# File 'lib/umlaut/routes.rb', line 13 def initialize(router, ={}) @router = router @options = end |
Class Method Details
.register_routes(module_obj, route_set_methods = nil) ⇒ Object
Experimental functionality for a plugin to add routes that automatically will get applied by Umlaut::Routes
Umlaut::Routes.register_routes( YourPlugin::RouteSets )
Where YourPlugin::RouteSets is a module containing methods that defines routes similar to Umlaut::Routes::RouteSets below.
If some methods included in the module are not route-defining methods, pass a second arg listing just those that are:
Umlaut::Routes.register_routes(YourPlugin::RouteSets, [:magic, :underwater])
All route_set_methods will be applied by default, but can be excluded on application with the standard Umlaut::RouteSet :only and :except args.
This design is somewhat experimental, we’ll see if it meets real world use cases with maintainable code.
43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/umlaut/routes.rb', line 43 def self.register_routes(module_obj, route_set_methods = nil) if route_set_methods.nil? # default to all methods defined in module route_set_methods = module_obj.instance_methods end include module_obj self.default_route_sets.concat route_set_methods return self end |
Instance Method Details
#draw ⇒ Object
18 19 20 21 22 |
# File 'lib/umlaut/routes.rb', line 18 def draw route_sets.each do |r| self.send(r) end end |