diff options
author | José Valim <jose.valim@plataformatec.com.br> | 2012-01-31 22:37:25 -0800 |
---|---|---|
committer | José Valim <jose.valim@plataformatec.com.br> | 2012-01-31 22:37:25 -0800 |
commit | 7179fad54d6df46f944ccdb404d02c2ef360d912 (patch) | |
tree | c3a6741e59eb83de8e6d96d059cc4685108d2b7c | |
parent | d613d607372d4be29773993994afcd4315718e51 (diff) | |
parent | 705a1d5b881604364a6891d16ae0ae43592b1c9c (diff) | |
download | rails-7179fad54d6df46f944ccdb404d02c2ef360d912.tar.gz rails-7179fad54d6df46f944ccdb404d02c2ef360d912.tar.bz2 rails-7179fad54d6df46f944ccdb404d02c2ef360d912.zip |
Merge pull request #4808 from route/mb_chars_as_json
Added as_json method for multibyte strings
-rw-r--r-- | activesupport/lib/active_support/multibyte/chars.rb | 4 | ||||
-rw-r--r-- | activesupport/test/multibyte_chars_test.rb | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/multibyte/chars.rb b/activesupport/lib/active_support/multibyte/chars.rb index ac61870871..7a0e1d458b 100644 --- a/activesupport/lib/active_support/multibyte/chars.rb +++ b/activesupport/lib/active_support/multibyte/chars.rb @@ -188,6 +188,10 @@ module ActiveSupport #:nodoc: chars(Unicode.tidy_bytes(@wrapped_string, force)) end + def as_json(options = nil) #:nodoc: + to_s.as_json(options) + end + %w(capitalize downcase reverse tidy_bytes upcase).each do |method| define_method("#{method}!") do |*args| @wrapped_string = send(method, *args).to_s diff --git a/activesupport/test/multibyte_chars_test.rb b/activesupport/test/multibyte_chars_test.rb index 63e7a35c01..90aa13b3e6 100644 --- a/activesupport/test/multibyte_chars_test.rb +++ b/activesupport/test/multibyte_chars_test.rb @@ -88,6 +88,9 @@ class MultibyteCharsTest < ActiveSupport::TestCase assert(('a'.mb_chars << 'b'.mb_chars).kind_of?(@proxy_class)) end + def test_should_return_string_as_json + assert_equal UNICODE_STRING, @chars.as_json + end end class MultibyteCharsUTF8BehaviourTest < ActiveSupport::TestCase |