conchiterz 1.1.0 → 1.2.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: ee101a3c9eed10ffbb0419afabf1c4b40e188a28
4
- data.tar.gz: e362d4b393b102c901cf7036efec5c01aa8ff4b5
2
+ SHA256:
3
+ metadata.gz: 3bf4372d139235a4bd4fe06ad1dab6496e6536de026a696e1711cbcf32067f98
4
+ data.tar.gz: 565cd2a59dab11362740bf1cfa7e5d8f2302f97b26c02682f889cdb96f524a7e
5
5
  SHA512:
6
- metadata.gz: 5df116760ea45ee392b0a75c9cf3c18bf7ad8340a4df2374e2a135475bfd1de2a28f35c3a90f9c617d9db96aff9d684d60565b097ea320c73f9f10b61278df16
7
- data.tar.gz: 02cd0f10d29808a50dfd1eaca6dd549dc904a7143661b4622530de71afd612df5ea235c398306fb2a52213aef6cb5d7a8b08b84dfd8bdf03f9ff870f8dd1a43b
6
+ metadata.gz: b2bb4c8242fff12a79dbfe5e2485f8043dc6246dba2c50aad0d89ebeb64449dfb0b826ff07712c3916f680f768bf5f737a7cf8bc1f1e542c3489d7838a3ab730
7
+ data.tar.gz: 4aacd5cfc565d025682e5500dfacc74ef7df6982abccbeb77e2f9bf857128b6b0bd228846f249681cc72ad02055a2483857e10152dfdac10a61c25d91122a1fb
@@ -0,0 +1,32 @@
1
+ version: 2
2
+ jobs:
3
+ build:
4
+ parallelism: 1
5
+ docker:
6
+ - image: circleci/ruby:2.6.0
7
+ environment:
8
+ BUNDLE_JOBS: 3
9
+ BUNDLE_RETRY: 3
10
+ BUNDLE_PATH: vendor/bundle
11
+ PGHOST: 127.0.0.1
12
+ PGUSER: circleci-demo-ruby
13
+ RAILS_ENV: test
14
+ steps:
15
+ - checkout
16
+ - run:
17
+ name: Which bundler?
18
+ command: bundle -v
19
+
20
+ - run:
21
+ name: Bundle Install
22
+ command: bundle check || bundle install
23
+
24
+ # Store bundle cache
25
+ - save_cache:
26
+ key: rails-bundle-v2-{{ checksum "Gemfile.lock" }}
27
+ paths:
28
+ - vendor/bundle
29
+
30
+ - run:
31
+ name: Run rspec in parallel
32
+ command: bundle exec rspec --profile
data/README.md CHANGED
@@ -1,13 +1,14 @@
1
+ ![Build Status](https://img.shields.io/circleci/build/github/morissetcl/conchiterz/master)
1
2
  [![Gem Version](https://badge.fury.io/rb/conchiterz.svg)](https://badge.fury.io/rb/conchiterz)
2
-
3
3
  # Conchiterz
4
4
 
5
- A simply gem to feminize french word and french sentence.
5
+ A simply gem to feminize french word/sentence.
6
6
 
7
- * Keep intact upcase, downcase and capitalize letters
8
- * Hanfle numbers
9
- * Keep intact punctuation
10
- * Handle special characters
7
+ * Keep intact upcase, downcase and capitalize letters.
8
+ * Allows you to escape some words if you does not want feminize them.
9
+ * Handle and return punctuation according the [french rules](http://www.la-ponctuation.com/). (.;:!...,?)
10
+ * Keep intact word with accent. (éèêâàûôî)
11
+ * Handle some special character. ('-%)
11
12
 
12
13
  ## Installation
13
14
 
@@ -1,5 +1,11 @@
1
+ require 'yaml'
2
+ require 'config'
3
+ require 'punctuation'
4
+ require 'typography'
5
+
1
6
  module Conchiterz
2
7
  extend self
8
+ attr_reader :result
3
9
 
4
10
  module StringMethods
5
11
  def conchiterz(switch, escape = [])
@@ -9,120 +15,20 @@ module Conchiterz
9
15
 
10
16
  def translate(string, switch, escape = [])
11
17
  return if string.nil?
12
- result = []
13
- a_words = string.scan(/[[:alpha:][:digit:]]+|[.,!?';]+/)
14
- if switch == true
15
- a_words.each{ |word| analyze_string(word, result, escape) }
16
- check_punctuation(result)
17
- check_special_character(result)
18
- result.join(' ')
19
- else
20
- return string
18
+ return string unless switch
19
+
20
+ @result = []
21
+ a_words = string.scan(Config::REGEXP)
22
+ a_words.each do |word|
23
+ Typography.new(word, escape, result).call
21
24
  end
25
+ Punctuation.new(result).call
26
+ result.join(' ')
22
27
  end
23
28
 
24
29
  def monkey_patch(str)
25
30
  str.send(:include, Conchiterz::StringMethods)
26
31
  end
27
-
28
- private
29
-
30
- def analyze_string(word, result, escape)
31
- check_word_length(word)
32
- if TRANSLATION.has_key?(word.downcase) && escape.include?(word)
33
- result.push(word)
34
- elsif TRANSLATION.has_key?(word.downcase)
35
- get_value(@capitalized, @upcased, result, word)
36
- else
37
- result.push(word)
38
- end
39
- end
40
-
41
- def check_word_length(word)
42
- if word.length == 1
43
- @capitalized = (word == word.capitalize)
44
- else
45
- @capitalized = (word == word.capitalize)
46
- @upcased = (word == word.upcase)
47
- end
48
- end
49
-
50
- def get_value(capitalized, upcased, result, word)
51
- value = TRANSLATION.fetch(word.downcase)
52
- add_value_to_result(capitalized, upcased, value, result)
53
- end
54
-
55
- def add_value_to_result(capitalized, upcased, value, result)
56
- if check_sensitive(capitalized, upcased) == false
57
- result << value
58
- else
59
- capitalize_or_upcase(capitalized, upcased, value, result)
60
- end
61
- end
62
-
63
- def check_sensitive(capitalized, upcased)
64
- return if (capitalized == true || upcased == true)
65
- false
66
- end
67
-
68
- def capitalize_or_upcase(capitalized, upcased, value, result)
69
- result << value.capitalize if capitalized
70
- result << value.upcase if upcased
71
- end
72
-
73
- def check_punctuation(result)
74
- punctuation = [',','.','!',':',';','?']
75
- result.each_with_index do |val, index|
76
- if punctuation.include?(val)
77
- index = result.index(val)
78
- result[index].insert(0, result[index-1])
79
- result.delete(result[index-1])
80
- end
81
- end
82
- end
83
-
84
- def check_special_character(result)
85
- result.each_with_index do |val, index|
86
- if val == "'"
87
- index = result.index(val)
88
- word = [result[index-1], result[index], result[index+1]]
89
- delete_useless_value(word, index, result)
90
- result.insert(index-1, word.join(''))
91
- end
92
- end
93
- end
94
-
95
- def delete_useless_value(word, index, result)
96
- word.each do |a|
97
- index_to_delete = result.index(a)
98
- result.delete_at(index_to_delete)
99
- end
100
- end
101
-
102
- TRANSLATION =
103
- {
104
- 'beau' => 'belle',
105
- 'joyeux' => 'joyeuse',
106
- 'il' => 'elle',
107
- 'ils' => 'elles',
108
- 'présent' => 'presente',
109
- 'nouveau' => 'nouvelle',
110
- 'inscrit' => 'inscrite',
111
- 'animateur' => 'animatrice',
112
- 'joueur' => 'joueuse',
113
- 'pareil' => 'pareille',
114
- 'pareils' => 'pareilles',
115
- 'monsieur' => 'madame',
116
- 'm' => 'mme',
117
- 'le' => 'la',
118
- 'chers' => 'chères',
119
- 'cher' => 'chère',
120
- 'bon' => 'bonne',
121
- 'super' => 'superbe',
122
- 'un' => 'une',
123
- 'heureux' => 'heureuse'
124
- }
125
-
126
32
  end
127
33
 
128
34
  if defined?(Rails)
@@ -0,0 +1,6 @@
1
+ module Config
2
+ SPECIAL_CHARACTER = ["'","-"]
3
+ PUNCTUATION = [[';',':','!','?'],['.',',','...']]
4
+ TRANSLATION = YAML.load_file('lib/words.yaml')
5
+ REGEXP = /[[:alpha:][:digit:]]+|[[:punct:]]+/
6
+ end
@@ -0,0 +1,53 @@
1
+ require 'config'
2
+
3
+ class Punctuation # mostly handle punctuation and special character like "-"
4
+ attr_reader :result
5
+
6
+ def initialize(result)
7
+ @result = result
8
+ end
9
+
10
+ def call
11
+ check_punctuation
12
+ check_special_character
13
+ end
14
+
15
+ private
16
+
17
+ def check_punctuation
18
+ result.each_with_index do |val, index|
19
+ if Config::PUNCTUATION.flatten.include?(val) # punctuation = [[';',':','!','?'],['.',',','...']]
20
+ index = result.index(val)
21
+ word = return_word_with_space_or_not(val, index)
22
+ result[index].insert(0, word)
23
+ result.delete(result[index-1])
24
+ end
25
+ end
26
+ end
27
+
28
+ def return_word_with_space_or_not(val, index)
29
+ if Config::PUNCTUATION[0].include?(val)
30
+ result[index-1] + ' '
31
+ else
32
+ result[index-1]
33
+ end
34
+ end
35
+
36
+ def check_special_character
37
+ result.each_with_index do |val, index|
38
+ if Config::SPECIAL_CHARACTER.include?(val)
39
+ index = result.index(val)
40
+ word = [result[index-1], result[index], result[index+1]]
41
+ delete_useless_value(word, index)
42
+ result.insert(index-1, word.join(''))
43
+ end
44
+ end
45
+ end
46
+
47
+ def delete_useless_value(word, index)
48
+ word.each do |a|
49
+ index_to_delete = result.index(a)
50
+ result.delete_at(index_to_delete)
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,68 @@
1
+ require 'config'
2
+
3
+ class Typography
4
+ attr_reader :word, :escape, :result
5
+
6
+ def initialize(word, escape, result)
7
+ @word = word
8
+ @escape = escape
9
+ @result = result
10
+ end
11
+
12
+ def call
13
+ analyze_string
14
+ end
15
+
16
+ private
17
+
18
+ def analyze_string
19
+ check_word_length
20
+ if escape.map(&:downcase).include?(word.downcase)
21
+ result.push(word)
22
+ elsif Config::TRANSLATION.has_key?(word.downcase)
23
+ get_value(word, @capitalized, @upcased, result)
24
+ else
25
+ result.push(word)
26
+ end
27
+ end
28
+
29
+ def check_word_length
30
+ if word.length == 1
31
+ @capitalized = capitalized? word
32
+ else
33
+ @capitalized, @upcased = capitalized?(word), upcased?(word)
34
+ end
35
+ end
36
+
37
+ def capitalized? word
38
+ word == word.capitalize
39
+ end
40
+
41
+ def upcased? word
42
+ word == word.upcase
43
+ end
44
+
45
+ def get_value(word, capitalized, upcased, result)
46
+ value = Config::TRANSLATION.fetch(word.downcase)
47
+ add_value_to_result(capitalized, upcased, value)
48
+ end
49
+
50
+ def add_value_to_result(capitalized, upcased, value)
51
+ if check_sensitive(capitalized, upcased) == false
52
+ result << value
53
+ else
54
+ capitalize_or_upcase(capitalized, upcased, value)
55
+ end
56
+ end
57
+
58
+ def check_sensitive(capitalized, upcased)
59
+ return if (capitalized || upcased)
60
+ false
61
+ end
62
+
63
+ def capitalize_or_upcase(capitalized, upcased, value)
64
+ result << value.capitalize if capitalized
65
+ result << value.upcase if upcased
66
+ result
67
+ end
68
+ end
@@ -1,3 +1,3 @@
1
1
  module Conchiterz
2
- VERSION = "1.1.0"
2
+ VERSION = "1.2.0"
3
3
  end
@@ -0,0 +1,831 @@
1
+ ---
2
+ abatteur: abatteuse
3
+ abbé: abbesse
4
+ abuseur: abuseuse
5
+ académicien: académicienne
6
+ accordeur: accordeuse
7
+ accoucheur: accoucheuse
8
+ accrocheur: accrocheuse
9
+ accusateur: accusatrice
10
+ acheteur: acheteuse
11
+ acousticien: acousticienne
12
+ acquéreur: acquéreuse
13
+ acquisiteur: acquisitrice
14
+ acrobate: acrobate
15
+ acteur: actrice
16
+ adaptateur: adaptatrice
17
+ adjoint: adjointe
18
+ adjudant: adjudante
19
+ administrateur: administratrice
20
+ aérostier: aérostière
21
+ afficheur: afficheuse
22
+ affineur: affineuse
23
+ affouilleur: affouilleuse
24
+ affranchisseur: affranchisseuse
25
+ affréteur: affréteuse
26
+ affûteur: affûteuse
27
+ africaniste: africaniste
28
+ agent: agente
29
+ agrandisseur: agrandisseuse
30
+ agrégé: agrégée
31
+ agriculteur: agricultrice
32
+ aiguiseur: aiguiseuse
33
+ ajusteur: ajusteuse
34
+ aléseur: aléseuse
35
+ alevineur: alevineuse
36
+ algébriste: algébriste
37
+ algoculteur: algocultrice
38
+ algologue: algologue
39
+ aliénateur: aliénatrice
40
+ amant: amante
41
+ amateur: amatrice
42
+ ambassadeur: ambassadrice
43
+ ambulancier: ambulancière
44
+ aménageur: aménageuse
45
+ aménagiste: aménagiste
46
+ américaniste: américaniste
47
+ amiral: amirale
48
+ amuseur: amuseuse
49
+ analyseur: analyseuse
50
+ animalier: animalière
51
+ animateur: animatrice
52
+ annonceur: annonceuse
53
+ anthropologue: anthropologue
54
+ antiquaire: antiquaire
55
+ apiculteur: apicultrice
56
+ appareilleur: appareilleuse
57
+ appariteur: apparitrice
58
+ appelant: appelante
59
+ applicateur: applicatrice
60
+ appointé: appointée
61
+ apprenti: apprentie
62
+ apprêteur: apprêteuse
63
+ approvisionneur: approvisionneuse
64
+ aquaculteur: aquacultrice
65
+ aquafortiste: aquafortiste
66
+ aquarelliste: aquarelliste
67
+ aquatintiste: aquatintiste
68
+ arabisant: arabisante
69
+ arbitragiste: arbitragiste
70
+ arbitre: arbitre
71
+ arboriculteur: arboricultrice
72
+ archéologue: archéologue
73
+ archetier: archetière
74
+ archiduc: archiduchesse
75
+ architecte: architecte
76
+ ardoisier: ardoisière
77
+ argenteur: argenteuse
78
+ argentier: argentière
79
+ armateur: armatrice
80
+ armurier: armurière
81
+ aromathérapeute: aromathérapeute
82
+ aromaticien: aromaticienne
83
+ arpenteur: arpenteuse
84
+ arrangeur: arrangeuse
85
+ arrimeur: arrimeuse
86
+ arroseur: arroseuse
87
+ artificier: artificière
88
+ artilleur: artilleuse
89
+ artisan: artisane
90
+ artiste: artiste
91
+ ascensionniste: ascensionniste
92
+ ascensoriste: ascensoriste
93
+ asphalteur: asphalteuse
94
+ aspirant: aspirante
95
+ assassin: assassine
96
+ assembleur: assembleuse
97
+ assesseur: assesseuse
98
+ assistant: assistante
99
+ aviateur: aviatrice
100
+ avocat: avocate
101
+ bachelier: bachelière
102
+ bagagiste: bagagiste
103
+ baigneur: baigneuse
104
+ bailleur: bailleuse
105
+ balayeur: balayeuse
106
+ banquier: banquière
107
+ barman: barmaid
108
+ bardeur: bardeuse
109
+ baron: baronne
110
+ basketteur: basketteuse
111
+ bâtonnier: bâtonnière
112
+ batteur: batteuse
113
+ benjamin: benjamine
114
+ berger: bergère
115
+ bétonneur: bétonneuse
116
+ bétonnier: bétonnière
117
+ bijoutier: bijoutière
118
+ bitumeur: bitumeuse
119
+ blanchisseur: blanchisseuse
120
+ bottier: bottière
121
+ boucher: bouchère
122
+ bouffon: bouffonne
123
+ boulanger: boulangère
124
+ boursier: boursière
125
+ boxeur: boxeuse
126
+ brancardier: brancardière
127
+ braseur: braseuse
128
+ brasseur: brasseuse
129
+ breveté: brevetée
130
+ bricoleur: bricoleuse
131
+ brigadier: brigadière
132
+ briqueteur: briqueteuse
133
+ briquetier: briquetière
134
+ brocanteur: brocanteuse
135
+ brocheur: brocheuse
136
+ brodeur: brodeuse
137
+ bronzeur: bronzeuse
138
+ brossier: brossière
139
+ broyeur: broyeuse
140
+ bruiteur: bruiteuse
141
+ brunisseur: brunisseuse
142
+ buandier: buandière
143
+ bûcheron: bûcheronne
144
+ cadet: cadette
145
+ clerc: clergesse
146
+ cadreur: cadreuse
147
+ clicheur: clicheuse
148
+ cafetier: cafetière
149
+ client: cliente
150
+ caissier: caissière
151
+ clinicien: clinicienne
152
+ codeur: codeuse
153
+ candidat: candidate
154
+ coiffeur: coiffeuse
155
+ collaborateur: collaboratrice
156
+ collecteur: collectrice
157
+ caoutchouteur: caoutchouteuse
158
+ colporteur: colporteuse
159
+ caoutchoutier: caoutchoutière
160
+ combattant: combattante
161
+ comédien: comédienne
162
+ capitaine: capitaine
163
+ comique: comique
164
+ caporal: caporale
165
+ commandant: commandante
166
+ commentateur: commentatrice
167
+ commerçant: commerçante
168
+ carillonneur: carillonneuse
169
+ commercial: commerciale
170
+ commis: commise
171
+ communicateur: communicatrice
172
+ cascadeur: cascadeuse
173
+ compétiteur: compétitrice
174
+ compteur: compteuse
175
+ comte: comtesse
176
+ concepteur: conceptrice
177
+ cavalier: cavalière
178
+ condamné: condamnée
179
+ conducteur: conductrice
180
+ confrère: consoeur
181
+ chanteur: chanteuse
182
+ conseiller: conseillère
183
+ champion: championne
184
+ conservateur: conservatrice
185
+ chapelier: chapelière
186
+ constructeur: constructrice
187
+ consultant: consultante
188
+ charcutier: charcutière
189
+ conteur: conteuse
190
+ chargeur: chargeuse
191
+ contractuel: contractuelle
192
+ contrôleur: contrôleuse
193
+ chaudronnier: chaudronnière
194
+ coopérant: coopérante
195
+ chauffard: chauffarde
196
+ coopérateur: coopératrice
197
+ chauffeur: chauffeuse
198
+ coordinateur: coordinatrice
199
+ chausseur: chausseuse
200
+ chef: cheffe
201
+ chercheur: chercheuse
202
+ chevalier: chevalière
203
+ chiffonnier: chiffonière
204
+ costumier: costumière
205
+ couleur: couleuse
206
+ chirurgien: chirurgienne
207
+ coureur: coureuse
208
+ chômeur: chômeuse
209
+ coursier: coursière
210
+ chroniqueur: chroniqueuse
211
+ couturier: couturière
212
+ créancier: créancière
213
+ créateur: créatrice
214
+ criminel: criminelle
215
+ croupier: croupière
216
+ cueilleur: cueilleuse
217
+ cuiseur: cuiseuse
218
+ cuisinier: cuisinière
219
+ curé: curée
220
+ ébéniste: ébéniste
221
+ éboueur: éboueuse
222
+ écolier: écolière
223
+ écrivain: écrivaine
224
+ éducateur: éducatrice
225
+ élagueur: élagueuse
226
+ électeur: électrice
227
+ électricien: électricienne
228
+ élève: élève
229
+ éleveur: éleveuse
230
+ élu: élue
231
+ émetteur: émettrice
232
+ empailleur: empailleuse
233
+ empereur: impératrice
234
+ employé: employée
235
+ employeur: employeuse
236
+ emprunteur: emprunteuse
237
+ encadreur: encadreuse
238
+ encenseur: encenseuse
239
+ enclencheur: enclencheuse
240
+ enduiseur: enduiseuse
241
+ énergéticien: énergéticienne
242
+ engraisseur: engraisseuse
243
+ énonciateur: énonciatrice
244
+ enquêteur: enquêtrice
245
+ enseignant: enseignante
246
+ entraîneur: entraîneuse
247
+ entrepreneur: entrepreneuse
248
+ épicier: épicière
249
+ époux: épouse
250
+ équipier: équipière
251
+ escrimeur: escrimeuse
252
+ espion: espionne
253
+ esthéticien: esthéticienne
254
+ étalonneur: étalonneuse
255
+ étiqueteur: étiqueteuse
256
+ étudiant: étudiante
257
+ évaluateur: évaluatrice
258
+ examinateur: examinatrice
259
+ exécuteur: exécutrice
260
+ exorciseur: exorciseuse
261
+ expéditeur: expéditrice
262
+ expéditionnaire: expéditionnaire
263
+ expérimentateur: expérimentatrice
264
+ expert: experte
265
+ externe: externe
266
+ extracteur: extractrice
267
+ fabricant: fabricante
268
+ fabuliste: fabuliste
269
+ facilitateur: facilitatrice
270
+ façonneur: façonneuse
271
+ facteur: factrice
272
+ ferblantier: ferblantière
273
+ fermier: fermière
274
+ ferrailleur: ferrailleuse
275
+ feutrier: feutrière
276
+ fiancé: fiancée
277
+ fichiste: fichiste
278
+ figurant: figurante
279
+ filou: filoute
280
+ financier: financière
281
+ finisseur: finisseuse
282
+ fonceur: fonceuse
283
+ fondateur: fondatrice
284
+ fontainier: fontainière
285
+ footballeur: footballeuse
286
+ forain: foraine
287
+ forestier: forestière
288
+ foreur: foreuse
289
+ forfaitiste: forfaitiste
290
+ forgeron: forgeronne
291
+ formateur: formatrice
292
+ formeur: formeuse
293
+ fossoyeur: fossoyeuse
294
+ foudrier: foudrière
295
+ fouleur: fouleuse
296
+ fournisseur: fournisseuse
297
+ fourreur: fourreuse
298
+ fourrier: fourrière
299
+ fraiseur: fraiseuse
300
+ franchiseur: franchiseuse
301
+ frappeur: frappeuse
302
+ freineur: freineuse
303
+ garagiste: garagiste
304
+ gardien: gardienne
305
+ garnisseur: garnisseuse
306
+ gaufreur: gaufreuse
307
+ général: générale
308
+ gérant: gérante
309
+ glacier: glacière
310
+ golfeur: golfeuse
311
+ goudronneur: goudronneuse
312
+ goûteur: goûteuse
313
+ gouvernant: gouvernante
314
+ gouverneur: gouverneure
315
+ gradué: graduée
316
+ grainetier: grainetière
317
+ graisseur: graisseuse
318
+ granuleur: granuleuse
319
+ graveur: graveuse
320
+ gréeur: gréeuse
321
+ greffeur: greffeuse
322
+ greffier: greffière
323
+ grimpeur: grimpeuse
324
+ grossiste: grossiste
325
+ guérisseur: guérisseuse
326
+ guichetier: guichetière
327
+ handballeur: handballeuse
328
+ héritier: héritière
329
+ historien: historienne
330
+ horloger: horlogère
331
+ horticulteur: horticultrice
332
+ hospitalier: hospitalière
333
+ hôte: hôtesse
334
+ hôtelier: hôtelière
335
+ huissier: huissière
336
+ huîtrier: huîtrière
337
+ identificateur: identificatrice
338
+ idéologue: idéologue
339
+ illuminateur: illuminatrice
340
+ illusionniste: illusionniste
341
+ illustrateur: illustratrice
342
+ îlotier: îlotière
343
+ imitateur: imitatrice
344
+ immunologue: immunologue
345
+ empereur: impératrice
346
+ implanteur: implanteuse
347
+ importateur: importatrice
348
+ imposeur: imposeuse
349
+ imprégnateur: imprégnatrice
350
+ impresario: impresaria
351
+ imprimeur: imprimeuse
352
+ improvisateur: improvisatrice
353
+ inscrit: inscrite
354
+ incrustateur: incrustatrice
355
+ indicateur: indicatrice
356
+ industriel: industrielle
357
+ infirmier: infirmière
358
+ informateur: informatrice
359
+ informaticien: informaticienne
360
+ ingénieur: ingénieure
361
+ initiateur: initiatrice
362
+ initiant: initiante
363
+ inséminateur: inséminatrice
364
+ inspecteur: inspectrice
365
+ installateur: installatrice
366
+ instituteur: institutrice
367
+ instructeur: instructrice
368
+ instrumentaliste: instrumentaliste
369
+ instrumentiste: instrumentiste
370
+ intellectuel: intellectuelle
371
+ intendant: intendante
372
+ intéressé: intéressée
373
+ intérimaire: intérimaire
374
+ interlocuteur: interlocutrice
375
+ intermédiaire: intermédiaire
376
+ intermittent: intermittente
377
+ intervieweur: intervieweuse
378
+ inventeur: inventeuse
379
+ investisseur: investisseuse
380
+ japonisant: japonisante
381
+ jardinier: jardinière
382
+ jaugeur: jaugeuse
383
+ jazzman: jazzwoman
384
+ joaillier: joaillière
385
+ jobiste: jobiste
386
+ jockey: jockey
387
+ jointeur: jointeuse
388
+ jointoyeur: jointoyeuse
389
+ jongleur: jongleuse
390
+ joueur: joueuse
391
+ journalier: journalière
392
+ journaliste: journaliste
393
+ judoka: judoka
394
+ juge: juge
395
+ junior: juniore
396
+ jupier: jupière
397
+ juré: jurée
398
+ kiosquier: kiosquière
399
+ lainier: lainière
400
+ laitier: laitière
401
+ lamineur: lamineuse
402
+ lanceur: lanceuse
403
+ latiniste: latiniste
404
+ lauréat: lauréate
405
+ laveur: laveuse
406
+ lecteur: lectrice
407
+ législateur: législatrice
408
+ licencié: licenciée
409
+ lieutenant: lieutenante
410
+ limonadier: limonadière
411
+ linger: lingère
412
+ liquidateur: liquidatrice
413
+ liseur: liseuse
414
+ lisseur: lisseuse
415
+ littérateur: littératrice
416
+ livreur: livreuse
417
+ locataire: locataire
418
+ logicien: logicienne
419
+ lotisseur: lotisseuse
420
+ loueur: loueuse
421
+ lunetier: lunetière
422
+ luthier: luthière
423
+ lutteur: lutteuse
424
+ maçon: maçonne
425
+ magasinier: magasinière
426
+ magicien: magicienne
427
+ magistrat: magistrate
428
+ maître: maîtresse
429
+ major: majore
430
+ majordome: majordome
431
+ malaxeur: malaxeuse
432
+ malletier: malletière
433
+ malteur: malteuse
434
+ manadier: manadière
435
+ manager: manager
436
+ manageur: manageuse
437
+ mandataire: mandataire
438
+ manifestant: manifestante
439
+ manipulateur: manipulatrice
440
+ maquettiste: maquettiste
441
+ maquignon: maquignonne
442
+ maquilleur: maquilleuse
443
+ maraîcher: maraîchère
444
+ marathonien: marathonienne
445
+ marbreur: marbreuse
446
+ marbrier: marbrière
447
+ marchand: marchande
448
+ marchandiseur: marchandiseuse
449
+ marcheur: marcheuse
450
+ marin: marine
451
+ marinier: marinière
452
+ marionnettiste: marionnettiste
453
+ marmiton: marmitonne
454
+ maroquinier: maroquinière
455
+ marqueteur: marqueteuse
456
+ marqueur: marqueuse
457
+ marquis: marquise
458
+ marteleur: marteleuse
459
+ masseur: masseuse
460
+ matelassier: matelassière
461
+ matelot: matelote
462
+ mathématicien: mathématicienne
463
+ mécanicien: mécanicienne
464
+ mélangeur: mélangeuse
465
+ ménager: ménagère
466
+ meneur: meneuse
467
+ menuisier: menuisière
468
+ messager: messagère
469
+ metteur: metteuse
470
+ meuleur: meuleuse
471
+ meunier: meunière
472
+ meurtrier: meurtrière
473
+ migrant: migrante
474
+ milicien: milicienne
475
+ mineur: mineure
476
+ mineur: mineuse
477
+ mixeur: mixeuse
478
+ modeleur: modeleuse
479
+ modérateur: modératrice
480
+ moleteur: moleteuse
481
+ moniteur: monitrice
482
+ motard: motarde
483
+ mouleur: mouleuse
484
+ musicien: musicienne
485
+ nageur: nageuse
486
+ narrateur: narratrice
487
+ navigateur: navigatrice
488
+ négociant: négociante
489
+ négociateur: négociatrice
490
+ nettoyeur: nettoyeuse
491
+ novice: novice
492
+ noyauteur: noyauteuse
493
+ numéroteur: numéroteuse
494
+ numismate: numismate
495
+ nurse: nurse
496
+ nutritionniste: nutritionniste
497
+ observateur: observatrice
498
+ obstétricien: obstétricienne
499
+ obtenteur: obtentrice
500
+ océanographe: océanographe
501
+ oculariste: oculariste
502
+ oculiste: oculiste
503
+ odontologue: odontologue
504
+ officiel: officielle
505
+ officier: officière
506
+ oléiculteur: oléicultrice
507
+ oncologue: oncologue
508
+ opérateur: opératrice
509
+ ophtalmologue: ophtalmologue
510
+ opticien: opticienne
511
+ optométricien: optométricienne
512
+ optométriste: optométriste
513
+ orateur: oratrice
514
+ orchestrateur: orchestratrice
515
+ ordonnateur: ordonnatrice
516
+ organisateur: organisatrice
517
+ ornithologue: ornithologue
518
+ orpailleur: orpailleuse
519
+ orthodontiste: orthodontiste
520
+ orthopédiste: orthopédiste
521
+ orthophoniste: orthophoniste
522
+ orthoprothésiste: orthoprothésiste
523
+ orthoptiste: orthoptiste
524
+ ostéopathe: ostéopathe
525
+ ostréiculteur: ostréicultrice
526
+ outilleur: outilleuse
527
+ ouvreur: ouvreuse
528
+ ouvrier: ouvrière
529
+ oxydeur: oxydeuse
530
+ pacsé: pacsée
531
+ pape: papesse
532
+ papetier: papetière
533
+ papillonneur: papillonneuse
534
+ papyrologue: papyrologue
535
+ parachutiste: parachutiste
536
+ parapentiste: parapentiste
537
+ parapsychologue: parapsychologue
538
+ parasitologue: parasitologue
539
+ parfumeur: parfumeuse
540
+ parieur: parieuse
541
+ parlementaire: parlementaire
542
+ parolier: parolière
543
+ parqueteur: parqueteuse
544
+ partenaire: partenaire
545
+ participant: participante
546
+ passant: passante
547
+ passeur: passeuse
548
+ pasteur: pasteure
549
+ patient: patiente
550
+ patineur: patineuse
551
+ pâtissier: pâtissière
552
+ patron: patronne
553
+ patronneur: patronneuse
554
+ patronnier: patronnière
555
+ patrouilleur: patrouilleuse
556
+ paveur: paveuse
557
+ payeur: payeuse
558
+ paysagiste: paysagiste
559
+ paysan: paysanne
560
+ pêcheur: pêcheuse
561
+ pécheur: pécheresse
562
+ pédagogue: pédagogue
563
+ pédiatre: pédiatre
564
+ pédicure: pédicure
565
+ pédologue: pédologue
566
+ pédopsychiatre: pédopsychiatre
567
+ peintre: peintre
568
+ pèlerin: pèlerine
569
+ pénaliste: pénaliste
570
+ pénichier: pénichière
571
+ pensionné: pensionnée
572
+ pépiniériste: pépiniériste
573
+ percepteur: perceptrice
574
+ perceur: perceuse
575
+ perchiste: perchiste
576
+ percussionniste: percussionniste
577
+ perforateur: perforatrice
578
+ perforeur: perforeuse
579
+ performeur: performeuse
580
+ permanent: permanente
581
+ perruquier: perruquière
582
+ pharmacien: pharmacienne
583
+ piéton: piétonne
584
+ plaignant: plaignante
585
+ plieur: plieuse
586
+ plombier: plombière
587
+ plongeur: plongeuse
588
+ poêlier: poêlière
589
+ pointeur: pointeuse
590
+ poissonnier: poissonnière
591
+ polémologue: polémologue
592
+ policier: policière
593
+ polisseur: polisseuse
594
+ politicien: politicienne
595
+ politiste: politiste
596
+ politologue: politologue
597
+ polycopieur: polycopieuse
598
+ polygraphe: polygraphe
599
+ polymériste: polymériste
600
+ pomiculteur: pomicultrice
601
+ pomologue: pomologue
602
+ pompier: pompière
603
+ pompiste: pompiste
604
+ ponceur: ponceuse
605
+ portier: portière
606
+ portraitiste: portraitiste
607
+ poseur: poseuse
608
+ postier: postière
609
+ postulant: postulante
610
+ potier: potière
611
+ pourvoyeur: pourvoyeuse
612
+ pousseur: pousseuse
613
+ poussin: poussine
614
+ praticien: praticienne
615
+ pratiquant: pratiquante
616
+ précepteur: préceptrice
617
+ précurseur: précurseuse
618
+ prédécesseur: prédécesseuse
619
+ prédicateur: prédicatrice
620
+ préfet: préfète
621
+ préhistorien: préhistorienne
622
+ préretraité: préretraitée
623
+ préposé: préposée
624
+ présentateur: présentatrice
625
+ président: présidente
626
+ presseur: presseuse
627
+ prestidigitateur: prestidigitatrice
628
+ prêteur: prêteuse
629
+ prêtre: prêtresse
630
+ prévisionniste: prévisionniste
631
+ prieur: prieure
632
+ primatologue: primatologue
633
+ prince: princesse
634
+ principal: principale
635
+ prisonnier: prisonnière
636
+ procureur: procureure
637
+ procurateur: procuratrice
638
+ producteur: productrice
639
+ professeur: professeure
640
+ professionnel: professionnelle
641
+ profileur: profileuse
642
+ programmateur: programmatrice
643
+ programmeur: programmeuse
644
+ projectionniste: projectionniste
645
+ projeteur: projeteuse
646
+ promeneur: promeneuse
647
+ promoteur: promotrice
648
+ prospecteur: prospectrice
649
+ prostitué: prostituée
650
+ protecteur: protectrice
651
+ puériculteur: puéricultrice
652
+ puisatier: puisatière
653
+ pulvérisateur: pulvérisatrice
654
+ pupitreur: pupitreuse
655
+ pyrograveur: pyrograveuse
656
+ pyrotechnicien: pyrotechnicienne
657
+ rabatteur: rabatteuse
658
+ rabbin: rabbine
659
+ raboteur: raboteuse
660
+ raccommodeur: raccommodeuse
661
+ racleur: racleuse
662
+ radariste: radariste
663
+ radiesthésiste: radiesthésiste
664
+ radioanimateur: radioanimatrice
665
+ radiodiagnosticien: radiodiagnosticienne
666
+ radioélectricien: radioélectricienne
667
+ radiologiste: radiologiste
668
+ radiologue: radiologue
669
+ radio: radio
670
+ radioreporter: radioreporter
671
+ radiothérapeute: radiothérapeute
672
+ raffineur: raffineuse
673
+ raineur: raineuse
674
+ ramasseur: ramasseuse
675
+ rameur: rameuse
676
+ ramoneur: ramoneuse
677
+ randonneur: randonneuses
678
+ rapporteur: rapporteuse
679
+ réalisateur: réalisatrice
680
+ récepteur: réceptrice
681
+ réfugié: réfugiée
682
+ releveur: releveuse
683
+ religieux: religieuse
684
+ rembourreur: rembourreuse
685
+ remmailleur: remmailleuse
686
+ remorqueur: remorqueuse
687
+ rémouleur: rémouleuse
688
+ remplaçant: remplaçante
689
+ rendeur: rendeuse
690
+ réparateur: réparatrice
691
+ répartiteur: répartitrice
692
+ repasseur: repasseuse
693
+ répétiteur: répétitrice
694
+ répondant: répondante
695
+ reporter: reporter
696
+ reporteur: reporteuse
697
+ repousseur: repousseuse
698
+ représentant: représentante
699
+ reproducteur: reproductrice
700
+ reprographe: reprographe
701
+ reprolithographe: reprolithographe
702
+ requérant: requérante
703
+ réserviste: réserviste
704
+ résident: résidente
705
+ responsable: responsable
706
+ ressemeleur: ressemeleuse
707
+ restaurateur: restauratrice
708
+ restituteur: restitutrice
709
+ retoucheur: retoucheuse
710
+ retraité: retraitée
711
+ revendeur: revendeuse
712
+ révérend: révérende
713
+ réviseur: réviseuse
714
+ revuiste: revuiste
715
+ rhabilleur: rhabilleuse
716
+ rhumatologue: rhumatologue
717
+ riveur: riveuse
718
+ riziculteur: rizicultrice
719
+ robinetier: robinetière
720
+ roboticien: roboticienne
721
+ rodeur: rodeuse
722
+ roi: reine
723
+ romancier: romancière
724
+ romanisant: romanisante
725
+ romaniste: romaniste
726
+ rosiériste: rosiériste
727
+ rotativiste: rotativiste
728
+ rôtisseur: rôtisseuse
729
+ routeur: routeuse
730
+ routier: routière
731
+ rugbyman: rugbywoman
732
+ sableur: sableuse
733
+ sabotier: sabotière
734
+ sacrificateur: sacrificatrice
735
+ sacristain: sacristaine
736
+ saint: sainte
737
+ saisisseur: saisisseuse
738
+ saisonnier: saisonnière
739
+ salarié: salariée
740
+ salutiste: salutiste
741
+ samaritain: samaritaine
742
+ sapeur: sapeuse
743
+ sauveteur: sauveteuse
744
+ sauveur: sauveuse
745
+ savant: savante
746
+ scénariste: scénariste
747
+ sculpteur: sculptrice
748
+ sécheur: sécheuse
749
+ second: seconde
750
+ sellier: sellière
751
+ sénateur: sénatrice
752
+ servant: servante
753
+ serveur: serveuse
754
+ skateur: skateuse
755
+ skieur: skieuse
756
+ soignant: soignante
757
+ soigneur: soigneuse
758
+ soldat: soldate
759
+ soliste: soliste
760
+ solliciteur: solliciteuse
761
+ sommelier: sommelière
762
+ sondeur: sondeuse
763
+ sonneur: sonneuse
764
+ sophrologue: sophrologue
765
+ sorcier: sorcière
766
+ sortant: sortante
767
+ soudeur: soudeuse
768
+ souffleur: souffleuse
769
+ soussigné: soussignée
770
+ soviétologue: soviétologue
771
+ speaker: speakerine
772
+ spécialiste: spécialiste
773
+ spectateur: spectatrice
774
+ spéléologue: spéléologue
775
+ spéléonaute: spéléonaute
776
+ spoliateur: spoliatrice
777
+ sponsor: sponsore
778
+ sportif: sportive
779
+ standardiste: standardiste
780
+ statisticien: statisticienne
781
+ stoppeur: stoppeuse
782
+ stripteaseur: stripteaseuse
783
+ stucateur: stucatrice
784
+ styliste: styliste
785
+ substitut: substitute
786
+ successeur: successeuse
787
+ suiveur: suiveuse
788
+ sujet: sujette
789
+ supérieur: supérieure
790
+ superviseur: superviseuse
791
+ suppléant: suppléante
792
+ supporteur: supportrice
793
+ surfeur: surfeuse
794
+ surintendant: surintendante
795
+ surveillant: surveillante
796
+ beau: belle
797
+ joyeux: joyeuse
798
+ il: elle
799
+ ils: elles
800
+ présent: presente
801
+ nouveau: nouvelle
802
+ inscrit: inscrite
803
+ animateur: animatrice
804
+ joueur: joueuse
805
+ pareil: pareille
806
+ pareils: pareilles
807
+ monsieur: madame
808
+ m: mme
809
+ le: la
810
+ chers: chères
811
+ cher: chère
812
+ bon: bonne
813
+ super: superbe
814
+ un: une
815
+ heureux: heureuse
816
+ doux: douce
817
+ tranquil: tranquille
818
+ gros: grosse
819
+ sérieux: sérieuse
820
+ ancien: ancienne
821
+ certain: certaine
822
+ sûr: sûre
823
+ content: contente
824
+ entier: entière
825
+ gentil: gentille
826
+ léger: légère
827
+ petit: petite
828
+ prochain: prochaine
829
+ copain: copine
830
+ joggeur: joggeuse
831
+ fier: fière
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: conchiterz
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clement Morisset
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-12-16 00:00:00.000000000 Z
11
+ date: 2019-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -59,6 +59,7 @@ executables: []
59
59
  extensions: []
60
60
  extra_rdoc_files: []
61
61
  files:
62
+ - ".circleci/config.yml"
62
63
  - ".gitignore"
63
64
  - CODE_OF_CONDUCT.md
64
65
  - Gemfile
@@ -69,7 +70,11 @@ files:
69
70
  - bin/setup
70
71
  - conchiterz.gemspec
71
72
  - lib/conchiterz.rb
73
+ - lib/config.rb
74
+ - lib/punctuation.rb
75
+ - lib/typography.rb
72
76
  - lib/version.rb
77
+ - lib/words.yaml
73
78
  homepage: https://github.com/morissetcl/conchiterz
74
79
  licenses:
75
80
  - MIT
@@ -90,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
90
95
  version: '0'
91
96
  requirements: []
92
97
  rubyforge_project:
93
- rubygems_version: 2.5.1
98
+ rubygems_version: 2.7.6
94
99
  signing_key:
95
100
  specification_version: 4
96
101
  summary: Conchiterz allows you to feminize french sentence