diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2009-08-01 18:34:41 -0700 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2009-08-01 18:34:41 -0700 |
commit | a606727606cc0725a39748dd9d310b2b064e3ca7 (patch) | |
tree | be6a576c37bee062433de27bc3e7f61714ce7b51 /activesupport | |
parent | cdf60e46cc01e5f7b14e95a0b7d914516fcdcbc1 (diff) | |
download | rails-a606727606cc0725a39748dd9d310b2b064e3ca7.tar.gz rails-a606727606cc0725a39748dd9d310b2b064e3ca7.tar.bz2 rails-a606727606cc0725a39748dd9d310b2b064e3ca7.zip |
Extract String#bytesize shim
Diffstat (limited to 'activesupport')
3 files changed, 14 insertions, 3 deletions
diff --git a/activesupport/lib/active_support/core_ext/string/bytesize.rb b/activesupport/lib/active_support/core_ext/string/bytesize.rb new file mode 100644 index 0000000000..ed051b921e --- /dev/null +++ b/activesupport/lib/active_support/core_ext/string/bytesize.rb @@ -0,0 +1,5 @@ +unless '1.9'.respond_to?(:bytesize) + class String + alias :bytesize :size + end +end diff --git a/activesupport/lib/active_support/core_ext/string/interpolation.rb b/activesupport/lib/active_support/core_ext/string/interpolation.rb index d459c03d39..d9159b690a 100644 --- a/activesupport/lib/active_support/core_ext/string/interpolation.rb +++ b/activesupport/lib/active_support/core_ext/string/interpolation.rb @@ -6,6 +6,7 @@ =end if RUBY_VERSION < '1.9' + require 'active_support/core_ext/string/bytesize' # KeyError is raised by String#% when the string contains a named placeholder # that is not contained in the given arguments hash. Ruby 1.9 includes and @@ -24,8 +25,6 @@ if RUBY_VERSION < '1.9' # the meaning of the msgids using "named argument" instead of %s/%d style. class String - # For older ruby versions, such as ruby-1.8.5 - alias :bytesize :size unless instance_methods.find {|m| m.to_s == 'bytesize'} alias :interpolate_without_ruby_19_syntax :% # :nodoc: INTERPOLATION_PATTERN = Regexp.union( @@ -90,4 +89,4 @@ if RUBY_VERSION < '1.9' end end end -end
\ No newline at end of file +end diff --git a/activesupport/test/core_ext/string_ext_test.rb b/activesupport/test/core_ext/string_ext_test.rb index a23d3f6fef..1005a7e7ad 100644 --- a/activesupport/test/core_ext/string_ext_test.rb +++ b/activesupport/test/core_ext/string_ext_test.rb @@ -345,3 +345,10 @@ class TestGetTextString < Test::Unit::TestCase assert_raises(ArgumentError) { "%{name} %f" % [1.0, 2.0] } end end + +class StringBytesizeTest < Test::Unit::TestCase + def test_bytesize + assert_respond_to 'foo', :bytesize + assert_equal 3, 'foo'.bytesize + end +end |