Merged Rails 2.1 compatibility branch.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@1623 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2008-07-04 17:58:14 +00:00
parent 22558f7709
commit 7cdd88a6ce
32 changed files with 629 additions and 421 deletions

View File

@@ -1,3 +1,9 @@
require 'rfpdf'
ActionView::Base::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

View File

@@ -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
@@ -45,6 +47,14 @@ module RFPDF
:temp_dir => "#{File.expand_path(RAILS_ROOT)}/tmp"
}.merge(@action_view.controller.instance_eval{ @options_for_rfpdf } || {}).with_indifferent_access
end
def self.compilable?
false
end
def compilable?
self.class.compilable?
end
def render(template, local_assigns = {})
@pdf_name = "Default.pdf" if @pdf_name.nil?
@@ -66,7 +76,7 @@ module RFPDF
local_assigns.each do |key,val|
class << self; self; end.send(:define_method,key){ val }
end
ERB.new(template).result(binding)
ERB.new(@@backward_compatibility_mode == true ? template : template.source).result(binding)
end
end