diff --git a/rails-2.1/vendor/plugins/rfpdf/init.rb b/rails-2.1/vendor/plugins/rfpdf/init.rb index b59c853cd..339bacfdb 100644 --- a/rails-2.1/vendor/plugins/rfpdf/init.rb +++ b/rails-2.1/vendor/plugins/rfpdf/init.rb @@ -1,3 +1,9 @@ require 'rfpdf' -ActionView::Template::register_template_handler 'rfpdf', RFPDF::View +begin + ActionView::Template::register_template_handler 'rfpdf', RFPDF::View +rescue NameError + # Rails < 2.1 + RFPDF::View.backward_compatibility_mode = true + ActionView::Base::register_template_handler 'rfpdf', RFPDF::View +end diff --git a/rails-2.1/vendor/plugins/rfpdf/lib/rfpdf/view.rb b/rails-2.1/vendor/plugins/rfpdf/lib/rfpdf/view.rb index b93fbe76e..6b6267331 100644 --- a/rails-2.1/vendor/plugins/rfpdf/lib/rfpdf/view.rb +++ b/rails-2.1/vendor/plugins/rfpdf/lib/rfpdf/view.rb @@ -30,6 +30,8 @@ module RFPDF class View + @@backward_compatibility_mode = false + cattr_accessor :backward_compatibility_mode def initialize(action_view) @action_view = action_view @@ -74,7 +76,7 @@ module RFPDF local_assigns.each do |key,val| class << self; self; end.send(:define_method,key){ val } end - ERB.new(template.source).result(binding) + ERB.new(@@backward_compatibility_mode == true ? template : template.source).result(binding) end end