def render(context_scope = nil)
      context_scope ||= options[:scope] || self

      set_object_instance_variable if context_scope == self

      locals = { :object => object }.merge(options.fetch(:locals, {}))

      engine.apply(context_scope, locals).render
    end
def render(context_scope = nil)
      context_scope ||= options[:scope] || self

      set_object_instance_variable if context_scope == self

      locals = { :object => object }.merge(options.fetch(:locals, {}))

      engine.apply(context_scope, locals).render
    end
Public: Instantiate a new renderer
 This is a standalone class used for rendering rabl templates
 outside of a framework like Rails. You may want to use
 this when using Rabl to render the request objects passed to
 message queues.

 Example:
   renderer = Rabl::Renderer.new('template_name', user, { :format => 'json', :view_path => 'app/views' })
   renderer.render # => '{"user":{"name": "ivan" }}'

 Public: Actually render the template to the requested output format.

 - context_scope:
     Override the render context_scope to the 'context_scope' object. Defaults to self.

 Returns: And object representing the tranformed object in the requested format.
   e.g. json, xml, bson, plist