123456789_123456789_123456789_123456789_123456789_

Module: ActionView::Rendering::ClassMethods

Relationships & Source Files
Defined in: actionview/lib/action_view/rendering.rb

Instance Attribute Summary

Instance Method Summary

Instance Attribute Details

#inherit_view_context_class?Boolean (readonly)

[ GitHub ]

  
# File 'actionview/lib/action_view/rendering.rb', line 52

def inherit_view_context_class?
  superclass.respond_to?(:view_context_class) &&
    supports_path? == superclass.supports_path? &&
    _routes.equal?(superclass._routes) &&
    _helpers.equal?(superclass._helpers)
end

Instance Method Details

#_helpers

[ GitHub ]

  
# File 'actionview/lib/action_view/rendering.rb', line 49

def _helpers
end

#_routes

[ GitHub ]

  
# File 'actionview/lib/action_view/rendering.rb', line 46

def _routes
end

#build_view_context_class(klass, supports_path, routes, helpers)

[ GitHub ]

  
# File 'actionview/lib/action_view/rendering.rb', line 59

def build_view_context_class(klass, supports_path, routes, helpers)
  if inherit_view_context_class?
    return superclass.view_context_class
  end

  Class.new(klass) do
    if routes
      include routes.url_helpers(supports_path)
      include routes.mounted_helpers
    end

    if helpers
      include helpers
    end
  end
end

#eager_load!

[ GitHub ]

  
# File 'actionview/lib/action_view/rendering.rb', line 76

def eager_load!
  super
  view_context_class
  nil
end

#view_context_class

[ GitHub ]

  
# File 'actionview/lib/action_view/rendering.rb', line 82

def view_context_class
  klass = ActionView::LookupContext::DetailsKey.view_context_class

  @view_context_class ||= build_view_context_class(klass, supports_path?, _routes, _helpers)

  if klass.changed?(@view_context_class)
    @view_context_class = build_view_context_class(klass, supports_path?, _routes, _helpers)
  end

  @view_context_class
end