ffaker 2.4.0 → 2.5.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.
@@ -0,0 +1,357 @@
1
+ أباظة
2
+ أبو الشامات
3
+ أبو جيب
4
+ أبو حرب
5
+ أبو شعر
6
+ أبو طوق
7
+ أبو قورة
8
+ الإدلبي
9
+ الأسطواني
10
+ الأصبحي
11
+ الأصيل
12
+ الأعمى
13
+ آق بيق
14
+ الأكرمي
15
+ الإلشي
16
+ الإمام
17
+ الأنصاري
18
+ الإيبش
19
+ الإيتوني
20
+ الأيوبي
21
+ البارودي
22
+ الباني
23
+ الببيلي
24
+ البحرة
25
+ بدرخان
26
+ بدير
27
+ البرقاوي
28
+ بركات
29
+ البرهاني
30
+ البزرة
31
+ البزم
32
+ البعلبكي
33
+ البغا
34
+ بقدونس
35
+ بكداش
36
+ البكري
37
+ بني المرجة
38
+ البهنسي
39
+ بوظو
40
+ بولاد
41
+ بيازيد
42
+ بيضون
43
+ البيطار
44
+ التاجي
45
+ الترزي
46
+ التغلبي
47
+ التقي
48
+ تقي الدين
49
+ التكريتي
50
+ تللو
51
+ تمر أغا
52
+ توكلنا
53
+ الجابي
54
+ الجاجة
55
+ الجبَّان
56
+ جبري
57
+ الجزائري
58
+ الجعفري
59
+ الجلاد
60
+ جمعة
61
+ الجندلي
62
+ الجنيدي
63
+ الجوخدار
64
+ الجولاق
65
+ الجويجاتي
66
+ الحاج ويس
67
+ الحافظ
68
+ الحايك
69
+ حباب
70
+ الحبال
71
+ حبنكة
72
+ حتاحت
73
+ الحجار
74
+ حجازي الكيلاني
75
+ الحرش
76
+ الحسني
77
+ الحسيبي
78
+ الحسين
79
+ الحسيني
80
+ الحصري
81
+ الحصني
82
+ الحفار
83
+ الحكيم
84
+ الحلبوني
85
+ الحلبي
86
+ الحلواني
87
+ الحمزاوي
88
+ حمزة
89
+ حمودة
90
+ الحموي
91
+ الحنبلي
92
+ الحواصلي
93
+ الخاني
94
+ الخجا
95
+ الخرده جي
96
+ الخرسا
97
+ الخرفان
98
+ الخشة
99
+ خطاب
100
+ الخطيب
101
+ الخن
102
+ الخوري
103
+ الخياط
104
+ الخيمي
105
+ الدالاتي
106
+ الداودي
107
+ دبس وزيت
108
+ الدبسي
109
+ الدبوسي
110
+ الدرَّة
111
+ الدردري
112
+ دركشلي
113
+ دركل
114
+ الدسوقي
115
+ الدقر
116
+ دقماق
117
+ دك الباب
118
+ الدكدك
119
+ الدهان
120
+ دُهمان
121
+ الدوه جي
122
+ دياب
123
+ ديب
124
+ ديركي
125
+ الذهبي
126
+ راجح
127
+ الرباط
128
+ الرجلة
129
+ الرفاعي
130
+ الركابي
131
+ الرملي
132
+ الرهونجي
133
+ الروماني
134
+ الزالق
135
+ الزركلي
136
+ زريق
137
+ الزعيم
138
+ الزكي
139
+ السادات
140
+ الساطي
141
+ السباعي
142
+ سبح
143
+ السبسبي الرفاعي
144
+ السبيعي
145
+ سردست
146
+ سرور
147
+ السعدي الجباوي
148
+ السفرجلاني
149
+ سقا أميني
150
+ السقطي
151
+ سكر
152
+ سلطان
153
+ سليق
154
+ السمان
155
+ سوار
156
+ سويد
157
+ السيروان
158
+ السيوفي
159
+ الشاش
160
+ شامية
161
+ شباط
162
+ شبيب
163
+ شخاشيرو
164
+ الشرابي
165
+ الشربجي
166
+ شرف
167
+ الشطي
168
+ الشعار
169
+ الشعال
170
+ شكري
171
+ الشلاح
172
+ الشلق
173
+ شلهوب
174
+ الشماع
175
+ شمدين آغا
176
+ الشمعة
177
+ الشملي
178
+ شموط
179
+ شميس
180
+ الشهابي
181
+ الشهبندر
182
+ شورى
183
+ الشويكي
184
+ الشيباني
185
+ شيخ الأرض
186
+ الشيخ عثمان
187
+ الصباغ
188
+ الصبان
189
+ صحناوي
190
+ الصفدي
191
+ صلاح الدين
192
+ الصلاحي
193
+ الصلح
194
+ الصمادي
195
+ صندوق
196
+ الصواف
197
+ الصوص
198
+ طالو
199
+ الطباخ
200
+ الطباع
201
+ الطرابلسي
202
+ الطرابيشي
203
+ الطنطاوي
204
+ الطويل
205
+ الطيب
206
+ الطيبي
207
+ الطيلوني
208
+ العابد
209
+ عابدين
210
+ العامري
211
+ العاني
212
+ العائدي
213
+ العباسي
214
+ العبه جي
215
+ عبيد
216
+ العجة
217
+ العجلاني
218
+ العجلوني
219
+ العدوي
220
+ عرار
221
+ عربي كاتبي
222
+ عرفات
223
+ عرفة
224
+ عرقتنجي
225
+ العرقسوسي
226
+ عرنوس
227
+ عزقول
228
+ العسلي
229
+ العش
230
+ العطار
231
+ العطري
232
+ عطفة
233
+ العظم
234
+ العظمة
235
+ العقاد
236
+ علايا
237
+ العلبي
238
+ العلمي
239
+ العلواني
240
+ العمادي
241
+ العمري
242
+ عناية
243
+ العنبري
244
+ عنجوري
245
+ العوا
246
+ العوف
247
+ الغبرا
248
+ الغراوي
249
+ الغزي
250
+ الغلاييني
251
+ الغميان
252
+ الغنيمي
253
+ الفتال
254
+ الفرا
255
+ الفرفور
256
+ الفقير
257
+ الفيومي
258
+ القاري
259
+ القاسمي
260
+ القباقيبي
261
+ القباني
262
+ القتابي
263
+ قدامة
264
+ القدسي
265
+ قزيها
266
+ قشلان
267
+ القصاب
268
+ قصاب حسن
269
+ القصار
270
+ القصاص
271
+ القصص
272
+ قصيباتي
273
+ القضماني
274
+ القطب
275
+ قطنا
276
+ القلطقجي
277
+ القنواتي
278
+ القوادري
279
+ القواس
280
+ القواص
281
+ القوتلي
282
+ القولي
283
+ قويدر
284
+ الكاتب
285
+ الكاملي
286
+ الكتاني
287
+ كحالة
288
+ كردعلي
289
+ الكرمي
290
+ الكزبري
291
+ الكسم
292
+ كفتارو
293
+ الكناني
294
+ كنج
295
+ الكيال
296
+ الكيالي
297
+ الكيلاني
298
+ كيوان
299
+ اللوجي
300
+ الليموني
301
+ المارديني
302
+ المالح
303
+ المالكي
304
+ المبارك
305
+ المتولي
306
+ المجتهد
307
+ المجذوب
308
+ المحاسني
309
+ المحايري
310
+ المحملجي
311
+ المخيش
312
+ المدور
313
+ المرابط
314
+ مراد
315
+ المرادي
316
+ المراكشي
317
+ المرتضى
318
+ مردم بك
319
+ مريدن
320
+ المسوتي
321
+ مشاقة
322
+ معتوق
323
+ المعصراني
324
+ المفتي
325
+ المكتبي
326
+ المكي الشريف
327
+ الملاح
328
+ ملص
329
+ المنجد
330
+ المنير
331
+ المنيني
332
+ المهايني
333
+ الموره لي
334
+ الموصلي
335
+ الموقع
336
+ المولوي
337
+ المؤيد العظم
338
+ الميداني
339
+ النابلسي
340
+ الناشف
341
+ النائلي
342
+ النحاس
343
+ النحلاوي
344
+ النص
345
+ نصري
346
+ نظام
347
+ النفاخ
348
+ النقشبندي
349
+ النوري
350
+ النويلاتي
351
+ هاشم
352
+ الهبل
353
+ هيكل
354
+ ياسين الصباغ
355
+ اليافي
356
+ اليعقوبي
357
+ اليوسف
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+ # encoding: utf-8
3
+
4
+ module FFaker
5
+ module NameAR
6
+ extend ModuleUtils
7
+ extend self
8
+
9
+ def first_name_male
10
+ fetch_sample(FIRST_NAMES_MALE)
11
+ end
12
+
13
+ def first_name_female
14
+ fetch_sample(FIRST_NAMES_FEMALE)
15
+ end
16
+
17
+ def last_name
18
+ fetch_sample(LAST_NAMES)
19
+ end
20
+
21
+ def name_male
22
+ "#{first_name_male} #{last_name}"
23
+ end
24
+
25
+ def name_female
26
+ "#{first_name_female} #{last_name}"
27
+ end
28
+ end
29
+ end
@@ -54,23 +54,27 @@ module FFaker
54
54
  def imei(serial_number = nil)
