Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- From 233020a2d01e9c4f0bfdd54657062312d2039a57 Mon Sep 17 00:00:00 2001
- From: Michael Koziarski <michael@koziarski.com>
- Date: Thu, 11 Sep 2008 16:03:38 +0200
- Subject: [PATCH] Flesh out the parameterize method to support non-ascii text and underscores.
- ---
- activesupport/lib/active_support/inflector.rb | 2 +-
- activesupport/test/inflector_test_cases.rb | 5 ++++-
- 2 files changed, 5 insertions(+), 2 deletions(-)
- diff --git a/activesupport/lib/active_support/inflector.rb b/activesupport/lib/active_support/inflector.rb
- index e5f0063..8a917a9 100644
- --- a/activesupport/lib/active_support/inflector.rb
- +++ b/activesupport/lib/active_support/inflector.rb
- @@ -257,7 +257,7 @@ module ActiveSupport
- # <%= link_to(@person.name, person_path %>
- # # => <a href="/person/1-donald-e-knuth">Donald E. Knuth</a>
- def parameterize(string, sep = '-')
- - string.gsub(/[^a-z0-9]+/i, sep).downcase
- + string.chars.normalize(:kd).to_s.gsub(/[^\x00-\x7F]+/, '').gsub(/[^a-z0-9_\-]+/i, sep).downcase
- end
- # Create the name of a table like Rails does for models to table names. This method
- diff --git a/activesupport/test/inflector_test_cases.rb b/activesupport/test/inflector_test_cases.rb
- index d399c90..8057809 100644
- --- a/activesupport/test/inflector_test_cases.rb
- +++ b/activesupport/test/inflector_test_cases.rb
- @@ -144,7 +144,10 @@ module InflectorTestCases
- StringToParameterized = {
- "Donald E. Knuth" => "donald-e-knuth",
- - "Random text with *(bad)* characters" => "random-text-with-bad-characters"
- + "Random text with *(bad)* characters" => "random-text-with-bad-characters",
- + "Malmö" => "malmo",
- + "Garçons" => "garcons",
- + "Allow_Under_Scores" => "allow_under_scores"
- }
- UnderscoreToHuman = {
- --
- 1.6.0.1
Add Comment
Please, Sign In to add comment