Moved TemplateHandlers to Base

This commit is contained in:
Joshua Peek 2008-07-03 12:48:00 -05:00
parent 75e04b5295
commit 42d215a925
6 changed files with 13 additions and 9 deletions

View File

@ -151,6 +151,7 @@ module ActionView #:nodoc:
#
# See the ActionView::Helpers::PrototypeHelper::GeneratorMethods documentation for more details.
class Base
extend TemplateHandlers
include ERB::Util
attr_accessor :base_path, :assigns, :template_extension, :first_render

View File

@ -32,7 +32,7 @@ module ActionView
# <i>Topics listed alphabetically</i>
# <% end %>
def cache(name = {}, options = nil, &block)
handler = Template.handler_class_for_extension(current_render_extension.to_sym)
handler = Base.handler_class_for_extension(current_render_extension.to_sym)
handler.new(@controller).cache_fragment(block, name, options)
end
end

View File

@ -7,7 +7,7 @@ module ActionView #:nodoc:
@extension = type
@locals = locals || {}
@handler = self.class.handler_class_for_extension(@extension).new(@view)
@handler = Base.handler_class_for_extension(@extension).new(@view)
end
def method_key

View File

@ -1,6 +1,9 @@
module ActionView #:nodoc:
class Template #:nodoc:
extend TemplateHandlers
class << self
# TODO: Deprecate
delegate :register_template_handler, :to => 'ActionView::Base'
end
attr_accessor :locals
attr_reader :handler, :path, :extension, :filename, :method
@ -20,7 +23,7 @@ module ActionView #:nodoc:
set_extension_and_file_name
@locals = locals || {}
@handler = self.class.handler_class_for_extension(@extension).new(@view)
@handler = Base.handler_class_for_extension(@extension).new(@view)
end
def render_template

View File

@ -40,7 +40,7 @@ class MabView < ActionView::TemplateHandler
end
end
ActionView::Template::register_template_handler :mab, MabView
ActionView::Base.register_template_handler :mab, MabView
class LayoutAutoDiscoveryTest < Test::Unit::TestCase
def setup

View File

@ -101,12 +101,12 @@ class ViewRenderTest < Test::Unit::TestCase
end
def test_render_inline_with_custom_type
ActionView::Template.register_template_handler :foo, CustomHandler
ActionView::Base.register_template_handler :foo, CustomHandler
assert_equal '["Hello, World!", {}]', @view.render(:inline => "Hello, World!", :type => :foo)
end
def test_render_inline_with_locals_and_custom_type
ActionView::Template.register_template_handler :foo, CustomHandler
ActionView::Base.register_template_handler :foo, CustomHandler
assert_equal '["Hello, <%= name %>!", {:name=>"Josh"}]', @view.render(:inline => "Hello, <%= name %>!", :locals => { :name => "Josh" }, :type => :foo)
end
@ -121,12 +121,12 @@ class ViewRenderTest < Test::Unit::TestCase
end
def test_render_inline_with_compilable_custom_type
ActionView::Template.register_template_handler :foo, CompilableCustomHandler
ActionView::Base.register_template_handler :foo, CompilableCustomHandler
assert_equal 'locals: {}, source: "Hello, World!"', @view.render(:inline => "Hello, World!", :type => :foo)
end
def test_render_inline_with_locals_and_compilable_custom_type
ActionView::Template.register_template_handler :foo, CompilableCustomHandler
ActionView::Base.register_template_handler :foo, CompilableCustomHandler
assert_equal 'locals: {:name=>"Josh"}, source: "Hello, <%= name %>!"', @view.render(:inline => "Hello, <%= name %>!", :locals => { :name => "Josh" }, :type => :foo)
end
end