class ActiveSupport::Multibyte::Chars

def translate_offset(byte_offset) #:nodoc:

:nodoc:
def translate_offset(byte_offset) #:nodoc:
  return nil if byte_offset.nil?
  return 0   if @wrapped_string == ''
  begin
    @wrapped_string.byteslice(0...byte_offset).unpack('U*').length
  rescue ArgumentError
    byte_offset -= 1
    retry
  end
end