ffaker 2.1.0 → 2.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.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +32 -21
  3. data/README.md +16 -16
  4. data/REFERENCE.md +925 -646
  5. data/ffaker.gemspec +73 -5
  6. data/lib/ffaker.rb +1 -1
  7. data/lib/ffaker/address.rb +4 -0
  8. data/lib/ffaker/address_ch.rb +21 -0
  9. data/lib/ffaker/address_ch_de.rb +16 -0
  10. data/lib/ffaker/address_ch_fr.rb +16 -0
  11. data/lib/ffaker/address_ch_it.rb +16 -0
  12. data/lib/ffaker/address_da.rb +2 -4
  13. data/lib/ffaker/address_in.rb +56 -0
  14. data/lib/ffaker/address_ru.rb +39 -0
  15. data/lib/ffaker/address_ua.rb +58 -0
  16. data/lib/ffaker/avatar.rb +3 -5
  17. data/lib/ffaker/cheesy_lingo.rb +39 -0
  18. data/lib/ffaker/color_ua.rb +12 -0
  19. data/lib/ffaker/data/address/time_zone +128 -0
  20. data/lib/ffaker/data/address_ch/canton_abbr +26 -0
  21. data/lib/ffaker/data/address_chde/canton +26 -0
  22. data/lib/ffaker/data/address_chfr/canton +26 -0
  23. data/lib/ffaker/data/address_chit/canton +26 -0
  24. data/lib/ffaker/data/address_da/city +3 -3
  25. data/lib/ffaker/data/address_da/kommune +0 -4
  26. data/lib/ffaker/data/address_in/state +29 -0
  27. data/lib/ffaker/data/address_in/state_abbr +29 -0
  28. data/lib/ffaker/data/address_in/union_territory +7 -0
  29. data/lib/ffaker/data/address_in/union_territory_abbr +7 -0
  30. data/lib/ffaker/data/address_ru/city +74 -0
  31. data/lib/ffaker/data/address_ru/province +83 -0
  32. data/lib/ffaker/data/address_ru/street +49 -0
  33. data/lib/ffaker/data/address_ua/city +57 -0
  34. data/lib/ffaker/data/address_ua/country +193 -0
  35. data/lib/ffaker/data/address_ua/province +27 -0
  36. data/lib/ffaker/data/address_ua/street +13 -0
  37. data/lib/ffaker/data/cheesy_lingo/cheesy_phrases +54 -0
  38. data/lib/ffaker/data/cheesy_lingo/cheesy_words +34 -0
  39. data/lib/ffaker/data/color_ua/names_list +114 -0
  40. data/lib/ffaker/data/lorem_ua/capital_chars +33 -0
  41. data/lib/ffaker/data/lorem_ua/chars +33 -0
  42. data/lib/ffaker/data/lorem_ua/words +362 -0
  43. data/lib/ffaker/data/music/albums +91 -0
  44. data/lib/ffaker/data/music/artists +100 -0
  45. data/lib/ffaker/data/music/genres +20 -0
  46. data/lib/ffaker/data/music/songs +100 -0
  47. data/lib/ffaker/data/name_da/female_first_names +291 -480
  48. data/lib/ffaker/data/name_da/male_first_names +294 -383
  49. data/lib/ffaker/data/name_ua/first_names_female +193 -0
  50. data/lib/ffaker/data/name_ua/first_names_male +195 -0
  51. data/lib/ffaker/data/name_ua/last_names_female +230 -0
  52. data/lib/ffaker/data/name_ua/last_names_male +239 -0
  53. data/lib/ffaker/data/name_ua/middle_names_female +116 -0
  54. data/lib/ffaker/data/name_ua/middle_names_male +116 -0
  55. data/lib/ffaker/data/vehicle/displacements_list +21 -0
  56. data/lib/ffaker/data/vehicle/fuel_types_list +6 -0
  57. data/lib/ffaker/data/vehicle/transmissions_list +4 -0
  58. data/lib/ffaker/data/vehicle/upholstery_list +5 -0
  59. data/lib/ffaker/internet.rb +20 -20
  60. data/lib/ffaker/lorem_ua.rb +59 -0
  61. data/lib/ffaker/music.rb +24 -0
  62. data/lib/ffaker/name_da.rb +17 -28
  63. data/lib/ffaker/name_ja.rb +2 -4
  64. data/lib/ffaker/name_ua.rb +59 -0
  65. data/lib/ffaker/phone_number.rb +4 -1
  66. data/lib/ffaker/phone_number_br.rb +74 -0
  67. data/lib/ffaker/phone_number_ch.rb +46 -0
  68. data/lib/ffaker/phone_number_da.rb +3 -3
  69. data/lib/ffaker/string.rb +14 -6
  70. data/lib/ffaker/vehicle.rb +26 -0
  71. data/test/test_address.rb +4 -0
  72. data/test/test_address_ch.rb +13 -0
  73. data/test/test_address_ch_de.rb +9 -0
  74. data/test/test_address_ch_fr.rb +9 -0
  75. data/test/test_address_ch_it.rb +11 -0
  76. data/test/test_address_da.rb +10 -10
  77. data/test/test_address_in.rb +50 -0
  78. data/test/test_address_ru.rb +30 -0
  79. data/test/test_address_ua.rb +49 -0
  80. data/test/test_avatar.rb +7 -6
  81. data/test/test_cheesy_lingo.rb +37 -0
  82. data/test/test_color_ua.rb +9 -0
  83. data/test/test_internet.rb +11 -3
  84. data/test/test_lorem_ua.rb +45 -0
  85. data/test/test_music.rb +21 -0
  86. data/test/test_name_br.rb +1 -1
  87. data/test/test_name_da.rb +48 -0
  88. data/test/test_name_ja.rb +32 -1
  89. data/test/test_name_ua.rb +59 -0
  90. data/test/test_phone_number.rb +8 -3
  91. data/test/test_phone_number_br.rb +47 -0
  92. data/test/test_phone_number_da.rb +39 -0
  93. data/test/test_string.rb +6 -0
  94. data/test/test_time.rb +2 -2
  95. data/test/test_vehicle.rb +24 -0
  96. data/test/test_venue.rb +1 -1
  97. metadata +86 -5
