Commit Graph

46 Commits

Author SHA1 Message Date
Xavier Noria
80e66cc4d9 normalizes indentation and whitespace across the project 2016-08-06 20:16:27 +02:00
Xavier Noria
5c315a8fa6 modernizes hash syntax in activesupport 2016-08-06 19:38:33 +02:00
Xavier Noria
a731125f12 applies new string literal convention in activesupport/test
The current code base is not uniform. After some discussion,
we have chosen to go with double quotes by default.
2016-08-06 18:10:53 +02:00
Rafael Mendonça França
1a4deb9664
Merge pull request #19428 from bdmac/fix_safe_buffer_titleize
Fixes Inflector#titleize to work with SafeBuffer
2016-05-18 18:21:16 -03:00
Swaathi K
c9143e15a1 Parameterize with options to preserve case of string
Added test cases

Using kwargs instead of three seperate functions

Updated parameterize in transliterate.rb

Updated parameterize in transliterate.rb

Added deprecation warnings and updating RDoc+Guide

Misspelled separtor. Fixed.

Deprecated test cases and added support to parameterize with keyword parameters

Squashing commits.

Fixed test cases and added deprecated test cases

Small changes to Gemfile.lock and CHANGELOG

Update Gemfile.lock
2015-11-07 16:57:04 +05:30
Akira Matsuda
c971bc0568 ✂️ empty line at the top of files 2015-09-21 01:27:33 +09:00
Brian McManus
792f625bec Fixes Inflector#titleize to work with SafeBuffer
The way Inflector#titleize was implemented did not work properly when
called on a SafeBuffer object. Using the global `$&` variable in the
gsub resulted in calling capitalize on a nil object for reasons I still
do not fully understand. Removing the UNSAFE_STRING_METHODS override for
the gsub method in SafeBuffer "fixed" the bug but is obviously
unacceptable.

