Map

Routing map drawer. Encapsulates all logic required for drawing maps:
namespaces, resources, get, post, put, ..., all requests

@param Object app - RailwayJS or ExpressJS application
@param Function bridge - some bridge method that will server requests from
routing map to application

Usage example:

var map = new require('railway-routes').Map(app, handler);
map.resources('posts');
map.namespace('admin', function (admin) {
   admin.resources('users');
});

Example handler loads controller and performs required action:

function handler(ns, controller, action) {
    try {
        var ctlFile = './controllers/' + ns + controller + '_controller';
        var responseHandler =  require(ctlFile)[action];
    } catch(e) <strong></strong>
    return responseHandler || function (req, res) {
        res.send('Handler not found for ' + ns + controller + '#' + action);
    };
}
Source code

Instance methods Helper methods

Map.prototype.root

Declared as function (handler, middleware, options)

Map root url

Source code

Map.prototype.addPath

Declared as function (templatePath, action, helperName)

Add path helper to pathTo collection

Source code

Map.prototype.resources

Declared as function (name, params, actions)

Resources mapper

Example

map.resources('users');
Source code

Map.prototype.resource

Declared as function(name, params, actions)
Source code

Map.prototype.subroutes

Declared as function (name, subroutes)
Source code

Map.prototype.addRoutes

Declared as function (path, customBridge)

Load routing map from module at path. Module should have routes function
or export single function:

module.exports = function (map) {
    map.resources('books');
});
Source code

Map.prototype.collection

Declared as function (actions)

Syntax sugar for nested routes for collection
this method only can be used in context of nested actions

Example:

map.resources('posts', function (post) {
    post.collection(function (posts) {
        posts.del('destroyAll', 'posts#destroyAll');
    });
});
Source code

camelize

Declared as function camelize(str)
Source code