diff options
author | José Valim <jose.valim@gmail.com> | 2011-10-05 00:38:57 -0700 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2011-10-05 00:38:57 -0700 |
commit | ae4febdf841f4de2889c05ecd1b2b19e1d7f1697 (patch) | |
tree | aee627660b1d9e012474493f87ec0e7744ab108a /activesupport | |
parent | 4cea4ee6b54fee897b984a3c0288d12ce2d1efe1 (diff) | |
parent | 87eab595d86bc9fbb8ad3519ba435f609ca80218 (diff) | |
download | rails-ae4febdf841f4de2889c05ecd1b2b19e1d7f1697.tar.gz rails-ae4febdf841f4de2889c05ecd1b2b19e1d7f1697.tar.bz2 rails-ae4febdf841f4de2889c05ecd1b2b19e1d7f1697.zip |
Merge pull request #3229 from amatsuda/string_prepend
ruby193: String#prepend
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/lib/active_support/core_ext/string/output_safety.rb | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/activesupport/lib/active_support/core_ext/string/output_safety.rb b/activesupport/lib/active_support/core_ext/string/output_safety.rb index 2daf4016cd..5d7f74bb65 100644 --- a/activesupport/lib/active_support/core_ext/string/output_safety.rb +++ b/activesupport/lib/active_support/core_ext/string/output_safety.rb @@ -75,7 +75,7 @@ end module ActiveSupport #:nodoc: class SafeBuffer < String - UNSAFE_STRING_METHODS = ["capitalize", "chomp", "chop", "delete", "downcase", "gsub", "lstrip", "next", "reverse", "rstrip", "slice", "squeeze", "strip", "sub", "succ", "swapcase", "tr", "tr_s", "upcase"].freeze + UNSAFE_STRING_METHODS = ["capitalize", "chomp", "chop", "delete", "downcase", "gsub", "lstrip", "next", "reverse", "rstrip", "slice", "squeeze", "strip", "sub", "succ", "swapcase", "tr", "tr_s", "upcase", "prepend"].freeze alias_method :original_concat, :concat private :original_concat @@ -142,16 +142,18 @@ module ActiveSupport #:nodoc: end UNSAFE_STRING_METHODS.each do |unsafe_method| - class_eval <<-EOT, __FILE__, __LINE__ + 1 - def #{unsafe_method}(*args, &block) # def capitalize(*args, &block) - to_str.#{unsafe_method}(*args, &block) # to_str.capitalize(*args, &block) - end # end - - def #{unsafe_method}!(*args) # def capitalize!(*args) - @dirty = true # @dirty = true - super # super - end # end - EOT + if 'String'.respond_to?(unsafe_method) + class_eval <<-EOT, __FILE__, __LINE__ + 1 + def #{unsafe_method}(*args, &block) # def capitalize(*args, &block) + to_str.#{unsafe_method}(*args, &block) # to_str.capitalize(*args, &block) + end # end + + def #{unsafe_method}!(*args) # def capitalize!(*args) + @dirty = true # @dirty = true + super # super + end # end + EOT + end end protected |