An example of this is very easy to see in rails console:

    ActiveSupport::SafeBuffer.new("my test").titleize
    > NoMethodError: undefined method `capitalize' for nil:NilClass

Using the non global version of gsub with a |match| arg passed to the
block fixes the problem. Again I do not quite understand why. I noticed
that other parts of Inflector were already using the standard block arg
version of gsub so I don't think it should be a problem to convert this
method to using it as well.
2015-03-20 10:28:25 -07:00
Vipul A M
6eced6a1fe Removed magic comments # encoding: utf-8 , since its default from ruby 2.0 onwards. 2015-02-03 20:51:40 +05:30
Matthew Draper
ccbb48196e Fix for inflector's incorrect camelCase replacement for acronyms
Fixes #8015, #9756.

[Fred Wu & Matthew Draper]
2014-09-06 04:56:25 +09:30
Xavier Noria
daaa21bc7d several enhancements to humanize [closes #12288]
* Strips leading underscores.
* Changes some unnecessary gsub!s to sub!s.
* Replaces some anchors ^, $ with \A, \z.
* Documents that human inflection rules are applied.
* Documents that words are downcased except acronyms.
* Adds an example with an acronym.
* Rewords docs.
2014-05-06 21:35:40 +02:00
Robin Dupret
686e820c48 Add a comment to ensure that a test won't be removed [ci skip]
The 'cow' => 'kine' inflection has gone with c300dca9 but it should
not be removed from the tested irregularities since it ensures that
inflections work with words that do not begin with the same letters.
2014-03-03 14:15:59 +01:00
Lihan Li
534b36093d wrap test that changes inflections in with_dup 2013-11-28 12:35:20 -05:00
claudiob
c61544c781 Add +capitalize+ option to Inflector.humanize
So strings can be humanized without being capitalized:

    'employee_salary'.humanize                    # => "Employee salary"
    'employee_salary'.humanize(capitalize: false) # => "employee salary"
2013-11-06 13:03:46 -08:00
Andrew White
2d53ee0f42 Don't mutate the original inflections instance in the tests 2013-07-30 12:01:56 +01:00
Juanjo Bazán
ef4ac7a489 Inflector irregular singularize rules 2013-01-01 12:50:00 +01:00
Godfrey Chan
fe933be5e2 Adds missing inflector tests to ensure idempotency
This is a follow up to #4719. It appears that singularize and pluralize
are supposed to be idempotent - i.e. when you call singularize or
pluralize multiple times on the same string, you should get the same
result. (At least for the "officially supported" cases that the stock
inflector is designed to handle.) #4719 added the missing tests for
regular cases, and this commit added the missing tests for the
irregularities.

While I'm at that, I also synced up the irregularity test cases with
the current set of irregularity cases that we ship out-of-the-box.
2012-06-21 02:16:48 -07:00
Anuj Dutta
bc51ad957a Fix an issue with inflection where my_analyses (in plular form) incorrectly converted to my_analyasis(in singular form). 2012-05-16 22:58:03 +01:00
José Valim
66c5ac3be9 Merge pull request #5177 from cap10morgan/fix-gh-issue-4374
fix inflector bug where -ice gets singularized into -ouse
2012-04-30 00:13:40 -07:00
Xavier Noria
206974a97c adds a new test case for titleize 2012-04-08 01:10:08 +02:00
Xavier Noria
4b685aad7b revises the regexp used in titleize
The regexp used in titleize matches saxon genitive
and other contractions, only to call capitalize on
the captured text and have the apostrophe upcased
which yields the apostrophe itself. It is more
clear that the regexp matches just what it has to
match.
2012-04-07 23:58:44 +02:00
Vasiliy Ermolovich
633ee64e20 String#titleize works properly with smart quotes, closes #5584 2012-03-26 21:18:25 +03:00
Wes Morgan
16e7f2f809 fix inflector bug where -ice gets pluralized into -ouse
This should happen for mouse or louse, but not slice or pumice.
2012-02-25 14:22:15 -07:00
Xavier Noria
fd5d9b366c fixes a regression introduced by 532cd4, and a bogus test in AP the regression uncovered 2012-02-10 22:17:30 -08:00
Mark Rushakoff
6f253fb440 Fix inflection regexes for mouse, mice 2011-12-07 23:14:02 -08:00
Pavan Kumar Sunkara
1934b77406 Added the test case for #3537 2011-11-06 19:22:46 +05:30
José Valim
6b010c2690 Revert removing gsub and sub from safe buffer. 2011-09-08 20:54:30 +02:00
Damien Mathieu
3718ccd2a6 remove support of symbols on classify and camelize 2011-09-08 10:22:21 +02:00
Arun Agrawal
4700e1fe6e StringToParameterizeWithNoSeparator: dashed parameter will not
change.
2011-06-25 06:17:00 +05:30
David Lee
f3e8bb8394 Test retain delimiter in parameterization inflector 2011-06-11 01:35:16 -07:00
Jason
3880ab0d7c ordinalize negative numbers patch
Applied patch by Amir Manji
  https://github.com/rails/rails/issues/437#issuecomment-1116045

Signed-off-by: Jason <jasonmichaelroth@gmail.com>
2011-05-07 13:21:00 -06:00
Dan Pickett
1754bd9b20 handle double pluralization for irregular plurals
[#6363]

Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
2011-02-16 15:08:25 -02:00
Norman Clarke
dceef0828a Improve reliability of Inflector.transliterate. [#4374 state:resolved]
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2010-04-12 23:19:39 -07:00
Rolf Bjaanes
4eab983b95 Changed the way inflections for uncountables work for 'funky jeans' [#3576 state:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com>
2010-04-05 23:54:42 +02:00
Kristopher Murata
ef84e691ff Parameterize should accept malformed utf8 characters [#4323 state:resolved]
Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2010-04-04 09:37:26 -07:00
wycats
7a83abe52f Any reason we can't just use the slow 1.8 path for transliteration in 1.9? 2010-03-17 00:54:42 -07:00
Stijn Mathysen
67512b9489 Removed the + sign as an accepted character from the parameterize method, as a + sign is interpreted by the browser as a space, possibly resulting in a "ArgumentError: illegal character in key"
[#4080 state:committed]

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2010-03-05 14:11:21 -08:00
Yehuda Katz + Carl Lerche
882dd4e605 ensure Inflector.camelize works with symbols [#2856 state:resolved]
Signed-off-by: Yehuda Katz + Carl Lerche <ykatz+clerche@engineyard.com>
2009-07-01 12:14:34 -07:00
Sam Granieri
20d3892f46 Allow String#parameterize to accept a separator [#2157 state:resolved]
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
2009-03-07 10:54:27 +00:00
Jiri Zajpt
7ed2e6c463 Adding inflection of databases (usually we wouldn't amend the current defaults, but this seems to obvious) [#1942 state:committed]
Signed-off-by: David Heinemeier Hansson <david@loudthinking.com>
2009-02-12 14:31:27 +01:00
Jeremy Kemper
2c43a6429e Ruby 1.9 compat: no Unicode normalization support yet 2008-11-26 17:59:35 -08:00
Jeremy Kemper
5bc91b0592 Mark utf-8 source encoding 2008-10-06 10:56:56 -07:00
Adam Cigánek
a4f2ba8fb3 Modified ActiveSupport::Inflector#parameterize with code from slugalizer (http://github.com/henrik/slugalizer)
Handles trailing and leading slashes, and squashes repeated separators into a single character.

Signed-off-by: Michael Koziarski <michael@koziarski.com>
[#1034 state:committed]
2008-09-23 08:08:21 +02:00
Michael Koziarski
1ddde91303 Flesh out the parameterize method to support non-ascii text and underscores. 2008-09-11 17:10:17 +02:00
David Heinemeier Hansson
90366a1521 Added Inflector#parameterize for easy slug generation ("Donald E. Knuth".parameterize => "donald-e-knuth") #713 [Matt Darby] 2008-09-10 00:36:37 -05:00
David Heinemeier Hansson
3229b59495 Fixed String#titleize to work for strings with 's too (closes #10571) [trek]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8533 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-01-03 00:16:47 +00:00
Jeremy Kemper
db9b2f5c22 Extract InflectorTestCases so both inflector and string inflections tests can use them.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7655 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-09-27 10:19:48 +00:00