ffaker 2.1.0 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Changelog.md +32 -21
- data/README.md +16 -16
- data/REFERENCE.md +925 -646
- data/ffaker.gemspec +73 -5
- data/lib/ffaker.rb +1 -1
- data/lib/ffaker/address.rb +4 -0
- data/lib/ffaker/address_ch.rb +21 -0
- data/lib/ffaker/address_ch_de.rb +16 -0
- data/lib/ffaker/address_ch_fr.rb +16 -0
- data/lib/ffaker/address_ch_it.rb +16 -0
- data/lib/ffaker/address_da.rb +2 -4
- data/lib/ffaker/address_in.rb +56 -0
- data/lib/ffaker/address_ru.rb +39 -0
- data/lib/ffaker/address_ua.rb +58 -0
- data/lib/ffaker/avatar.rb +3 -5
- data/lib/ffaker/cheesy_lingo.rb +39 -0
- data/lib/ffaker/color_ua.rb +12 -0
- data/lib/ffaker/data/address/time_zone +128 -0
- data/lib/ffaker/data/address_ch/canton_abbr +26 -0
- data/lib/ffaker/data/address_chde/canton +26 -0
- data/lib/ffaker/data/address_chfr/canton +26 -0
- data/lib/ffaker/data/address_chit/canton +26 -0
- data/lib/ffaker/data/address_da/city +3 -3
- data/lib/ffaker/data/address_da/kommune +0 -4
- data/lib/ffaker/data/address_in/state +29 -0
- data/lib/ffaker/data/address_in/state_abbr +29 -0
- data/lib/ffaker/data/address_in/union_territory +7 -0
- data/lib/ffaker/data/address_in/union_territory_abbr +7 -0
- data/lib/ffaker/data/address_ru/city +74 -0
- data/lib/ffaker/data/address_ru/province +83 -0
- data/lib/ffaker/data/address_ru/street +49 -0
- data/lib/ffaker/data/address_ua/city +57 -0
- data/lib/ffaker/data/address_ua/country +193 -0
- data/lib/ffaker/data/address_ua/province +27 -0
- data/lib/ffaker/data/address_ua/street +13 -0
- data/lib/ffaker/data/cheesy_lingo/cheesy_phrases +54 -0
- data/lib/ffaker/data/cheesy_lingo/cheesy_words +34 -0
- data/lib/ffaker/data/color_ua/names_list +114 -0
- data/lib/ffaker/data/lorem_ua/capital_chars +33 -0
- data/lib/ffaker/data/lorem_ua/chars +33 -0
- data/lib/ffaker/data/lorem_ua/words +362 -0
- data/lib/ffaker/data/music/albums +91 -0
- data/lib/ffaker/data/music/artists +100 -0
- data/lib/ffaker/data/music/genres +20 -0
- data/lib/ffaker/data/music/songs +100 -0
- data/lib/ffaker/data/name_da/female_first_names +291 -480
- data/lib/ffaker/data/name_da/male_first_names +294 -383
- data/lib/ffaker/data/name_ua/first_names_female +193 -0
- data/lib/ffaker/data/name_ua/first_names_male +195 -0
- data/lib/ffaker/data/name_ua/last_names_female +230 -0
- data/lib/ffaker/data/name_ua/last_names_male +239 -0
- data/lib/ffaker/data/name_ua/middle_names_female +116 -0
- data/lib/ffaker/data/name_ua/middle_names_male +116 -0
- data/lib/ffaker/data/vehicle/displacements_list +21 -0
- data/lib/ffaker/data/vehicle/fuel_types_list +6 -0
- data/lib/ffaker/data/vehicle/transmissions_list +4 -0
- data/lib/ffaker/data/vehicle/upholstery_list +5 -0
- data/lib/ffaker/internet.rb +20 -20
- data/lib/ffaker/lorem_ua.rb +59 -0
- data/lib/ffaker/music.rb +24 -0
- data/lib/ffaker/name_da.rb +17 -28
- data/lib/ffaker/name_ja.rb +2 -4
- data/lib/ffaker/name_ua.rb +59 -0
- data/lib/ffaker/phone_number.rb +4 -1
- data/lib/ffaker/phone_number_br.rb +74 -0
- data/lib/ffaker/phone_number_ch.rb +46 -0
- data/lib/ffaker/phone_number_da.rb +3 -3
- data/lib/ffaker/string.rb +14 -6
- data/lib/ffaker/vehicle.rb +26 -0
- data/test/test_address.rb +4 -0
- data/test/test_address_ch.rb +13 -0
- data/test/test_address_ch_de.rb +9 -0
- data/test/test_address_ch_fr.rb +9 -0
- data/test/test_address_ch_it.rb +11 -0
- data/test/test_address_da.rb +10 -10
- data/test/test_address_in.rb +50 -0
- data/test/test_address_ru.rb +30 -0
- data/test/test_address_ua.rb +49 -0
- data/test/test_avatar.rb +7 -6
- data/test/test_cheesy_lingo.rb +37 -0
- data/test/test_color_ua.rb +9 -0
- data/test/test_internet.rb +11 -3
- data/test/test_lorem_ua.rb +45 -0
- data/test/test_music.rb +21 -0
- data/test/test_name_br.rb +1 -1
- data/test/test_name_da.rb +48 -0
- data/test/test_name_ja.rb +32 -1
- data/test/test_name_ua.rb +59 -0
- data/test/test_phone_number.rb +8 -3
- data/test/test_phone_number_br.rb +47 -0
- data/test/test_phone_number_da.rb +39 -0
- data/test/test_string.rb +6 -0
- data/test/test_time.rb +2 -2
- data/test/test_vehicle.rb +24 -0
- data/test/test_venue.rb +1 -1
- metadata +86 -5
data/ffaker.gemspec
CHANGED
@@ -4,17 +4,20 @@ Gem::Specification.new do |s|
|
|
4
4
|
s.rubygems_version = '1.3.5'
|
5
5
|
|
6
6
|
s.name = 'ffaker'
|
7
|
-
s.version = '2.
|
8
|
-
s.date = '
|
7
|
+
s.version = '2.2.0'
|
8
|
+
s.date = '2016-02-01'
|
9
9
|
s.rubyforge_project = 'ffaker'
|
10
10
|
s.required_ruby_version = '>= 1.9'
|
11
11
|
|
12
12
|
s.license = 'MIT'
|
13
13
|
|
14
|
-
s.summary = "
|
15
|
-
s.description = "
|
14
|
+
s.summary = "Ffaker generates dummy data."
|
15
|
+
s.description = "Ffaker generates dummy data."
|
16
16
|
|
17
|
-
s.authors = [
|
17
|
+
s.authors = [
|
18
|
+
'https://github.com/ffaker/ffaker/graphs/contributors',
|
19
|
+
'Emmanuel Oga'
|
20
|
+
]
|
18
21
|
s.email = 'EmmanuelOga@gmail.com'
|
19
22
|
s.homepage = 'http://github.com/ffaker/ffaker'
|
20
23
|
|
@@ -37,20 +40,29 @@ Gem::Specification.new do |s|
|
|
37
40
|
lib/ffaker/address_au.rb
|
38
41
|
lib/ffaker/address_br.rb
|
39
42
|
lib/ffaker/address_ca.rb
|
43
|
+
lib/ffaker/address_ch.rb
|
44
|
+
lib/ffaker/address_ch_de.rb
|
45
|
+
lib/ffaker/address_ch_fr.rb
|
46
|
+
lib/ffaker/address_ch_it.rb
|
40
47
|
lib/ffaker/address_da.rb
|
41
48
|
lib/ffaker/address_de.rb
|
42
49
|
lib/ffaker/address_fi.rb
|
43
50
|
lib/ffaker/address_fr.rb
|
51
|
+
lib/ffaker/address_in.rb
|
44
52
|
lib/ffaker/address_mx.rb
|
45
53
|
lib/ffaker/address_nl.rb
|
54
|
+
lib/ffaker/address_ru.rb
|
46
55
|
lib/ffaker/address_se.rb
|
47
56
|
lib/ffaker/address_sn.rb
|
57
|
+
lib/ffaker/address_ua.rb
|
48
58
|
lib/ffaker/address_uk.rb
|
49
59
|
lib/ffaker/address_us.rb
|
50
60
|
lib/ffaker/avatar.rb
|
51
61
|
lib/ffaker/bacon_ipsum.rb
|
52
62
|
lib/ffaker/boolean.rb
|
63
|
+
lib/ffaker/cheesy_lingo.rb
|
53
64
|
lib/ffaker/color.rb
|
65
|
+
lib/ffaker/color_ua.rb
|
54
66
|
lib/ffaker/company.rb
|
55
67
|
lib/ffaker/company_it.rb
|
56
68
|
lib/ffaker/company_se.rb
|
@@ -62,11 +74,16 @@ Gem::Specification.new do |s|
|
|
62
74
|
lib/ffaker/data/address/country_code
|
63
75
|
lib/ffaker/data/address/neighborhood
|
64
76
|
lib/ffaker/data/address/street_suffix
|
77
|
+
lib/ffaker/data/address/time_zone
|
65
78
|
lib/ffaker/data/address_br/city
|
66
79
|
lib/ffaker/data/address_br/state
|
67
80
|
lib/ffaker/data/address_br/state_abbr
|
68
81
|
lib/ffaker/data/address_ca/city
|
69
82
|
lib/ffaker/data/address_ca/province
|
83
|
+
lib/ffaker/data/address_ch/canton_abbr
|
84
|
+
lib/ffaker/data/address_chde/canton
|
85
|
+
lib/ffaker/data/address_chfr/canton
|
86
|
+
lib/ffaker/data/address_chit/canton
|
70
87
|
lib/ffaker/data/address_da/city
|
71
88
|
lib/ffaker/data/address_da/kommune
|
72
89
|
lib/ffaker/data/address_da/street
|
@@ -76,22 +93,36 @@ Gem::Specification.new do |s|
|
|
76
93
|
lib/ffaker/data/address_fi/countries
|
77
94
|
lib/ffaker/data/address_fi/street
|
78
95
|
lib/ffaker/data/address_fr/city
|
96
|
+
lib/ffaker/data/address_in/state
|
97
|
+
lib/ffaker/data/address_in/state_abbr
|
98
|
+
lib/ffaker/data/address_in/union_territory
|
99
|
+
lib/ffaker/data/address_in/union_territory_abbr
|
79
100
|
lib/ffaker/data/address_mx/state
|
80
101
|
lib/ffaker/data/address_mx/state_abbr
|
81
102
|
lib/ffaker/data/address_nl/city
|
82
103
|
lib/ffaker/data/address_nl/province
|
104
|
+
lib/ffaker/data/address_ru/city
|
105
|
+
lib/ffaker/data/address_ru/province
|
106
|
+
lib/ffaker/data/address_ru/street
|
83
107
|
lib/ffaker/data/address_se/city
|
84
108
|
lib/ffaker/data/address_se/countries
|
85
109
|
lib/ffaker/data/address_se/street
|
86
110
|
lib/ffaker/data/address_sn/arrondissements
|
87
111
|
lib/ffaker/data/address_sn/departements
|
88
112
|
lib/ffaker/data/address_sn/regions
|
113
|
+
lib/ffaker/data/address_ua/city
|
114
|
+
lib/ffaker/data/address_ua/country
|
115
|
+
lib/ffaker/data/address_ua/province
|
116
|
+
lib/ffaker/data/address_ua/street
|
89
117
|
lib/ffaker/data/address_uk/county
|
90
118
|
lib/ffaker/data/address_us/state
|
91
119
|
lib/ffaker/data/address_us/state_abbr
|
92
120
|
lib/ffaker/data/address_us/state_and_territories_abbr
|
93
121
|
lib/ffaker/data/bacon_ipsum/bacon_words
|
122
|
+
lib/ffaker/data/cheesy_lingo/cheesy_phrases
|
123
|
+
lib/ffaker/data/cheesy_lingo/cheesy_words
|
94
124
|
lib/ffaker/data/color/names_list
|
125
|
+
lib/ffaker/data/color_ua/names_list
|
95
126
|
lib/ffaker/data/company/bs_mid
|
96
127
|
lib/ffaker/data/company/bs_pos
|
97
128
|
lib/ffaker/data/company/bs_pre
|
@@ -128,10 +159,17 @@ Gem::Specification.new do |s|
|
|
128
159
|
lib/ffaker/data/lorem_cn/words
|
129
160
|
lib/ffaker/data/lorem_fr/words
|
130
161
|
lib/ffaker/data/lorem_kr/words
|
162
|
+
lib/ffaker/data/lorem_ua/capital_chars
|
163
|
+
lib/ffaker/data/lorem_ua/chars
|
164
|
+
lib/ffaker/data/lorem_ua/words
|
131
165
|
lib/ffaker/data/mathematiques/lessons
|
132
166
|
lib/ffaker/data/movie/adj_and_adv
|
133
167
|
lib/ffaker/data/movie/nouns
|
134
168
|
lib/ffaker/data/movie/prefixes
|
169
|
+
lib/ffaker/data/music/albums
|
170
|
+
lib/ffaker/data/music/artists
|
171
|
+
lib/ffaker/data/music/genres
|
172
|
+
lib/ffaker/data/music/songs
|
135
173
|
lib/ffaker/data/name/first_names
|
136
174
|
lib/ffaker/data/name/last_names
|
137
175
|
lib/ffaker/data/name_br/first_names
|
@@ -174,6 +212,12 @@ Gem::Specification.new do |s|
|
|
174
212
|
lib/ffaker/data/name_th/first_names
|
175
213
|
lib/ffaker/data/name_th/last_names
|
176
214
|
lib/ffaker/data/name_th/nick_names
|
215
|
+
lib/ffaker/data/name_ua/first_names_female
|
216
|
+
lib/ffaker/data/name_ua/first_names_male
|
217
|
+
lib/ffaker/data/name_ua/last_names_female
|
218
|
+
lib/ffaker/data/name_ua/last_names_male
|
219
|
+
lib/ffaker/data/name_ua/middle_names_female
|
220
|
+
lib/ffaker/data/name_ua/middle_names_male
|
177
221
|
lib/ffaker/data/name_vn/first_names
|
178
222
|
lib/ffaker/data/name_vn/last_names
|
179
223
|
lib/ffaker/data/name_vn/middle_names
|
@@ -188,9 +232,13 @@ Gem::Specification.new do |s|
|
|
188
232
|
lib/ffaker/data/skill/specialty_start
|
189
233
|
lib/ffaker/data/skill/tech_skills
|
190
234
|
lib/ffaker/data/sport/names
|
235
|
+
lib/ffaker/data/vehicle/displacements_list
|
236
|
+
lib/ffaker/data/vehicle/fuel_types_list
|
191
237
|
lib/ffaker/data/vehicle/makes_list
|
192
238
|
lib/ffaker/data/vehicle/models_list
|
239
|
+
lib/ffaker/data/vehicle/transmissions_list
|
193
240
|
lib/ffaker/data/vehicle/trims_list
|
241
|
+
lib/ffaker/data/vehicle/upholstery_list
|
194
242
|
lib/ffaker/data/venue/venue_list
|
195
243
|
lib/ffaker/dizzle_ipsum.rb
|
196
244
|
lib/ffaker/education.rb
|
@@ -222,7 +270,9 @@ Gem::Specification.new do |s|
|
|
222
270
|
lib/ffaker/lorem_cn.rb
|
223
271
|
lib/ffaker/lorem_fr.rb
|
224
272
|
lib/ffaker/lorem_kr.rb
|
273
|
+
lib/ffaker/lorem_ua.rb
|
225
274
|
lib/ffaker/movie.rb
|
275
|
+
lib/ffaker/music.rb
|
226
276
|
lib/ffaker/name.rb
|
227
277
|
lib/ffaker/name_br.rb
|
228
278
|
lib/ffaker/name_cn.rb
|
@@ -242,10 +292,13 @@ Gem::Specification.new do |s|
|
|
242
292
|
lib/ffaker/name_se.rb
|
243
293
|
lib/ffaker/name_sn.rb
|
244
294
|
lib/ffaker/name_th.rb
|
295
|
+
lib/ffaker/name_ua.rb
|
245
296
|
lib/ffaker/name_vn.rb
|
246
297
|
lib/ffaker/nato_alphabet.rb
|
247
298
|
lib/ffaker/phone_number.rb
|
248
299
|
lib/ffaker/phone_number_au.rb
|
300
|
+
lib/ffaker/phone_number_br.rb
|
301
|
+
lib/ffaker/phone_number_ch.rb
|
249
302
|
lib/ffaker/phone_number_cu.rb
|
250
303
|
lib/ffaker/phone_number_da.rb
|
251
304
|
lib/ffaker/phone_number_de.rb
|
@@ -281,20 +334,29 @@ Gem::Specification.new do |s|
|
|
281
334
|
test/test_address_au.rb
|
282
335
|
test/test_address_br.rb
|
283
336
|
test/test_address_ca.rb
|
337
|
+
test/test_address_ch.rb
|
338
|
+
test/test_address_ch_de.rb
|
339
|
+
test/test_address_ch_fr.rb
|
340
|
+
test/test_address_ch_it.rb
|
284
341
|
test/test_address_da.rb
|
285
342
|
test/test_address_de.rb
|
286
343
|
test/test_address_fi.rb
|
344
|
+
test/test_address_in.rb
|
287
345
|
test/test_address_mx.rb
|
288
346
|
test/test_address_nl.rb
|
347
|
+
test/test_address_ru.rb
|
289
348
|
test/test_address_se.rb
|
290
349
|
test/test_address_sn.rb
|
350
|
+
test/test_address_ua.rb
|
291
351
|
test/test_address_uk.rb
|
292
352
|
test/test_address_us.rb
|
293
353
|
test/test_array_utils.rb
|
294
354
|
test/test_avatar.rb
|
295
355
|
test/test_bacon_ipsum.rb
|
296
356
|
test/test_boolean.rb
|
357
|
+
test/test_cheesy_lingo.rb
|
297
358
|
test/test_color.rb
|
359
|
+
test/test_color_ua.rb
|
298
360
|
test/test_company.rb
|
299
361
|
test/test_company_it.rb
|
300
362
|
test/test_company_se.rb
|
@@ -332,12 +394,15 @@ Gem::Specification.new do |s|
|
|
332
394
|
test/test_lorem_cn.rb
|
333
395
|
test/test_lorem_fr.rb
|
334
396
|
test/test_lorem_kr.rb
|
397
|
+
test/test_lorem_ua.rb
|
335
398
|
test/test_module_utils.rb
|
336
399
|
test/test_movie.rb
|
400
|
+
test/test_music.rb
|
337
401
|
test/test_name.rb
|
338
402
|
test/test_name_br.rb
|
339
403
|
test/test_name_cn.rb
|
340
404
|
test/test_name_cs.rb
|
405
|
+
test/test_name_da.rb
|
341
406
|
test/test_name_de.rb
|
342
407
|
test/test_name_fr.rb
|
343
408
|
test/test_name_ga.rb
|
@@ -352,10 +417,13 @@ Gem::Specification.new do |s|
|
|
352
417
|
test/test_name_se.rb
|
353
418
|
test/test_name_sn.rb
|
354
419
|
test/test_name_th.rb
|
420
|
+
test/test_name_ua.rb
|
355
421
|
test/test_nato_alphabet.rb
|
356
422
|
test/test_phone_number.rb
|
357
423
|
test/test_phone_number_au.rb
|
424
|
+
test/test_phone_number_br.rb
|
358
425
|
test/test_phone_number_cu.rb
|
426
|
+
test/test_phone_number_da.rb
|
359
427
|
test/test_phone_number_de.rb
|
360
428
|
test/test_phone_number_kr.rb
|
361
429
|
test/test_phone_number_mx.rb
|
data/lib/ffaker.rb
CHANGED
data/lib/ffaker/address.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'ffaker/address'
|
4
|
+
|
5
|
+
module FFaker
|
6
|
+
module AddressCH
|
7
|
+
include FFaker::Address
|
8
|
+
|
9
|
+
extend ModuleUtils
|
10
|
+
extend self
|
11
|
+
|
12
|
+
|
13
|
+
def postal_code
|
14
|
+
FFaker.numerify '####'
|
15
|
+
end
|
16
|
+
|
17
|
+
def canton_abbr
|
18
|
+
CANTON_ABBR.sample
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/ffaker/address_da.rb
CHANGED
@@ -9,9 +9,7 @@ module FFaker
|
|
9
9
|
extend ModuleUtils
|
10
10
|
extend self
|
11
11
|
|
12
|
-
REGION =
|
13
|
-
'Hovedstaden', 'Sjælland', 'Syddanmark', 'Midtjylland', 'Nordjylland'
|
14
|
-
]
|
12
|
+
REGION = %w(Hovedstaden Sjælland Syddanmark Midtjylland Nordjylland)
|
15
13
|
STATE = REGION
|
16
14
|
|
17
15
|
def zip_code
|
@@ -47,7 +45,7 @@ module FFaker
|
|
47
45
|
end
|
48
46
|
|
49
47
|
def full_address
|
50
|
-
|
48
|
+
"#{street_address} #{post_nr} #{city} #{region} DANMARK"
|
51
49
|
end
|
52
50
|
end
|
53
51
|
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'ffaker/address'
|
4
|
+
|
5
|
+
module FFaker
|
6
|
+
module AddressIN
|
7
|
+
include FFaker::Address
|
8
|
+
|
9
|
+
extend ModuleUtils
|
10
|
+
extend self
|
11
|
+
|
12
|
+
ZIP_FORMATS = ['######']
|
13
|
+
|
14
|
+
def pincode
|
15
|
+
FFaker.numerify ZIP_FORMATS.sample
|
16
|
+
end
|
17
|
+
|
18
|
+
alias_method :zip_code, :pincode
|
19
|
+
|
20
|
+
def state
|
21
|
+
STATE.sample
|
22
|
+
end
|
23
|
+
|
24
|
+
def state_abbr
|
25
|
+
STATE_ABBR.sample
|
26
|
+
end
|
27
|
+
|
28
|
+
def union_territory
|
29
|
+
UNION_TERRITORY.sample
|
30
|
+
end
|
31
|
+
|
32
|
+
def union_territory_abbr
|
33
|
+
UNION_TERRITORY_ABBR.sample
|
34
|
+
end
|
35
|
+
|
36
|
+
def state_and_union_territory
|
37
|
+
(STATE + UNION_TERRITORY).sample
|
38
|
+
end
|
39
|
+
|
40
|
+
def state_and_union_territory_abbr
|
41
|
+
(STATE_ABBR + UNION_TERRITORY_ABBR).sample
|
42
|
+
end
|
43
|
+
|
44
|
+
def country
|
45
|
+
FFaker::Address.country("IN")
|
46
|
+
end
|
47
|
+
|
48
|
+
def country_code
|
49
|
+
FFaker::Address.country_code("India")
|
50
|
+
end
|
51
|
+
|
52
|
+
def time_zone
|
53
|
+
"Asia/Kolkata"
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'ffaker/address'
|
4
|
+
|
5
|
+
module FFaker
|
6
|
+
module AddressRU
|
7
|
+
include FFaker::Address
|
8
|
+
|
9
|
+
extend ModuleUtils
|
10
|
+
extend self
|
11
|
+
|
12
|
+
POSTAL_CODE_FORMAT = ['######']
|
13
|
+
STREET_NBR_FORMATS = %w(## # ###)
|
14
|
+
|
15
|
+
def city
|
16
|
+
CITY.sample
|
17
|
+
end
|
18
|
+
|
19
|
+
def province
|
20
|
+
PROVINCE.sample
|
21
|
+
end
|
22
|
+
|
23
|
+
def zip_code
|
24
|
+
FFaker.numerify(POSTAL_CODE_FORMAT)
|
25
|
+
end
|
26
|
+
|
27
|
+
def street_name
|
28
|
+
STREET.sample
|
29
|
+
end
|
30
|
+
|
31
|
+
def street_address
|
32
|
+
"#{street_name}, д. #{street_number}"
|
33
|
+
end
|
34
|
+
|
35
|
+
def street_number
|
36
|
+
FFaker.numerify(STREET_NBR_FORMATS)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'ffaker/address'
|
4
|
+
|
5
|
+
module FFaker
|
6
|
+
module AddressUA
|
7
|
+
extend ModuleUtils
|
8
|
+
extend self
|
9
|
+
|
10
|
+
POSTAL_CODE_FORMAT = ['#####']
|
11
|
+
BUILDING_NUMBER_FORMATS = %w(## # ###)
|
12
|
+
APPARTMENT_NUMBER_FORMATS = %w(# ## ###)
|
13
|
+
|
14
|
+
def country
|
15
|
+
COUNTRY.sample
|
16
|
+
end
|
17
|
+
|
18
|
+
def city
|
19
|
+
CITY.sample
|
20
|
+
end
|
21
|
+
|
22
|
+
def province
|
23
|
+
PROVINCE.sample
|
24
|
+
end
|
25
|
+
|
26
|
+
def zip_code
|
27
|
+
numerify_mask(POSTAL_CODE_FORMAT, true)
|
28
|
+
end
|
29
|
+
|
30
|
+
def street_name
|
31
|
+
"вул. #{STREET.sample}"
|
32
|
+
end
|
33
|
+
|
34
|
+
def street_address(include_secondary = false)
|
35
|
+
str = "#{street_name}, #{building_number}"
|
36
|
+
str << ", кв. #{appartment_number}" if include_secondary
|
37
|
+
str
|
38
|
+
end
|
39
|
+
|
40
|
+
def building_number
|
41
|
+
numerify_mask(BUILDING_NUMBER_FORMATS)
|
42
|
+
end
|
43
|
+
|
44
|
+
def appartment_number
|
45
|
+
numerify_mask(APPARTMENT_NUMBER_FORMATS)
|
46
|
+
end
|
47
|
+
|
48
|
+
private
|
49
|
+
|
50
|
+
def numerify_mask(masks_arr, allow_first_zero = false)
|
51
|
+
if allow_first_zero
|
52
|
+
FFaker.numerify(masks_arr)
|
53
|
+
else
|
54
|
+
masks_arr.sample.sub(/#/) { (rand(9)+1).to_s }.gsub(/#/) { rand(10).to_s }
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|