 		@_scopedAction = null
 		@_scopedPrefix = ''
 
+	all: (path, action) ->
+		return @app.all @_scopedPrefix + path, @_makeAction(action)
+
 	get: (path, action) ->
-		action = @_makeAction action
-		return @app.get @_scopedPrefix + path, action
+		return @app.get @_scopedPrefix + path, @_makeAction(action)
+
+	post: (path, action) ->
+		return @app.post @_scopedPrefix + path, @_makeAction(action)
+
+	put: (path, action) ->
+		return @app.put @_scopedPrefix + path, @_makeAction(action)
+
+	delete: (path, action) ->
+		return @app.delete @_scopedPrefix + path, @_makeAction(action)
 
 	_makeAction: (action) ->
 		if typeof action is 'function'

				action =
					method: action

			action = Object.assign {}, @_scopedAction, action
			method = action.controller[action.method]
			controller = action.controller
			return ->

	constructor: (@app) ->

	group: (action, callback) ->
		@_scopedAction = Object.assign { }, action

		if @_scopedAction.prefix
			@_scopedPrefix = @_scopedAction.prefix
