Skip to content

Commit

Permalink
Merge branch 'master' into erbout
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremy committed Jun 7, 2008
2 parents deee9d2 + 84fb971 commit 011825e
Showing 1 changed file with 11 additions and 13 deletions.
24 changes: 11 additions & 13 deletions activesupport/lib/active_support/core_ext/string/unicode.rb
@@ -1,16 +1,16 @@
module ActiveSupport #:nodoc:
module CoreExtensions #:nodoc:
module String #:nodoc:
unless '1.9'.respond_to?(:force_encoding)
# Define methods for handling unicode data.
module Unicode
def self.append_features(base)
if '1.8.7'.respond_to?(:chars)
base.class_eval { remove_method :chars }
end
super
# Define methods for handling unicode data.
module Unicode
def self.append_features(base)
if '1.8.7 and later'.respond_to?(:chars)
base.class_eval { remove_method :chars }
end
super
end

unless '1.9'.respond_to?(:force_encoding)
# +chars+ is a Unicode safe proxy for string methods. It creates and returns an instance of the
# ActiveSupport::Multibyte::Chars class which encapsulates the original string. A Unicode safe version of all
# the String methods are defined on this proxy class. Undefined methods are forwarded to String, so all of the
Expand Down Expand Up @@ -44,14 +44,12 @@ def chars
def is_utf8?
ActiveSupport::Multibyte::Handlers::UTF8Handler.consumes?(self)
end
end
else
module Unicode #:nodoc:
def chars
else
def chars #:nodoc:
self
end

def is_utf8?
def is_utf8? #:nodoc:
case encoding
when Encoding::UTF_8
valid_encoding?
Expand Down

0 comments on commit 011825e

Please sign in to comment.