nl_tokens: Given an action and an optional set of parameters returns the URL to be used .
pl_tokens: function ( action ) { var url ; var error ; // Iterate over the routes, looking for a match. var routes = this . getRoutes ( ) ; for ( var i = 0 ; url === undefined && i < routes . length ; i ++ ) { try { // Simplify access. var route = routes [ i ] ; // Check the controller + method. If we find one, figure out the URL to return. if ( action == route . controller + '.' + route . method ) { var params = [ ] ; // If there are parameters, bind them. if ( arguments . length > 1 ) { // Turn them into a proper array. params = Array . prototype . slice . apply ( arguments ) ; // And drop the first entry (which was the action itself). params = params . <mask> ( 1 ) ; } // We always call bind, even with an empty array, to see if we generate an error. url = this . bindUrl ( route . path , params ) ; } } catch ( e ) { // Store the error in case we need to rethrow it. error = e ; } } // If we found a match, return it. if ( url !== undefined ) { return url ; } // Otherwise, throw an exception. else { // If we captured an earlier error, reuse that (since it implies we found a match but couldn't bind it). if ( error !== undefined ) { throw error ; } else { throw new Error ( "No matching action was found." ) ; } } }