@@ -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.1.0'
8
- s.date = '2015-07-07'
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 = "Faster Faker, generates dummy data."
15
- s.description = "Faster Faker, generates dummy data."
14
+ s.summary = "Ffaker generates dummy data."
15
+ s.description = "Ffaker generates dummy data."
16
16
 
17
- s.authors = ["Emmanuel Oga"]
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
@@ -1,5 +1,5 @@
1
1
  module FFaker
2
- VERSION = '2.1.0'
2
+ VERSION = '2.2.0'
3
3
 
4
4
  require 'ffaker/utils/array_utils'
5
5
  require 'ffaker/utils/module_utils'
@@ -107,5 +107,9 @@ module FFaker
107
107
  COUNTRY_CODE.sample
108
108
  end
109
109
  end
110
+
111
+ def time_zone
112
+ TIME_ZONE.sample
113
+ end
110
114
  end
111
115
  end
@@ -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
@@ -0,0 +1,16 @@
1
+ # encoding: utf-8
2
+
3
+ require 'ffaker/address_ch'
4
+
5
+ module FFaker
6
+ module AddressCHDE
7
+ include AddressCH
8
+
9
+ extend ModuleUtils
10
+ extend self
11
+
12
+ def canton
13
+ CANTON.sample
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # encoding: utf-8
2
+
3
+ require 'ffaker/address_ch'
4
+
5
+ module FFaker
6
+ module AddressCHFR
7
+ include AddressCH
8
+
9
+ extend ModuleUtils
10
+ extend self
11
+
12
+ def canton
13
+ CANTON.sample
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # encoding: utf-8
2
+
3
+ require 'ffaker/address_ch'
4
+
5
+ module FFaker
6
+ module AddressCHIT
7
+ include AddressCH
8
+
9
+ extend ModuleUtils
10
+ extend self
11
+
12
+ def canton
13
+ CANTON.sample
14
+ end
15
+ end
16
+ end
@@ -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
- %Q{#{street_address} #{post_nr} #{city} #{region} DANMARK}
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