55
55
  # IMEI Format:
56
56
  # AA-BBBBBB-CCCCCC-D
57
-
58
- rbi = '00' # Test IMEI for countries with 2-digit country codes
59
- tac = "#{rbi}124500" # iPhone
60
-
57
+ characters = Array.new(15, 0)
58
+ rbi_codes = %w(01 10 30 33 35 44 45 49 50 51 52 53 54 86 91 98 99)
61
59
  serial_number ||= rand(1_000_000)
62
- serial_number = sprintf('%06d', serial_number)
63
-
64
- imei_base = tac + serial_number
65
-
66
- check_digit = 0
67
- base_digits = imei_base.split('').map(&:to_i)
68
- base_digits.each_with_index do |digit, i|
69
- check_digit += i.even? ? 2 * digit : digit
60
+ serial_number = format('%06d', serial_number).chars.map(&:to_i)
61
+ first_two_chars = fetch_sample(rbi_codes)
62
+ characters[0, 2] = first_two_chars.chars.map(&:to_i)
63
+ # serial number part
64
+ 2.upto(7) do |current_position|
65
+ characters[current_position] = fetch_sample((0..9).to_a)
70
66
  end
71
- check_digit = (10 - check_digit % 10) % 10
72
-
73
- "#{imei_base}#{check_digit}"
67
+ 8.upto(13) do |current_position|
68
+ characters[current_position] = serial_number[current_position - 8]
69
+ end
70
+ current_checksum = characters.reverse.each_with_index.inject(0) do |sum, (digit, i)|
71
+ digit *= 2 if i.odd?
72
+ digit -= 9 if digit > 9
73
+ sum + digit
74
+ end
75
+ final_digit = (10 - (current_checksum % 10)) % 10
76
+ characters[14] = final_digit
77
+ characters.join
74
78
  end
