This project is archived and is in readonly mode.
ActiveSupport/parameterize incorrectly assumes you have set $KCODE='u'
Reported by Markús | March 21st, 2009 @ 11:55 AM | in 3.x
I'm developing a plugin which uses the AS method parameterize to create a url-like string. When I try to test the plugin, all tests result in the error undefined method ´normalize´ for ´whatever´:String. I'm using files created by script/generate plugin, so all should be correct, aside from the problem described by Ticket #1878.
Then I realize the problem was that active_support/multibyte wasn't being loaded for some reason. The reason is actually you have to set $KCODE = 'u' manually in your tests to force AS to load multibyte.
To reproduce de error, try to run this to simple scripts (I'm using ruby 1.8.7)
# Will fail with undefined method error
require 'rubygems'
require 'active_support'
puts "some random string".parameterize
# Will work
$KCODE = 'u'
require 'rubygems'
require 'active_support'
puts "some random string".parameterize
# => 'some-random-string'
I think this either an incorrect behavior of parameterize (it should skip 'normalize' if it's not defined) or an incorrect use of KCODE in active_support which I thought it was by default set to 'u' since the latter versions of Rails 1.x.
Comments and changes to this ticket
-

-

Norman Clarke May 29th, 2010 @ 09:55 PM
- Tag changed from 2.x, activesupport to 2.x, activesupport, invalid
This is no longer the case after my recent changes to Inflector;
normalizewas moved to the Unicode module and is invoked directly asUnicode.normalizerather than through the proxy as before.You can verify this by running the following code under 1.8.7 or 1.9.x:
# encoding: utf-8 require "rubygems" # gem "activesupport", "3.0.0.beta3" require "active_support/inflector" p "olá mundo!".parameterize #=> "ola-mundo" -

Rohit Arondekar July 28th, 2010 @ 10:26 AM
- State changed from new to invalid
- Importance changed from to
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
<h2 style="font-size: 14px">Tickets have moved to Github</h2>
The new ticket tracker is available at <a href="https://github.com/rails/rails/issues">https://github.com/rails/rails/issues</a>