lib/temple/templates/rails.rb
unless Object.const_defined?(:Rails) raise "Rails is not loaded - Temple::Templates::Rails cannot be used" end if ::Rails::VERSION::MAJOR < 3 raise "Temple supports only Rails 3.x and greater, your Rails version is #{::Rails::VERSION::STRING}" end module Temple module Templates if ::Rails::VERSION::MAJOR == 3 && ::Rails::VERSION::MINOR < 1 class Rails < ActionView::TemplateHandler include ActionView::TemplateHandlers::Compilable extend Mixins::Template def compile(template) self.class.build_engine(:streaming => false, # Overwrite option: No streaming support in Rails < 3.1 :file => template.identifier).call(template.source) end def self.register_as(name) ActionView::Template.register_template_handler name.to_sym, self end end else class Rails extend Mixins::Template def call(template) self.class.build_engine(:file => template.identifier).call(template.source) end def supports_streaming? self.class.default_options[:streaming] end def self.register_as(name) ActionView::Template.register_template_handler name.to_sym, new end end end end end