Merge pull request #10600 from aditya-kapoor/code_refactor

Removed Class Eval and used define_method instead for the SafeBuffer
This commit is contained in:
Rafael Mendonça França 2013-05-14 11:39:18 -07:00
commit 8ce3c1e5dd

@ -171,17 +171,15 @@ def encode_with(coder)
end end
UNSAFE_STRING_METHODS.each do |unsafe_method| UNSAFE_STRING_METHODS.each do |unsafe_method|
if 'String'.respond_to?(unsafe_method) if String.new.respond_to?(unsafe_method)
class_eval <<-EOT, __FILE__, __LINE__ + 1 define_method(unsafe_method) do |*args, &block|
def #{unsafe_method}(*args, &block) # def capitalize(*args, &block) to_str.send(unsafe_method, *args, &block)
to_str.#{unsafe_method}(*args, &block) # to_str.capitalize(*args, &block) end
end # end
def #{unsafe_method}!(*args) # def capitalize!(*args) define_method("#{unsafe_method}!") do |*args|
@html_safe = false # @html_safe = false @html_safe = false
super # super super(*args)
end # end end
EOT
end end
end end
end end