75
79
  end
76
80
  end
@@ -0,0 +1,58 @@
1
+ # encoding: utf-8
2
+ # frozen_string_literal: true
3
+ require 'helper'
4
+
5
+ class TestAddressJA < Test::Unit::TestCase
6
+ include DeterministicHelper
7
+
8
+ assert_methods_are_deterministic(
9
+ FFaker::AddressJA,
10
+ :address, :other_address, :designated_city_address, :tokyo_ward_address,
11
+ :zip_code, :land_number, :tokyo_ward, :ward, :village, :city, :county,
12
+ :prefecture
13
+ )
14
+
15
+ def test_postal_code
16
+ assert_match(/^\d{3}\-\d{4}$/, FFaker::AddressJA.postal_code)
17
+ end
18
+
19
+ def test_land_number
20
+ assert_match(/^\d丁目\d番\d号|\d{3}$/, FFaker::AddressJA.land_number)
21
+ end
22
+
23
+ def test_street
24
+ assert_match(japanese_regex(''), FFaker::AddressJA.street)
25
+ end
26
+
27
+ def test_tokyo_ward
28
+ assert_match(japanese_regex('区'), FFaker::AddressJA.tokyo_ward)
29
+ end
30
+
31
+ def test_ward
32
+ assert_match(japanese_regex('区'), FFaker::AddressJA.ward)
33
+ end
34
+
35
+ def test_village
36
+ assert_match(japanese_regex('村'), FFaker::AddressJA.village)
37
+ end
38
+
39
+ def test_designated_city
40
+ assert_match(japanese_regex('市'), FFaker::AddressJA.city)
41
+ end
42
+
43
+ def test_city
44
+ assert_match(japanese_regex('市'), FFaker::AddressJA.city)
45
+ end
46
+
47
+ def test_county
48
+ assert_match(japanese_regex('郡'), FFaker::AddressJA.county)
49
+ end
50
+
51
+ def test_prefecture
52
+ assert_match(japanese_regex('[都道府県]'), FFaker::AddressJA.prefecture)
53
+ end
54
+
55
+ def japanese_regex(word)
56
+ /\A(?:\p{Hiragana}|\p{Katakana}|[ー-]|[一-龠々])+#{word}\z/
57
+ end
58
+ end