ActionView::AbstractTemplate (Class)

In: lib/action_view/abstract_template.rb
lib/action_view/helpers/active_record_helper.rb
Parent: Object

Attributes

assigns  [RW] 
base_path  [RW] 
controller  [RW] 
first_render  [R] 
template_extension  [RW] 

Public Class methods

[Source]

    # File lib/action_view/abstract_template.rb, line 12
12:     def self.load_helpers(helper_dir)
13:       Dir.foreach(helper_dir) do |helper_file| 
14:         next unless helper_file =~ /_helper.rb$/
15:         require helper_dir + helper_file
16:         helper_module_name = helper_file.capitalize.gsub(/_([a-z])/) { |m| $1.capitalize }[0..-4]
17: 
18:         class_eval("include ActionView::Helpers::#{helper_module_name}") if Helpers.const_defined?(helper_module_name)
19:       end
20:     end

[Source]

    # File lib/action_view/abstract_template.rb, line 22
22:     def initialize(base_path = nil, assigns_for_first_render = {}, controller = nil)
23:       @base_path, @template_extension, @assigns = base_path, template_extension, assigns_for_first_render
24:       @controller = controller
25:       @template_extension = "rhtml"
26:     end

Public Instance methods

[Source]

    # File lib/action_view/abstract_template.rb, line 28
28:     def render_file(template_path, use_full_path = true, local_assigns = {})
29:       @first_render      = template_path if @first_render.nil?
30:       template_file_name = use_full_path ? full_template_path(template_path) : template_path
31:       template_source    = read_template_file(template_file_name)
32: 
33:       begin
34:         render_template(template_source, local_assigns)
35:       rescue Exception => e
36:         if TemplateError === e
37:           e.sub_template_of(template_file_name)
38:           raise e
39:         else
40:           raise TemplateError.new(@base_path, template_file_name, @assigns, template_source, e)
41:         end
42:       end
43:     end

[Source]

    # File lib/action_view/abstract_template.rb, line 45
45:     def render(template_path, local_assigns = {})
46:       render_file(template_path, true, local_assigns)
47:     end

[Source]

    # File lib/action_view/abstract_template.rb, line 49
49:     def render_partial(partial_name, object = nil, local_assigns = {})
50:       object ||= controller.instance_variable_get("@#{partial_name}")
51:       render("#{controller.send(:controller_name)}/_#{partial_name}", { partial_name => object }.merge(local_assigns))
52:     end

[Source]

    # File lib/action_view/abstract_template.rb, line 54
54:     def render_collection_of_partials(partial_name, collection, partial_spacer_template = nil)
55:       collection_of_partials = collection.collect { |element| render_partial(partial_name, element) }
56:       partial_spacer_template ? 
57:         collection_of_partials.join(render("#{controller.send(:controller_name)}/_#{partial_spacer_template}")) : 
58:         collection_of_partials
59:     end

Must be implemented by concrete template class

[Source]

    # File lib/action_view/abstract_template.rb, line 62
62:     def render_template(template) end

[Source]

    # File lib/action_view/abstract_template.rb, line 63
63:     def file_exists?(template_path) end

[Validate]