name_tamer 0.6.0 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +1 -0
- data/.rubocop.yml +34 -36
- data/.travis.yml +2 -4
- data/Gemfile +9 -3
- data/Guardfile +2 -0
- data/README.md +0 -1
- data/Rakefile +2 -0
- data/lib/name-tamer.rb +2 -0
- data/lib/name_tamer.rb +1 -1
- data/lib/name_tamer/array.rb +1 -1
- data/lib/name_tamer/constants.rb +406 -53
- data/lib/name_tamer/name.rb +4 -2
- data/lib/name_tamer/string.rb +350 -67
- data/lib/name_tamer/text.rb +4 -2
- data/lib/name_tamer/version.rb +3 -1
- data/name_tamer.gemspec +4 -3
- metadata +4 -14
- data/spec/name_tamer/name_spec.rb +0 -95
- data/spec/name_tamer/string_spec.rb +0 -5
- data/spec/name_tamer/text_spec.rb +0 -40
- data/spec/spec_helper.rb +0 -14
- data/spec/support/names.yml +0 -741
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cc005aab6cf23f19cf21ee423d7e3c0b61e820e1dd115eaee6e058c93bfb29ca
|
4
|
+
data.tar.gz: e1a792e62234a8a2fc49f3bde8596627d895a3dc035763b42f4c31c174adab2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eeb9dba6eb6b560a1d58b54211db386d79d1dee64f761a78230f64847f53dea2786052daf7ec2ea33d5792f7148dbaadd97d074ca7e9a479e8bd8239a842e8eb
|
7
|
+
data.tar.gz: a2776328194cc8ff76d9d201b0ca8f0d9e8b902a718223bf449afd5e298ef8006a2b8a1f9ed0ac32aefa8e27db38e2eae4e46689b11fa54e9f2cf993325621b9
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,63 +1,61 @@
|
|
1
1
|
---
|
2
2
|
AllCops:
|
3
|
-
TargetRubyVersion: 2.0
|
4
3
|
DisplayCopNames: true
|
4
|
+
DisplayStyleGuide: true
|
5
5
|
Exclude:
|
6
|
-
-
|
6
|
+
- bin/**/*
|
7
|
+
- tmp/**/*
|
7
8
|
- '**/*.rake'
|
8
9
|
|
10
|
+
Layout/DotPosition:
|
11
|
+
EnforcedStyle: leading
|
12
|
+
Enabled: true
|
13
|
+
|
14
|
+
Layout/ExtraSpacing:
|
15
|
+
Enabled: true
|
16
|
+
|
9
17
|
Metrics/BlockLength:
|
10
18
|
CountComments: false # count full line comments?
|
11
19
|
Exclude:
|
12
20
|
- '**/*_spec.rb'
|
13
21
|
|
14
|
-
|
15
|
-
|
22
|
+
Metrics/ClassLength:
|
23
|
+
CountComments: false # count full line comments?
|
24
|
+
Exclude:
|
25
|
+
- lib/name_tamer/name.rb
|
26
|
+
- lib/name_tamer/string.rb
|
27
|
+
|
28
|
+
Metrics/CyclomaticComplexity:
|
29
|
+
Max: 8
|
30
|
+
|
31
|
+
Metrics/LineLength:
|
16
32
|
Max: 120
|
17
33
|
Enabled: true
|
18
34
|
|
19
|
-
MethodLength:
|
20
|
-
Description: 'Avoid methods longer than 10 lines of code.'
|
35
|
+
Metrics/MethodLength:
|
21
36
|
Max: 23
|
22
37
|
Enabled: true
|
23
38
|
|
24
|
-
|
25
|
-
|
39
|
+
Metrics/ModuleLength:
|
40
|
+
CountComments: false # count full line comments?
|
41
|
+
Exclude:
|
42
|
+
- lib/name_tamer/constants.rb
|
43
|
+
|
44
|
+
Naming/FileName:
|
26
45
|
Enabled: false
|
27
46
|
|
28
|
-
|
29
|
-
Description: 'Use snake_case for source file names.'
|
47
|
+
Style/Documentation:
|
30
48
|
Enabled: false
|
31
49
|
|
32
|
-
|
33
|
-
Description: 'Checks the position of the dot in multi-line method calls.'
|
34
|
-
EnforcedStyle: leading
|
35
|
-
# EnforcedStyle: trailing
|
50
|
+
Style/MutableConstant:
|
36
51
|
Enabled: true
|
37
52
|
|
38
|
-
StringLiterals:
|
53
|
+
Style/StringLiterals:
|
39
54
|
EnforcedStyle: single_quotes
|
40
55
|
Enabled: true
|
41
56
|
|
42
|
-
|
43
|
-
|
44
|
-
Max: 8
|
45
|
-
|
46
|
-
ClassLength:
|
47
|
-
Description: 'Avoid classes longer than 100 lines of code.'
|
48
|
-
CountComments: false # count full line comments?
|
49
|
-
Max: 334
|
50
|
-
|
51
|
-
ExtraSpacing:
|
52
|
-
Enabled: true
|
57
|
+
Style/TrailingCommaInArrayLiteral:
|
58
|
+
EnforcedStyleForMultiline: comma
|
53
59
|
|
54
|
-
Style/
|
55
|
-
|
56
|
-
# different defaults, so we set them explicitly here.
|
57
|
-
PreferredDelimiters:
|
58
|
-
default: ()
|
59
|
-
'%i': '[]'
|
60
|
-
'%I': '[]'
|
61
|
-
'%r': '{}'
|
62
|
-
'%w': '[]'
|
63
|
-
'%W': '[]'
|
60
|
+
Style/TrailingCommaInHashLiteral:
|
61
|
+
EnforcedStyleForMultiline: comma
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
@@ -1,15 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
source 'https://rubygems.org'
|
2
4
|
gemspec
|
3
5
|
ruby RUBY_VERSION
|
4
6
|
|
5
|
-
group :development do
|
6
|
-
gem '
|
7
|
-
gem 'gem-release'
|
7
|
+
group :development, :test do
|
8
|
+
gem 'byebug'
|
8
9
|
gem 'guard'
|
9
10
|
gem 'guard-rspec'
|
10
11
|
gem 'guard-rubocop'
|
11
12
|
end
|
12
13
|
|
14
|
+
group :development do
|
15
|
+
gem 'bundler'
|
16
|
+
gem 'gem-release'
|
17
|
+
end
|
18
|
+
|
13
19
|
group :test do
|
14
20
|
gem 'codeclimate-test-reporter'
|
15
21
|
gem 'coveralls'
|
data/Guardfile
CHANGED
data/README.md
CHANGED
@@ -5,7 +5,6 @@
|
|
5
5
|
[![Build Status](https://travis-ci.org/dominicsayers/name_tamer.svg?branch=master)](https://travis-ci.org/dominicsayers/name_tamer)
|
6
6
|
[![Code Climate](https://codeclimate.com/github/dominicsayers/name_tamer/badges/gpa.svg)](https://codeclimate.com/github/dominicsayers/name_tamer)
|
7
7
|
[![Test Coverage](https://codeclimate.com/github/dominicsayers/name_tamer/badges/coverage.svg)](https://codeclimate.com/github/dominicsayers/name_tamer/coverage)
|
8
|
-
[![Dependency Status](https://gemnasium.com/badges/github.com/dominicsayers/name_tamer.svg)](https://gemnasium.com/github.com/dominicsayers/name_tamer)
|
9
8
|
[![Security](https://hakiri.io/github/dominicsayers/name_tamer/master.svg)](https://hakiri.io/github/dominicsayers/name_tamer/master)
|
10
9
|
|
11
10
|
NameTamer: making sense of names
|
data/Rakefile
CHANGED
data/lib/name-tamer.rb
CHANGED
data/lib/name_tamer.rb
CHANGED
data/lib/name_tamer/array.rb
CHANGED
data/lib/name_tamer/constants.rb
CHANGED
@@ -1,8 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module NameTamer
|
2
|
-
NONBREAKING_SPACE = "\u00a0"
|
3
|
-
ASCII_SPACE = ' '
|
4
|
-
ADFIX_JOINERS = "[#{ASCII_SPACE}-]"
|
5
|
-
SLUG_DELIMITER = '-'
|
4
|
+
NONBREAKING_SPACE = "\u00a0"
|
5
|
+
ASCII_SPACE = ' '
|
6
|
+
ADFIX_JOINERS = "[#{ASCII_SPACE}-]"
|
7
|
+
SLUG_DELIMITER = '-'
|
6
8
|
ZERO_WIDTH_FILTER = /[\u180E\u200B\u200C\u200D\u2063\uFEFF]/
|
7
9
|
|
8
10
|
# Constants for parameterizing Unicode strings for IRIs
|
@@ -34,12 +36,12 @@ module NameTamer
|
|
34
36
|
# We're using the most restrictive segment definition (isegment-nz-nc)
|
35
37
|
# to avoid any possible problems with the IRI that it one day might
|
36
38
|
# get placed in.
|
37
|
-
ALPHA = 'A-Za-z'
|
38
|
-
DIGIT = '0-9'
|
39
|
-
UCSCHAR = '\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF'
|
40
|
-
IUNRESERVED = "#{ALPHA}#{DIGIT}\\-\\._~#{UCSCHAR}"
|
41
|
-
SUBDELIMS = '!$&\'\(\)\*+,;='
|
42
|
-
ISEGMENT_NZ_NC = "#{IUNRESERVED}#{SUBDELIMS}@"
|
39
|
+
ALPHA = 'A-Za-z'
|
40
|
+
DIGIT = '0-9'
|
41
|
+
UCSCHAR = '\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF'
|
42
|
+
IUNRESERVED = "#{ALPHA}#{DIGIT}\\-\\._~#{UCSCHAR}"
|
43
|
+
SUBDELIMS = '!$&\'\(\)\*+,;='
|
44
|
+
ISEGMENT_NZ_NC = "#{IUNRESERVED}#{SUBDELIMS}@" # pct-encoded not needed
|
43
45
|
FILTER_RFC3987 = /[^#{ISEGMENT_NZ_NC}]/
|
44
46
|
FILTER_COMPAT = /[^#{ALPHA}#{DIGIT}\-_#{UCSCHAR}]/
|
45
47
|
|
@@ -50,60 +52,411 @@ module NameTamer
|
|
50
52
|
ADFIXES = {
|
51
53
|
prefix: {
|
52
54
|
person: [
|
53
|
-
'Baroness',
|
54
|
-
'
|
55
|
-
'
|
56
|
-
'
|
57
|
-
'
|
58
|
-
'
|
59
|
-
'
|
55
|
+
'Baroness',
|
56
|
+
'Capt.',
|
57
|
+
'Captain',
|
58
|
+
'Col.',
|
59
|
+
'Colonel',
|
60
|
+
'Dame',
|
61
|
+
'Doctor',
|
62
|
+
'Doktor',
|
63
|
+
'Dr.',
|
64
|
+
'Frau',
|
65
|
+
'Herr',
|
66
|
+
'Judge',
|
67
|
+
'Justice',
|
68
|
+
'Lady',
|
69
|
+
'Lieut.',
|
70
|
+
'Lieutenant',
|
71
|
+
'Lord',
|
72
|
+
'Madame',
|
73
|
+
'Major',
|
74
|
+
'Master',
|
75
|
+
'Matron',
|
76
|
+
'Messrs.',
|
77
|
+
'Mgr.',
|
78
|
+
'Miss',
|
79
|
+
'Mister',
|
80
|
+
'Mlle.',
|
81
|
+
'Mme.',
|
82
|
+
'Mons.',
|
83
|
+
'Mr. & Mrs.',
|
84
|
+
'Mr. and Mrs.',
|
85
|
+
'Mr.',
|
86
|
+
'Mrs.',
|
87
|
+
'Ms.',
|
88
|
+
'Msgr.',
|
89
|
+
'Prof.',
|
90
|
+
'Professor',
|
91
|
+
'Rev.',
|
92
|
+
'Reverend',
|
93
|
+
'Sir',
|
94
|
+
'Sister',
|
95
|
+
'The Hon.',
|
96
|
+
'The Lady.',
|
97
|
+
'The Lord',
|
98
|
+
'The Rt. Hon.',
|
60
99
|
],
|
61
100
|
organization: [
|
62
|
-
'Fa.',
|
101
|
+
'Fa.',
|
102
|
+
'P.T. Tbk.',
|
103
|
+
'P.T.',
|
104
|
+
'U.D.',
|
63
105
|
],
|
64
106
|
before: '\\A', after: ADFIX_JOINERS
|
65
107
|
},
|
66
108
|
suffix: {
|
67
109
|
person: [
|
68
|
-
'
|
69
|
-
'
|
70
|
-
'
|
71
|
-
'
|
72
|
-
'
|
73
|
-
'
|
74
|
-
'
|
75
|
-
'
|
76
|
-
'
|
77
|
-
'
|
78
|
-
'
|
79
|
-
'
|
80
|
-
'
|
110
|
+
'A.A.M.S.',
|
111
|
+
'A.C.A.',
|
112
|
+
'A.C.C.',
|
113
|
+
'A.C.C.A.',
|
114
|
+
'A.C.M.A.',
|
115
|
+
'A.E.P.',
|
116
|
+
'A.I.F.',
|
117
|
+
'A.I.F.A.',
|
118
|
+
'A.S.A.',
|
119
|
+
'A.W.M.A.',
|
120
|
+
'B.A.',
|
121
|
+
'B.Ed.',
|
122
|
+
'B.Eng.',
|
123
|
+
'B.Sc.',
|
124
|
+
'B.Tech.',
|
125
|
+
'C.A.',
|
126
|
+
'C.A.I.A.',
|
127
|
+
'C.A.P.M.',
|
128
|
+
'C.B.V.',
|
129
|
+
'C.C.I.M.',
|
130
|
+
'C.D.F.A.',
|
131
|
+
'C.E.M.',
|
132
|
+
'C.E.P.P.',
|
133
|
+
'C.Eng.',
|
134
|
+
'C.F.A.',
|
135
|
+
'C.F.B.S.',
|
136
|
+
'C.F.F.',
|
137
|
+
'C.F.P.',
|
138
|
+
'C.F.S.',
|
139
|
+
'C.G.A.',
|
140
|
+
'C.G.B.',
|
141
|
+
'C.G.M.A.',
|
142
|
+
'C.G.P.',
|
143
|
+
'C.I.M.',
|
144
|
+
'C.I.S.S.P.',
|
145
|
+
'C.I.T.P.',
|
146
|
+
'C.L.P.',
|
147
|
+
'C.L.T.C.',
|
148
|
+
'C.L.U.',
|
149
|
+
'C.M.A.',
|
150
|
+
'C.M.T.',
|
151
|
+
'C.P.A.',
|
152
|
+
'C.P.C.C.',
|
153
|
+
'C.R.P.C.',
|
154
|
+
'C.R.P.S.',
|
155
|
+
'C.S.O.X.',
|
156
|
+
'C.S.S.D.',
|
157
|
+
'C.T.A.',
|
158
|
+
'C.W.S.',
|
159
|
+
'Cantab.',
|
160
|
+
'Ch.F.C.',
|
161
|
+
'Chartered F.C.S.I.',
|
162
|
+
'Chartered M.C.S.I.',
|
163
|
+
'D.B.E.',
|
164
|
+
'D.D.S.',
|
165
|
+
'D.Phil.',
|
166
|
+
'D.V.M.',
|
167
|
+
'Dip. D.M.',
|
168
|
+
'E.A.',
|
169
|
+
'E.R.P.',
|
170
|
+
'Ed.D.',
|
171
|
+
'Ed.M.',
|
172
|
+
'Eng.D.',
|
173
|
+
'Esq.',
|
174
|
+
'F.B.C.S.',
|
175
|
+
'F.C.A.',
|
176
|
+
'F.C.C.A.',
|
177
|
+
'F.C.I.P.S.',
|
178
|
+
'F.C.M.I.',
|
179
|
+
'F.C.S.I.',
|
180
|
+
'F.I.E.T.',
|
181
|
+
'F.I.R.P.',
|
182
|
+
'F.Inst.L.M.',
|
183
|
+
'F.P.C.',
|
184
|
+
'F.R.M.',
|
185
|
+
'F.R.M.',
|
186
|
+
'G.S.P.',
|
187
|
+
'Hons.',
|
188
|
+
'I.F.R.S. Certified',
|
189
|
+
'I.T.I.L. v3',
|
190
|
+
'II',
|
191
|
+
'III',
|
192
|
+
'IV',
|
193
|
+
'J.D.',
|
194
|
+
'Jr.',
|
195
|
+
'K.C.',
|
196
|
+
'L.P.S.',
|
197
|
+
'LL.B.',
|
198
|
+
'LL.D.',
|
199
|
+
'LL.M.',
|
200
|
+
'M.A.',
|
201
|
+
'M.B.A.',
|
202
|
+
'M.B.E.',
|
203
|
+
'M.D.',
|
204
|
+
'M.E.P.',
|
205
|
+
'M.Ed.',
|
206
|
+
'M.Eng.',
|
207
|
+
'M.I.E.T.',
|
208
|
+
'M.Io.D.',
|
209
|
+
'M.Jur.',
|
210
|
+
'M.P.',
|
211
|
+
'M.P.A.',
|
212
|
+
'M.R.I.C.S.',
|
213
|
+
'M.S.',
|
214
|
+
'M.S.F.',
|
215
|
+
'M.S.F.S.',
|
216
|
+
'M.S.P.',
|
217
|
+
'M.Sc. D.',
|
218
|
+
'M.Sc.',
|
219
|
+
'O.B.E.',
|
220
|
+
'O.K.',
|
221
|
+
'O.R.S.C.',
|
222
|
+
'Oxon.',
|
223
|
+
'P.A.',
|
224
|
+
'P.C.C.',
|
225
|
+
'P.F.S.',
|
226
|
+
'P.H.R.',
|
227
|
+
'P.M.C.',
|
228
|
+
'P.M.P.',
|
229
|
+
'P.M.P.',
|
230
|
+
'P.S.P.',
|
231
|
+
'Ph.D.',
|
232
|
+
'Q.C.',
|
233
|
+
'R.D.',
|
234
|
+
'R.F.C.',
|
235
|
+
'R.I.C.P.',
|
236
|
+
'S.C.M.P',
|
237
|
+
'Sr.',
|
238
|
+
'T.M.I.E.T.',
|
239
|
+
'V',
|
240
|
+
'V.M.D.',
|
81
241
|
],
|
82
242
|
organization: [
|
83
|
-
|
84
|
-
'
|
85
|
-
'S.
|
86
|
-
'
|
87
|
-
'
|
88
|
-
'
|
89
|
-
'
|
90
|
-
'
|
91
|
-
'S.
|
92
|
-
'
|
93
|
-
'
|
94
|
-
'
|
95
|
-
'
|
96
|
-
'
|
97
|
-
'
|
98
|
-
'
|
99
|
-
'
|
100
|
-
'
|
101
|
-
'
|
102
|
-
'
|
103
|
-
'
|
243
|
+
# These are sorted in length order: don't alphabetize them.
|
244
|
+
'S. de R.L. de C.V.',
|
245
|
+
'S.A.P.I. de C.V.',
|
246
|
+
'y. Cía. S. en C.',
|
247
|
+
'Private Limited',
|
248
|
+
'S.M. Pte. Ltd.',
|
249
|
+
'Cía. S. C. A.',
|
250
|
+
'y. Cía. S. C.',
|
251
|
+
'S.A. de C.V.',
|
252
|
+
'spol. s.r.o.',
|
253
|
+
'(Pty.) Ltd.',
|
254
|
+
'(Pvt.) Ltd.',
|
255
|
+
'A.D.S.I.Tz.',
|
256
|
+
'S.p. z.o.o.',
|
257
|
+
'(Pvt.)Ltd.',
|
258
|
+
'akc. spol.',
|
259
|
+
'Cía. Ltda.',
|
260
|
+
'E.B.V.B.A.',
|
261
|
+
'P. Limited',
|
262
|
+
'S. de R.L.',
|
263
|
+
'S.I.C.A.V.',
|
264
|
+
'S.P.R.L.U.',
|
265
|
+
'А.Д.С.И.Ц.',
|
266
|
+
'(P.) Ltd.',
|
267
|
+
'C. por A.',
|
268
|
+
'Comm.V.A.',
|
269
|
+
'Ltd. Şti.',
|
270
|
+
'Plc. Ltd.',
|
271
|
+
'Pte. Ltd.',
|
272
|
+
'Pty. Ltd.',
|
273
|
+
'Pvt. Ltd.',
|
274
|
+
'Soc. Col.',
|
275
|
+
'A.M.B.A.',
|
276
|
+
'A.S.B.L.',
|
277
|
+
'A.V.E.E.',
|
278
|
+
'B.V.B.A.',
|
279
|
+
'B.V.I.O.',
|
280
|
+
'C.V.B.A.',
|
281
|
+
'C.V.O.A.',
|
282
|
+
'E.E.I.G.',
|
283
|
+
'E.I.R.L.',
|
284
|
+
'E.O.O.D.',
|
285
|
+
'E.U.R.L.',
|
286
|
+
'F.M.B.A.',
|
287
|
+
'G.m.b.H.',
|
288
|
+
'Ges.b.R.',
|
289
|
+
'K.G.a.A.',
|
290
|
+
'L.L.L.P.',
|
291
|
+
'Ltd. Co.',
|
292
|
+
'Ltd. Co.',
|
293
|
+
'M.E.P.E.',
|
294
|
+
'n.y.r.t.',
|
295
|
+
'O.V.E.E.',
|
296
|
+
'P.E.E.C.',
|
297
|
+
'P.L.L.C.',
|
298
|
+
'P.L.L.C.',
|
299
|
+
'S. en C.',
|
300
|
+
'S.a.p.a.',
|
301
|
+
'S.A.R.L.',
|
302
|
+
'S.à.R.L.',
|
303
|
+
'S.A.S.U.',
|
304
|
+
'S.C.e.I.',
|
305
|
+
'S.C.O.P.',
|
306
|
+
'S.C.p.A.',
|
307
|
+
'S.C.R.I.',
|
308
|
+
'S.C.R.L.',
|
309
|
+
'S.M.B.A.',
|
310
|
+
'S.P.R.L.',
|
311
|
+
'Е.О.О.Д.',
|
312
|
+
'&. Cie.',
|
313
|
+
'and Co.',
|
314
|
+
'Comm.V.',
|
315
|
+
'Limited',
|
316
|
+
'P. Ltd.',
|
317
|
+
'Part.G.',
|
318
|
+
'Sh.p.k.',
|
319
|
+
'&. Co.',
|
320
|
+
'C.X.A.',
|
321
|
+
'd.n.o.',
|
322
|
+
'd.o.o.',
|
323
|
+
'E.A.D.',
|
324
|
+
'e.h.f.',
|
325
|
+
'E.P.E.',
|
326
|
+
'E.S.V.',
|
327
|
+
'F.C.P.',
|
328
|
+
'F.I.E.',
|
329
|
+
'G.b.R.',
|
330
|
+
'G.I.E.',
|
331
|
+
'G.M.K.',
|
332
|
+
'G.S.K.',
|
333
|
+
'H.U.F.',
|
334
|
+
'K.D.A.',
|
335
|
+
'k.f.t.',
|
336
|
+
'k.h.t.',
|
337
|
+
'k.k.t.',
|
338
|
+
'L.L.C.',
|
339
|
+
'L.L.P.',
|
340
|
+
'o.h.f.',
|
341
|
+
'O.H.G.',
|
342
|
+
'O.O.D.',
|
343
|
+
'O.y.j.',
|
344
|
+
'p.l.c.',
|
345
|
+
'P.S.U.',
|
346
|
+
'S.A.E.',
|
347
|
+
'S.A.S.',
|
348
|
+
'S.C.A.',
|
349
|
+
'S.C.E.',
|
350
|
+
'S.C.S.',
|
351
|
+
'S.E.M.',
|
352
|
+
'S.E.P.',
|
353
|
+
's.e.s.',
|
354
|
+
'S.G.R.',
|
355
|
+
'S.N.C.',
|
356
|
+
'S.p.A.',
|
357
|
+
'S.P.E.',
|
358
|
+
'S.R.L.',
|
359
|
+
's.r.o.',
|
360
|
+
'Unltd.',
|
361
|
+
'V.O.F.',
|
362
|
+
'V.o.G.',
|
363
|
+
'v.o.s.',
|
364
|
+
'V.Z.W.',
|
365
|
+
'z.r.t.',
|
366
|
+
'А.А.Т.',
|
367
|
+
'Е.А.Д.',
|
368
|
+
'З.А.Т.',
|
369
|
+
'К.Д.А.',
|
370
|
+
'О.О.Д.',
|
371
|
+
'Т.А.А.',
|
372
|
+
'股份有限公司',
|
373
|
+
'Ap.S.',
|
374
|
+
'Corp.',
|
375
|
+
'ltda.',
|
376
|
+
'Sh.A.',
|
377
|
+
'st.G.',
|
378
|
+
'Ultd.',
|
379
|
+
'a.b.',
|
380
|
+
'A.D.',
|
381
|
+
'A.E.',
|
382
|
+
'A.G.',
|
383
|
+
'A.S.',
|
384
|
+
'A.Ş.',
|
385
|
+
'A.y.',
|
386
|
+
'B.M.',
|
387
|
+
'b.t.',
|
388
|
+
'B.V.',
|
389
|
+
'C.A.',
|
390
|
+
'C.V.',
|
391
|
+
'd.d.',
|
392
|
+
'e.c.',
|
393
|
+
'E.E.',
|
394
|
+
'e.G.',
|
395
|
+
'E.I.',
|
396
|
+
'E.P.',
|
397
|
+
'E.T.',
|
398
|
+
'E.U.',
|
399
|
+
'e.v.',
|
400
|
+
'G.K.',
|
401
|
+
'G.P.',
|
402
|
+
'h.f.',
|
403
|
+
'Inc.',
|
404
|
+
'K.D.',
|
405
|
+
'K.G.',
|
406
|
+
'K.K.',
|
407
|
+
'k.s.',
|
408
|
+
'k.v.',
|
409
|
+
'K.y.',
|
410
|
+
'L.C.',
|
411
|
+
'L.P.',
|
412
|
+
'Ltd.',
|
413
|
+
'N.K.',
|
414
|
+
'N.L.',
|
415
|
+
'N.V.',
|
416
|
+
'O.E.',
|
417
|
+
'O.G.',
|
418
|
+
'O.Ü.',
|
419
|
+
'O.y.',
|
420
|
+
'P.C.',
|
421
|
+
'p.l.',
|
422
|
+
'Pty.',
|
423
|
+
'PUP.',
|
424
|
+
'Pvt.',
|
425
|
+
'r.t.',
|
426
|
+
'S.A.',
|
427
|
+
'S.D.',
|
428
|
+
'S.E.',
|
429
|
+
's.f.',
|
430
|
+
'S.L.',
|
431
|
+
'S.P.',
|
432
|
+
'S.s.',
|
433
|
+
'T.K.',
|
434
|
+
'T.Ü.',
|
435
|
+
'U.Ü.',
|
436
|
+
'Y.K.',
|
437
|
+
'А.Д.',
|
438
|
+
'І.П.',
|
439
|
+
'К.Д.',
|
440
|
+
'ПУП.',
|
441
|
+
'С.Д.',
|
442
|
+
'בע"מ',
|
443
|
+
'任意組合',
|
444
|
+
'匿名組合',
|
445
|
+
'合同会社',
|
446
|
+
'合名会社',
|
447
|
+
'合資会社',
|
448
|
+
'有限会社',
|
449
|
+
'有限公司',
|
450
|
+
'株式会社',
|
451
|
+
'A/S',
|
452
|
+
'G/S',
|
453
|
+
'I/S',
|
454
|
+
'K/S',
|
455
|
+
'P/S',
|
456
|
+
'S/A',
|
104
457
|
],
|
105
458
|
before: ADFIX_JOINERS, after: '\\z'
|
106
|
-
}
|
459
|
+
},
|
107
460
|
}.freeze
|
108
461
|
|
109
462
|
ADFIX_PATTERNS = Hash[%i[prefix suffix].map do |adfix_type|
|