From 6afc900191c8edc6f41966827e1cd03ced3f1b17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Wed, 4 May 2011 11:26:02 +0200 Subject: Move prefixes to view paths as they are now a lookup context dependency. --- actionpack/lib/abstract_controller/helpers.rb | 2 -- actionpack/lib/abstract_controller/rendering.rb | 21 --------------------- actionpack/lib/abstract_controller/view_paths.rb | 24 ++++++++++++++++++++++++ actionpack/lib/action_view/test_case.rb | 2 ++ actionpack/test/template/test_case_test.rb | 4 ++++ 5 files changed, 30 insertions(+), 23 deletions(-) (limited to 'actionpack') diff --git a/actionpack/lib/abstract_controller/helpers.rb b/actionpack/lib/abstract_controller/helpers.rb index 0ff1c0491a..dc9778a416 100644 --- a/actionpack/lib/abstract_controller/helpers.rb +++ b/actionpack/lib/abstract_controller/helpers.rb @@ -4,8 +4,6 @@ module AbstractController module Helpers extend ActiveSupport::Concern - include Rendering - included do class_attribute :_helpers self._helpers = Module.new diff --git a/actionpack/lib/abstract_controller/rendering.rb b/actionpack/lib/abstract_controller/rendering.rb index 8789168ca7..a5f983a55b 100644 --- a/actionpack/lib/abstract_controller/rendering.rb +++ b/actionpack/lib/abstract_controller/rendering.rb @@ -62,20 +62,6 @@ module AbstractController end end end - - def parent_prefixes - @parent_prefixes ||= begin - parent_controller = superclass - prefixes = [] - - until parent_controller.abstract? - prefixes << parent_controller.controller_path - parent_controller = parent_controller.superclass - end - - prefixes - end - end end attr_writer :view_context_class @@ -135,13 +121,6 @@ module AbstractController view_renderer.render(view_context, options) end - # The prefixes used in render "foo" shortcuts. - def _prefixes - @_prefixes ||= begin - parent_prefixes = self.class.parent_prefixes - parent_prefixes.dup.unshift(controller_path) - end - end private diff --git a/actionpack/lib/abstract_controller/view_paths.rb b/actionpack/lib/abstract_controller/view_paths.rb index a777cf866d..0893459e24 100644 --- a/actionpack/lib/abstract_controller/view_paths.rb +++ b/actionpack/lib/abstract_controller/view_paths.rb @@ -11,6 +11,30 @@ module AbstractController delegate :find_template, :template_exists?, :view_paths, :formats, :formats=, :locale, :locale=, :to => :lookup_context + module ClassMethods + def parent_prefixes + @parent_prefixes ||= begin + parent_controller = superclass + prefixes = [] + + until parent_controller.abstract? + prefixes << parent_controller.controller_path + parent_controller = parent_controller.superclass + end + + prefixes + end + end + end + + # The prefixes used in render "foo" shortcuts. + def _prefixes + @_prefixes ||= begin + parent_prefixes = self.class.parent_prefixes + parent_prefixes.dup.unshift(controller_path) + end + end + # LookupContext is the object responsible to hold all information required to lookup # templates, i.e. view paths and details. Check ActionView::LookupContext for more # information. diff --git a/actionpack/lib/action_view/test_case.rb b/actionpack/lib/action_view/test_case.rb index 14e032790d..43f9bffe18 100644 --- a/actionpack/lib/action_view/test_case.rb +++ b/actionpack/lib/action_view/test_case.rb @@ -1,4 +1,5 @@ require 'active_support/core_ext/object/blank' +require 'active_support/core_ext/module/delegation' require 'action_controller' require 'action_controller/test_case' require 'action_view' @@ -43,6 +44,7 @@ module ActionView include AbstractController::Helpers include ActionView::Helpers + delegate :lookup_context, :to => :controller attr_accessor :controller, :output_buffer, :rendered module ClassMethods diff --git a/actionpack/test/template/test_case_test.rb b/actionpack/test/template/test_case_test.rb index 11c355dc6d..cd4618a505 100644 --- a/actionpack/test/template/test_case_test.rb +++ b/actionpack/test/template/test_case_test.rb @@ -73,6 +73,10 @@ module ActionView view.request.flash.expects(:alert).with("this message") view.alert("this message") end + + test "uses controller lookup context" do + assert_equal self.lookup_context, @controller.lookup_context + end end class ClassMethodsTest < ActionView::TestCase -- cgit v1.2.3