diff options
author | makoto kuwata <kwa@kuwata-lab.com> | 2009-02-08 10:24:08 +0000 |
---|---|---|
committer | makoto kuwata <kwa@kuwata-lab.com> | 2009-02-08 10:24:08 +0000 |
commit | f8ded7ae98acda83aa5a2b4e2bc7406d613c6e6c (patch) | |
tree | e29617af2369dfea088d7ed9ab6d72c85624aa77 | |
parent | a447c71f74410e61ded45fb623f33e596fee8860 (diff) | |
download | erubis-f8ded7ae98acda83aa5a2b4e2bc7406d613c6e6c.tar.gz |
- [enhance] Rails 2.2 support
-rw-r--r-- | ChangeLog.txt | 6 | ||||
-rw-r--r-- | lib/erubis/helpers/rails_helper.rb | 37 |
2 files changed, 39 insertions, 4 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt index 72c92dc..db596a8 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -2,6 +2,12 @@ .?lastupdate: $Date$ .?version: $Rev$ +: Rev.125 (2009-02-08) + .- [enhance] Rails 2.2 support + +: Rev.124 (2009-02-07) + .- [release] 2.6.3 + : Rev.123 (2009-02-07) .- [change] packages are now built under 'build' directory .- [change] year of copyright is changed to '2006-2009'. diff --git a/lib/erubis/helpers/rails_helper.rb b/lib/erubis/helpers/rails_helper.rb index 6346ba6..11a2595 100644 --- a/lib/erubis/helpers/rails_helper.rb +++ b/lib/erubis/helpers/rails_helper.rb @@ -97,12 +97,12 @@ module Erubis if ::Erubis::Helpers::RailsHelper.preprocessing preprocessor = _create_preprocessor(template) template = preprocessor.evaluate(_preprocessing_context_object()) - logger.info "** Erubis: preprocessed==<<'END'\n#{template}END\n" if show_src + _logger_info "** Erubis: preprocessed==<<'END'\n#{template}END\n" if show_src end ## convert into ruby code src = klass.new(template, properties).src #src.insert(0, '_erbout = ') - logger.info "** Erubis: src==<<'END'\n#{src}END\n" if show_src + _logger_info "** Erubis: src==<<'END'\n#{src}END\n" if show_src return src end def _create_preprocessor(template) @@ -111,6 +111,9 @@ module Erubis def _preprocessing_context_object return self end + def _logger_info(message) + logger.info message + end end end @@ -134,11 +137,37 @@ end require 'action_pack/version' +rails22 = false if ActionPack::VERSION::MAJOR >= 2 ### Rails 2.X - if ActionPack::VERSION::MINOR >=1 ### Rails 2.1 or higher + if ActionPack::VERSION::MINOR >=2 ### Rails 2.2 or higher + + rails22 = true + module ActionView + module TemplateHandlers + class ErubisHandler < TemplateHandler + include Compilable + include ::Erubis::Helpers::RailsHelper::TemplateConverter + include ::Erubis::PreprocessingHelper + def compile(template) + #src = ::ERB.new("<% __in_erb_template=true %>#{template.source}", nil, erb_trim_mode, '@output_buffer').src + return _convert_template("<% __in_erb_template=true %>#{template.source}") + end + end + end + handler_klass = TemplateHandlers::ErubisHandler + Template.register_default_template_handler :erb, handler_klass + Template.register_template_handler :rhtml, handler_klass + end + module Erubis::Helpers::RailsHelper::TemplateConverter + def _logger_info(message) + $stderr.puts message # logger.info seems not available in Rails 2.2 + end + end + + elsif ActionPack::VERSION::MINOR >=1 ### Rails 2.1 module ActionView module TemplateHandlers # :nodoc: @@ -322,4 +351,4 @@ end ### ## finish ac = ActionController::Base.new ac.logger.info "** Erubis #{::Erubis::VERSION}" -#$stdout.puts "** Erubis #{::Erubis::VERSION}" +$stdout.puts "** Erubis #{::Erubis::VERSION}" if rails22 |