Class: ActionView::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/template_wrapper/mixin.rb,
lib/template_wrapper/mixins/rails2.rb

Instance Method Summary collapse

Instance Method Details

#render(options = {}, local_assigns = {}, &block) ⇒ Object

File actionpack/lib/action_view/base.rb, line 255



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/template_wrapper/mixins/rails2.rb', line 5

def render(options = {}, local_assigns = {}, &block) #:nodoc:
  local_assigns ||= {}

  case options
  when Hash
    options = options.reverse_merge(:locals => {})
    if options[:layout]
      content = _render_with_layout(options, local_assigns, &block)
    elsif options[:file]
      template = self.view_paths.find_template(options[:file], template_format)
      content = template.render_template(self, options[:locals])
      template_name = options[:file]
    elsif options[:partial]
      content = render_partial(options)
      template_name = options[:partial]
    elsif options[:inline]
      content = InlineTemplate.new(options[:inline], options[:type]).render(self, options[:locals])
      template_name = "INLINE!" 
    elsif options[:text]
      content = options[:text]
    end
  when :update
    update_page(&block)
  else
    content = render_partial(:partial => options, :locals => local_assigns)
  end
  template_name = template_name.to_s if template_name.class.name == "NilClass" || template_name.class.name == 'ActionView::ReloadableTemplate' || template_name.class.name == 'ActionView::Template'
  if content.class.name != "String" && content.class.name != "ActiveSupport::SafeBuffer"
    content = content
  end
    if (template_name !~ /\./)
      arr = template_name.split("/")
      if arr.count > 1 
        arr[-1] =  "_" << arr[-1] << ".html.erb"
        template_name = arr.join("/")
      else
        template_name =  "_" << template_name << ".html.erb"
      end 
    end
    
    if template_name !~ /\//
      template_name = controller.controller_name << "/" << template_name
    end
    
    if template_name !~ /#{Rails.root}/
      template_name = "app/views/" << template_name 
    else
      template_name = template_name.gsub("#{Rails.root}/",'')
    end
     options[:layout] || options[:text] ? content : TemplateWrapper::wrap(template_name, content) 
end

#skip_wrap(path, type = :blank) ⇒ Object

Do not wrap this template



4
5
6
# File 'lib/template_wrapper/mixin.rb', line 4

def skip_wrap(path, type=:blank)
  TemplateWrapper::skip_wrap(path, type)
end