Browse files

Change all calls to String#chars to String#mb_chars.

  • Loading branch information...
1 parent 0211722 commit 520c3f33c3f642ccab3a860cf5ee0b5530c7c4f1 @Manfred Manfred committed Sep 21, 2008
View
10 activesupport/lib/active_support/core_ext/string/access.rb
@@ -11,7 +11,7 @@ module Access
# "hello".at(4) # => "o"
# "hello".at(10) # => nil
def at(position)
- chars[position, 1].to_s
+ mb_chars[position, 1].to_s
end
# Returns the remaining of the string from the +position+ treating the string as an array (where 0 is the first character).
@@ -21,7 +21,7 @@ def at(position)
# "hello".from(2) # => "llo"
# "hello".from(10) # => nil
def from(position)
- chars[position..-1].to_s
+ mb_chars[position..-1].to_s
end
# Returns the beginning of the string up to the +position+ treating the string as an array (where 0 is the first character).
@@ -31,7 +31,7 @@ def from(position)
# "hello".to(2) # => "hel"
# "hello".to(10) # => "hello"
def to(position)
- chars[0..position].to_s
+ mb_chars[0..position].to_s
end
# Returns the first character of the string or the first +limit+ characters.
@@ -41,7 +41,7 @@ def to(position)
# "hello".first(2) # => "he"
# "hello".first(10) # => "hello"
def first(limit = 1)
- chars[0..(limit - 1)].to_s
+ mb_chars[0..(limit - 1)].to_s
end
# Returns the last character of the string or the last +limit+ characters.
@@ -51,7 +51,7 @@ def first(limit = 1)
# "hello".last(2) # => "lo"
# "hello".last(10) # => "hello"
def last(limit = 1)
- (chars[(-limit)..-1] || self).to_s
+ (mb_chars[(-limit)..-1] || self).to_s
end
end
else
View
20 activesupport/lib/active_support/multibyte/chars.rb
@@ -9,12 +9,12 @@ module Multibyte #:nodoc:
# String methods are proxied through the Chars object, and can be accessed through the +mb_chars+ method. Methods
# which would normally return a String object now return a Chars object so methods can be chained.
#
- # "The Perfect String ".chars.downcase.strip.normalize #=> "the perfect string"
+ # "The Perfect String ".mb_chars.downcase.strip.normalize #=> "the perfect string"
#
# Chars objects are perfectly interchangeable with String objects as long as no explicit class checks are made.
# If certain methods do explicitly check the class, call +to_s+ before you pass chars objects to them.
#
- # bad.explicit_checking_method "T".chars.downcase.to_s
+ # bad.explicit_checking_method "T".mb_chars.downcase.to_s
#
# The default Chars implementation assumes that the encoding of the string is UTF-8, if you want to handle different
# encodings you can write your own multibyte string handler and configure it through
@@ -213,12 +213,12 @@ def index(*args)
# Example:
#
# s = "Müller"
- # s.chars[2] = "e" # Replace character with offset 2
+ # s.mb_chars[2] = "e" # Replace character with offset 2
# s
# #=> "Müeler"
#
# s = "Müller"
- # s.chars[1, 2] = "ö" # Replace 2 characters at character offset 1
+ # s.mb_chars[1, 2] = "ö" # Replace 2 characters at character offset 1
# s
# #=> "Möler"
def []=(*args)
@@ -253,10 +253,10 @@ def []=(*args)
#
# Example:
#
- # "¾ cup".chars.rjust(8).to_s
+ # "¾ cup".mb_chars.rjust(8).to_s
# #=> " ¾ cup"
#
- # "¾ cup".chars.rjust(8, " ").to_s # Use non-breaking whitespace
+ # "¾ cup".mb_chars.rjust(8, " ").to_s # Use non-breaking whitespace
# #=> "   ¾ cup"
def rjust(integer, padstr=' ')
justify(integer, :right, padstr)
@@ -266,10 +266,10 @@ def rjust(integer, padstr=' ')
#
# Example:
#
- # "¾ cup".chars.rjust(8).to_s
+ # "¾ cup".mb_chars.rjust(8).to_s
# #=> "¾ cup "
#
- # "¾ cup".chars.rjust(8, " ").to_s # Use non-breaking whitespace
+ # "¾ cup".mb_chars.rjust(8, " ").to_s # Use non-breaking whitespace
# #=> "¾ cup   "
def ljust(integer, padstr=' ')
justify(integer, :left, padstr)
@@ -279,10 +279,10 @@ def ljust(integer, padstr=' ')
#
# Example:
#
- # "¾ cup".chars.center(8).to_s
+ # "¾ cup".mb_chars.center(8).to_s
# #=> " ¾ cup "
#
- # "¾ cup".chars.center(8, " ").to_s # Use non-breaking whitespace
+ # "¾ cup".mb_chars.center(8, " ").to_s # Use non-breaking whitespace
# #=> " ¾ cup  "
def center(integer, padstr=' ')
justify(integer, :center, padstr)

0 comments on commit 520c3f3

Please sign in to comment.