diff options
author | Pavel Pravosud <pavel@pravosud.com> | 2014-03-31 22:33:53 -0400 |
---|---|---|
committer | Pavel Pravosud <pavel@pravosud.com> | 2014-03-31 22:33:53 -0400 |
commit | 6df507e884baa8566b685bb1c555e42185570160 (patch) | |
tree | 8bd96a46636b31ea3d5d60841fe0c21c774d4f24 /activesupport/lib/active_support | |
parent | 03bf81a5040f08970fc5d091af38d6e2afc7113c (diff) | |
download | rails-6df507e884baa8566b685bb1c555e42185570160.tar.gz rails-6df507e884baa8566b685bb1c555e42185570160.tar.bz2 rails-6df507e884baa8566b685bb1c555e42185570160.zip |
Make AS::SafeBuffer#prepend act like String#prepend
Make `#prepend` method modify instance in-place and return self
instead of just returning modified value. That is exactly what
`#prepend!` method was doing previously, so it's deprecated from
now on.
Diffstat (limited to 'activesupport/lib/active_support')
-rw-r--r-- | activesupport/lib/active_support/core_ext/string/output_safety.rb | 19 |
1 files changed, 13 insertions, 6 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 eb02b6a442..db80cfa737 100644 --- a/activesupport/lib/active_support/core_ext/string/output_safety.rb +++ b/activesupport/lib/active_support/core_ext/string/output_safety.rb @@ -124,7 +124,7 @@ module ActiveSupport #:nodoc: class SafeBuffer < String UNSAFE_STRING_METHODS = %w( capitalize chomp chop delete downcase gsub lstrip next reverse rstrip - slice squeeze strip sub succ swapcase tr tr_s upcase prepend + slice squeeze strip sub succ swapcase tr tr_s upcase ) alias_method :original_concat, :concat @@ -169,15 +169,22 @@ module ActiveSupport #:nodoc: self[0, 0] end - def concat(value) - if !html_safe? || value.html_safe? - super(value) - else - super(ERB::Util.h(value)) + %w[concat prepend].each do |method_name| + define_method method_name do |value| + if !html_safe? || value.html_safe? + super(value) + else + super(ERB::Util.h(value)) + end end end alias << concat + def prepend!(value) + ActiveSupport::Deprecation.deprecation_warning "ActiveSupport::SafeBuffer#prepend!", :prepend + prepend value + end + def +(other) dup.concat(other) end |