   @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)=>
       

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 )=>


  # ~> Shortcuts

  ###*
    Shortcut for application navigate.

    Navigate to the given URL.

    @method navigate
    @param url {String} URL to navigate to.
  ###
  navigate:( url )->

