ffaker 2.4.0 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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