Module: Stache::Util

Defined in:
lib/stache/util.rb

Overview

Basically a dumping ground for code that didn’t fit anywhere else

Class Method Summary collapse

Class Method Details

.av_template_class(name) ⇒ Object

From HAML Returns an ::ActionView::Template* class. In pre-3.0 versions of Rails, most of these classes were of the form ‘::ActionView::TemplateFoo`, while afterwards they were of the form `::ActionView::Template::Foo`.

Parameters:

  • name (#to_s)

    The name of the class to get. For example, ‘:Error` will return `::ActionView::TemplateError` or `::ActionView::Template::Error`.



13
14
15
16
17
18
19
# File 'lib/stache/util.rb', line 13

def self.av_template_class(name)
  if ::ActionView::Template.const_defined?(name)
    ::ActionView::Template.const_get(name)
  else
    ::ActionView.const_get("Template#{name}")
  end
end

.needs_compilable?Boolean

Returns:

  • (Boolean)


21
22
23
24
25
26
27
28
29
# File 'lib/stache/util.rb', line 21

def self.needs_compilable?
  (
    (defined?(::ActionView::TemplateHandlers) && defined?(::ActionView::TemplateHandlers::Compilable)) ||
    (defined?(::ActionView::Template) && defined?(::ActionView::Template::Handlers) && defined?(::ActionView::Template::Handlers::Compilable))
  ) &&
    # In Rails 3.1+, we don't need to include Compilable.
  Stache::Util.av_template_class(:Handlers)::ERB.include?( Stache::Util.av_template_class(:Handlers)::Compilable )
  
end