aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/core_ext/string/output_safety.rb
diff options
context:
space:
mode:
authorPavel Pravosud <pavel@pravosud.com>2014-03-31 22:33:53 -0400
committerPavel Pravosud <pavel@pravosud.com>2014-03-31 22:33:53 -0400
commit6df507e884baa8566b685bb1c555e42185570160 (patch)
tree8bd96a46636b31ea3d5d60841fe0c21c774d4f24 /activesupport/lib/active_support/core_ext/string/output_safety.rb
parent03bf81a5040f08970fc5d091af38d6e2afc7113c (diff)
downloadrails-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/core_ext/string/output_safety.rb')
-rw-r--r--activesupport/lib/active_support/core_ext/string/output_safety.rb19
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