Skip to content

Commit

Permalink
make it work on the server, too
Browse files Browse the repository at this point in the history
  • Loading branch information
amccollum committed Apr 22, 2012
1 parent d63e725 commit 6d71b2d
Show file tree
Hide file tree
Showing 8 changed files with 102 additions and 139 deletions.
3 changes: 0 additions & 3 deletions Cakefile
@@ -1,9 +1,6 @@
fs = require('fs')
sys = require('sys')
{spawn, exec} = require('child_process')

package = JSON.parse(fs.readFileSync('package.json', 'utf8'))

execCmds = (cmds) ->
exec cmds.join(' && '), (err, stdout, stderr) ->
output = (stdout + stderr).trim()
Expand Down
8 changes: 3 additions & 5 deletions lib/ender.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

52 changes: 52 additions & 0 deletions lib/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

61 changes: 0 additions & 61 deletions lib/route.js

This file was deleted.

2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -8,7 +8,7 @@
"repositories": [{ "type": "git", "url": "https://github.com/amccollum/route.git" }],
"licenses": [{ "type": "MIT", "url": "http://opensource.org/licenses/mit-license.php" }],

"main": "lib/route.js",
"main": "lib/index.js",
"ender": "lib/ender.js",
"directories": { "lib": "lib" },

Expand Down
7 changes: 4 additions & 3 deletions src/ender.coffee
@@ -1,3 +1,4 @@
(($) ->
$.ender({ route: require('route') })
)(ender)
# (($) ->
# route = require('route')
#
# )(ender)
42 changes: 42 additions & 0 deletions src/index.coffee
@@ -0,0 +1,42 @@
route = exports ? (@['route'] = {})

class route.Router
_transformations: [
[ # Escape URL Special Characters
/([?=,\/])/g
'\\$1'
],

[ # Named Parameters
/:([\w\d]+)/g
'([^/]*)'
],

[ # Splat Parameters
/\*([\w\d]+)/g
'(.*?)'
],
]

constructor: ->
@routes = []

add: (routes) ->
for expr, fn of routes
pattern = expr
for [transformer, replacement] in @_transformations
pattern = pattern.replace(transformer, replacement)

@routes.push({ expr: expr, pattern: new RegExp(pattern), fn: fn })

return

run: (path, context) ->
results = []

for route in @routes
if (m = route.pattern.exec(path))
result = route.fn.apply(context, m.slice(1))
results.push(result) if result

return results
66 changes: 0 additions & 66 deletions src/route.coffee

This file was deleted.

0 comments on commit 6d71b2d

Please sign in to comment.