inflections 3.2.12.20130305 → 3.2.12.20130314
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.markdown +5 -1
- data/README.markdown +1 -0
- data/lib/inflections/fr.rb +31 -0
- data/lib/inflections/version.rb +1 -1
- data/test/fr_test.rb +67 -0
- data/test/test_helper.rb +3 -0
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5293b97cee4b290687b85d5d702f262e371603f
|
4
|
+
data.tar.gz: f597126bf476f1e315086b9f53b0fcfe501b7d06
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc17556b22722943c30ed8ede6bee2861d4a677b17e833cbdb04b73f3c77dcbf38071f37a5cf970af6568f684add62e14f0f6b73071a06da446409c1e8f919cb
|
7
|
+
data.tar.gz: 3701cd02320031edfdc91ebf9602db393ebbf03461b32b40c5ce3ded3a9cba511d43bb47097106f74f350c81563d9cf2d1019980e63acf5dd791e9e460860616
|
data/CHANGELOG.markdown
CHANGED
@@ -1,5 +1,9 @@
|
|
1
|
-
3.2.12.
|
1
|
+
3.2.12.20130314 (Current release)
|
2
2
|
=================================
|
3
|
+
* Support for French (thanks to [Olivier Laviale](https://github.com/olvlvl) of [ICanBoogie](https://github.com/ICanBoogie/Inflector))
|
4
|
+
|
5
|
+
3.2.12.20130305
|
6
|
+
===============
|
3
7
|
* Fix #9 - a bug that was causing all strings to pluralize and singularize in Turkish.
|
4
8
|
|
5
9
|
3.2.12
|
data/README.markdown
CHANGED
@@ -0,0 +1,31 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#
|
3
|
+
# These rules come from a port of ActiveSupport's Inflector to PHP:
|
4
|
+
# https://github.com/ICanBoogie/Inflector/blob/master/lib/inflections/fr.php
|
5
|
+
|
6
|
+
module Inflections
|
7
|
+
ActiveSupport::Inflector.inflections do |inflect|
|
8
|
+
inflect.clear
|
9
|
+
|
10
|
+
inflect.plural(/$/, 's')
|
11
|
+
inflect.singular(/s$/, '')
|
12
|
+
|
13
|
+
inflect.plural(/(bijou|caillou|chou|genou|hibou|joujou|pou|au|eu|eau)$/, '\1x')
|
14
|
+
inflect.singular(/(bijou|caillou|chou|genou|hibou|joujou|pou|au|eu|eau)x$/, '\1')
|
15
|
+
|
16
|
+
inflect.plural(/(bleu|émeu|landau|lieu|pneu|sarrau)$/, '\1s')
|
17
|
+
inflect.plural(/al$/, 'aux')
|
18
|
+
inflect.plural(/ail$/, 'ails')
|
19
|
+
inflect.singular(/(journ|chev)aux$/, '\1al')
|
20
|
+
inflect.singular(/ails$/, 'ail')
|
21
|
+
|
22
|
+
inflect.plural(/(b|cor|ém|gemm|soupir|trav|vant|vitr)ail$/, '\1aux')
|
23
|
+
inflect.singular(/(b|cor|ém|gemm|soupir|trav|vant|vitr)aux$/, '\1ail')
|
24
|
+
|
25
|
+
inflect.plural(/(s|x|z)$/, '\1')
|
26
|
+
|
27
|
+
inflect.irregular('monsieur', 'messieurs')
|
28
|
+
inflect.irregular('madame', 'mesdames')
|
29
|
+
inflect.irregular('mademoiselle', 'mesdemoiselles')
|
30
|
+
end
|
31
|
+
end
|
data/lib/inflections/version.rb
CHANGED
data/test/fr_test.rb
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'test_helper'
|
4
|
+
require 'inflections/fr'
|
5
|
+
|
6
|
+
class TestFrenchInflections < MiniTest::Unit::TestCase
|
7
|
+
def test_regular_plurals
|
8
|
+
assert_equal 'amis', 'ami'.pluralize
|
9
|
+
assert_equal 'ami', 'amis'.singularize
|
10
|
+
|
11
|
+
assert_equal 'fidèles', 'fidèle'.pluralize
|
12
|
+
assert_equal 'fidèle', 'fidèles'.singularize
|
13
|
+
|
14
|
+
assert_equal 'rapports', 'rapport'.pluralize
|
15
|
+
assert_equal 'rapport', 'rapports'.singularize
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_appending_x
|
19
|
+
# -au
|
20
|
+
assert_equal 'tuyaux', 'tuyau'.pluralize
|
21
|
+
assert_equal 'tuyau', 'tuyaux'.singularize
|
22
|
+
|
23
|
+
# -ou
|
24
|
+
assert_equal 'genoux', 'genou'.pluralize
|
25
|
+
assert_equal 'genou', 'genoux'.singularize
|
26
|
+
|
27
|
+
# -eu
|
28
|
+
assert_equal 'aveux', 'aveu'.pluralize
|
29
|
+
assert_equal 'aveu', 'aveux'.singularize
|
30
|
+
|
31
|
+
# -eau
|
32
|
+
assert_equal 'nouveaux', 'nouveau'.pluralize
|
33
|
+
assert_equal 'nouveau', 'nouveaux'.singularize
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_exceptions_to_appending_x
|
37
|
+
assert_equal 'bleus', 'bleu'.pluralize
|
38
|
+
assert_equal 'bleu', 'bleus'.singularize
|
39
|
+
|
40
|
+
assert_equal 'landaus', 'landau'.pluralize
|
41
|
+
assert_equal 'landau', 'landaus'.singularize
|
42
|
+
|
43
|
+
assert_equal 'genoux', 'genou'.pluralize
|
44
|
+
assert_equal 'genou', 'genoux'.singularize
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_ending_in_al
|
48
|
+
assert_equal 'journaux', 'journal'.pluralize
|
49
|
+
assert_equal 'journal', 'journaux'.singularize
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_ending_in_ail
|
53
|
+
assert_equal 'détails', 'détail'.pluralize
|
54
|
+
assert_equal 'détail', 'détails'.singularize
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_exceptions_to_ending_in_ail
|
58
|
+
assert_equal 'travaux', 'travail'.pluralize
|
59
|
+
assert_equal 'travail', 'travaux'.singularize
|
60
|
+
|
61
|
+
assert_equal 'baux', 'bail'.pluralize
|
62
|
+
assert_equal 'bail', 'baux'.singularize
|
63
|
+
|
64
|
+
assert_equal 'émaux', 'émail'.pluralize
|
65
|
+
assert_equal 'émail', 'émaux'.singularize
|
66
|
+
end
|
67
|
+
end
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inflections
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.12.
|
4
|
+
version: 3.2.12.20130314
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Celis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-03-
|
11
|
+
date: 2013-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -72,6 +72,7 @@ files:
|
|
72
72
|
- lib/inflections/en-GB.rb
|
73
73
|
- lib/inflections/en.rb
|
74
74
|
- lib/inflections/es.rb
|
75
|
+
- lib/inflections/fr.rb
|
75
76
|
- lib/inflections/kk.rb
|
76
77
|
- lib/inflections/nb.rb
|
77
78
|
- lib/inflections/railtie.rb
|
@@ -80,6 +81,7 @@ files:
|
|
80
81
|
- test/en-GB_test.rb
|
81
82
|
- test/en_test.rb
|
82
83
|
- test/es_test.rb
|
84
|
+
- test/fr_test.rb
|
83
85
|
- test/kk_test.rb
|
84
86
|
- test/nb_test.rb
|
85
87
|
- test/test_helper.rb
|
@@ -103,7 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
105
|
version: '0'
|
104
106
|
requirements: []
|
105
107
|
rubyforge_project:
|
106
|
-
rubygems_version: 2.0.
|
108
|
+
rubygems_version: 2.0.2
|
107
109
|
signing_key:
|
108
110
|
specification_version: 4
|
109
111
|
summary: Sane inflection rules for ActiveSupport.
|
@@ -111,6 +113,8 @@ test_files:
|
|
111
113
|
- test/en-GB_test.rb
|
112
114
|
- test/en_test.rb
|
113
115
|
- test/es_test.rb
|
116
|
+
- test/fr_test.rb
|
114
117
|
- test/kk_test.rb
|
115
118
|
- test/nb_test.rb
|
116
119
|
- test/tr_test.rb
|
120
|
+
has_rdoc:
|