module AbstractController::Rendering - actionpack-4.2.4 Documentation

# module AbstractController::Rendering

### Constants

DEFAULT_PROTECTED_INSTANCE_VARIABLES

### Public Instance Methods

_normalize_args(action=nil, options={}) click to toggle source

Normalize args by converting render “foo” to render :action => “foo” and render “foo/bar” to render :file => “foo/bar”. :api: plugin

    # File lib/abstract_controller/rendering.rb, line 79
    def _normalize_args(action=nil, options={})
      if action.is_a? Hash
        action
      else
        options
      end
    end

_normalize_options(options) click to toggle source

Normalize options. :api: plugin

    # File lib/abstract_controller/rendering.rb, line 89
    def _normalize_options(options)
      options
    end

_normalize_render(*args, &block) click to toggle source

Normalize args and options. :api: private

    # File lib/abstract_controller/rendering.rb, line 106
    def _normalize_render(*args, &block)
      options = _normalize_args(*args, &block)
      #TODO: remove defined? when we restore AP <=> AV dependency
      if defined?(request) && request && request.variant.present?
        options[:variant] = request.variant
      end
      _normalize_options(options)
      options
    end

_process_format(format, options = {}) click to toggle source

Process the rendered format. :api: private

    # File lib/abstract_controller/rendering.rb, line 101
    def _process_format(format, options = {})
    end

_process_options(options) click to toggle source

Process extra options. :api: plugin

    # File lib/abstract_controller/rendering.rb, line 95
    def _process_options(options)
      options
    end

render(*args, &block) click to toggle source

Normalize arguments, options and then delegates #render_to_body and sticks the result in self.response_body. :api: public

    # File lib/abstract_controller/rendering.rb, line 23
    def render(*args, &block)
      options = _normalize_render(*args, &block)
      self.response_body = render_to_body(options)
      _process_format(rendered_format, options) if rendered_format
      self.response_body
    end

render_to_body(options = {}) click to toggle source

Performs the actual template rendering. :api: public

    # File lib/abstract_controller/rendering.rb, line 48
    def render_to_body(options = {})
    end

render_to_string(*args, &block) click to toggle source

Raw rendering of a template to a string.

It is similar to render, except that it does not set the response_body and it should be guaranteed to always return a string.

If a component extends the semantics of response_body (as Action Controller extends it to be anything that responds to the method each), this method needs to be overridden in order to still return a string. :api: plugin

    # File lib/abstract_controller/rendering.rb, line 41
    def render_to_string(*args, &block)
      options = _normalize_render(*args, &block)
      render_to_body(options)
    end

rendered_format() click to toggle source

Returns Content-Type of rendered content :api: public

    # File lib/abstract_controller/rendering.rb, line 53
    def rendered_format
      Mime::TEXT
    end

view_assigns() click to toggle source

This method should return a hash with assigns. You can overwrite this configuration per controller. :api: public

    # File lib/abstract_controller/rendering.rb, line 66
    def view_assigns
      protected_vars = _protected_ivars
      variables      = instance_variables

      variables.reject! { |s| protected_vars.include? s }
      variables.each_with_object({}) { |name, hash|
        hash[name.slice(1, name.length)] = instance_variable_get(name)
      }
    end