# How to use Chars in classes not derived from AR

**URL:** <https://www.ruby-forum.com/t/how-to-use-chars-in-classes-not-derived-from-ar/140767>\
**Category:** Rails\
**Created:** [June 18, 2008, 11:46am UTC](https://www.ruby-forum.com/t/how-to-use-chars-in-classes-not-derived-from-ar/140767 "2008-06-18T11:46:12Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![davidstokar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/4da419/32.png) [@davidstokar](https://www.ruby-forum.com/u/davidstokar)\
**Post date:** [June 18, 2008, 11:46am UTC](https://www.ruby-forum.com/t/how-to-use-chars-in-classes-not-derived-from-ar/140767/1 "2008-06-18T11:46:12Z")

</div>

Hi!

I have a class that derives from nothing and is located in /models. I’m  
using " my string ".chars to manipulate strings that potentially contain  
special chars and replace them with an US-ASCII equivalent.

It did work until yesterday. Now on a linux system “a”.chars returns  
#Enumerable::Enumerator:0xb74e3d6c

While it should return  
#\<ActiveSupport::Multibyte::Chars:0xb74e1bc0 @string=“a”\>

(the class is contained in  
active\_support/multibyte/chars.rb)

Therefore the whole app crashes because Enumerable does not have methods  
like “downcase” or “‘a’.chars[0]” which can handle UTF-8 chars as well.  
Using it w/o UTF-8 support ends up in a mess.

Any ideas? How could I require or include  
“ActiveSupport::Multibyte::Chars”? Any tests have been negative so far.

regards  
David

---

<div class="post-metadata">

**Author:** ![davidstokar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/4da419/32.png) [@davidstokar](https://www.ruby-forum.com/u/davidstokar)\
**Post date:** [June 18, 2008, 12:32pm UTC](https://www.ruby-forum.com/t/how-to-use-chars-in-classes-not-derived-from-ar/140767/2 "2008-06-18T12:32:27Z")

</div>

On 18 Jun 2008, at 10:46, David S. wrote:

> #Enumerable::Enumerator:0xb74e3d6c
> 
> While it should return  
> #\<ActiveSupport::Multibyte::Chars:0xb74e1bc0 @string=“a”\>

Have you just upgraded to ruby 1.8.7 by any chance? Are you running  
rails 2.1 ? versions \< 2.1 aren’t ready for 1.8.7 IIRC.

Fred

---

<div class="post-metadata">

**Author:** ![davidstokar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/4da419/32.png) [@davidstokar](https://www.ruby-forum.com/u/davidstokar)\
**Post date:** [June 18, 2008, 12:41pm UTC](https://www.ruby-forum.com/t/how-to-use-chars-in-classes-not-derived-from-ar/140767/3 "2008-06-18T12:41:56Z")

</div>

Yes, that’s it. I’ve just checked on another linux server that is  
running with Ruby 1.8.6.144-2 and a vulnerable openssl version. And it  
still works there.

It might be connected to the different ruby version. I’m trying to  
downgrade now.

> Have you just upgraded to ruby 1.8.7 by any chance? Are you running  
> rails 2.1 ? versions \< 2.1 aren’t ready for 1.8.7 IIRC.
> 
> Fred

---

<div class="post-metadata">

**Author:** ![davidstokar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/4da419/32.png) [@davidstokar](https://www.ruby-forum.com/u/davidstokar)\
**Post date:** [June 18, 2008, 1:29pm UTC](https://www.ruby-forum.com/t/how-to-use-chars-in-classes-not-derived-from-ar/140767/4 "2008-06-18T13:29:24Z")

</div>

This did not solved the problem so far.

Any experiences or ideas regarding this issue?

Thanks  
David

---

<div class="post-metadata">

**Author:** ![davidstokar](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/4da419/32.png) [@davidstokar](https://www.ruby-forum.com/u/davidstokar)\
**Post date:** [June 18, 2008, 1:49pm UTC](https://www.ruby-forum.com/t/how-to-use-chars-in-classes-not-derived-from-ar/140767/5 "2008-06-18T13:49:02Z")

</div>

Finally it did.

I’ve just forgot to undo the changes I did while I was trying to fix it  
by myself.

k Thanks!

Any rumors why this happens that often, or why this particular packages  
is causing this issue?

I’ve already experienced it several times that our rails application was  
broken after upgrading a gem or rails specific deb-package.

Regards  
David
