use action view erubis for rails 3

Change-Id: I1f9cb0a894ce7a1af63b03d432396f7d911c5bf6
Reviewed-on: https://gerrit.instructure.com/29790
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
This commit is contained in:
James Williams 2014-02-07 09:27:13 -07:00
parent d4fba8bc78
commit aadea501ed
1 changed files with 31 additions and 31 deletions

View File

@ -1,44 +1,44 @@
$stdout, stdout_saved = (Class.new do def puts(string); end; def write(string); end; end).new, $stdout
if CANVAS_RAILS2
$stdout, stdout_saved = (Class.new do def puts(string); end; def write(string); end; end).new, $stdout
require 'erubis/helpers/rails_helper'
end
$stdout = stdout_saved
module RailsXss
class Erubis < ::Erubis::Eruby
def add_preamble(src)
src << "@output_buffer = ActiveSupport::SafeBuffer.new;"
end
$stdout = stdout_saved
def add_text(src, text)
return if text.empty?
src << "@output_buffer.safe_concat('" << escape_text(text) << "');"
end
module RailsXss
class Erubis < ::Erubis::Eruby
def add_preamble(src)
src << "@output_buffer = ActiveSupport::SafeBuffer.new;"
end
BLOCK_EXPR = /\s+(do|\{)(\s*\|[^|]*\|)?\s*\Z/
def add_text(src, text)
return if text.empty?
src << "@output_buffer.safe_concat('" << escape_text(text) << "');"
end
def add_expr_literal(src, code)
if code =~ BLOCK_EXPR
src << "@output_buffer.append= " << code
else
src << '@output_buffer << ((' << code << ').to_s);'
BLOCK_EXPR = /\s+(do|\{)(\s*\|[^|]*\|)?\s*\Z/
def add_expr_literal(src, code)
if code =~ BLOCK_EXPR
src << "@output_buffer.append= " << code
else
src << '@output_buffer << ((' << code << ').to_s);'
end
end
def add_expr_escaped(src, code)
src << '@output_buffer << ' << escaped_expr(code) << ';'
end
def add_postamble(src)
src << '@output_buffer.to_s'
end
end
def add_expr_escaped(src, code)
src << '@output_buffer << ' << escaped_expr(code) << ';'
end
def add_postamble(src)
src << '@output_buffer.to_s'
end
end
end
if CANVAS_RAILS2
Erubis::Helpers::RailsHelper.engine_class = RailsXss::Erubis
Erubis::Helpers::RailsHelper.show_src = false
else
ActionView::Template.register_default_template_handler :erb, RailsXss::Erubis
ActionView::Template.register_template_handler :rhtml, RailsXss::Erubis
end
module RailsXss
Erubis = ActionView::Template::Handlers::Erubis
end
end