 
   # ~> Shortcuts
 
-  ###
-  Shortcut for application navigate
+  ###*
+    Shortcut for application navigate.
 
-  @param [String] url URL to navigate
+    Navigate to the given URL.
+
+    @method navigate
+    @param url {String} URL to navigate to.
   ###
   navigate:( url )->
 

Model = require 'theoricus/mvc/model'
View = require 'theoricus/mvc/view'
Fetcher = require 'theoricus/mvc/lib/fetcher'

module.exports = class Controller

  ###
  @param [theoricus.Theoricus] @the   Shortcut for app's instance
  ###
  _boot: ( @the ) -> @

  ###
  Build a default action ( renders the view passing all model records as data)
  in case the controller doesn't have an action for current process call

  @param [theoricus.core.Process] process path to view on the app tree
  ###
  _build_action: ( process ) ->
    ( params, fn )=>

  @param [String] path  Path to view on the app tree
  @param [String] data  data to be rendered on the template
  ###

  ###*
    Responsible for rendering the View.

    Usually, this method is executed in the controller action mapped with the `route`.
    
    @method render
    @param path {String} View's file path. 
    @param data {Object} Data to be passed to the view. 

    @example
        index:(id)-> # Controller action
            render "app/views/index", Model.first()
  ###
  render:( path, data )->
    @the.factory.view path, (view)=>
      
