ffaker 2.13.0 → 2.18.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 (133) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +31 -0
  3. data/README.md +14 -5
  4. data/REFERENCE.md +1398 -1249
  5. data/Rakefile +3 -9
  6. data/ffaker.gemspec +14 -5
  7. data/lib/ffaker.rb +12 -6
  8. data/lib/ffaker/address_ch.rb +0 -2
  9. data/lib/ffaker/address_ch_de.rb +0 -2
  10. data/lib/ffaker/address_ch_fr.rb +0 -2
  11. data/lib/ffaker/address_ch_it.rb +0 -2
  12. data/lib/ffaker/address_da.rb +0 -2
  13. data/lib/ffaker/address_de.rb +0 -2
  14. data/lib/ffaker/address_fi.rb +0 -2
  15. data/lib/ffaker/address_fr.rb +5 -3
  16. data/lib/ffaker/address_gr.rb +0 -2
  17. data/lib/ffaker/address_id.rb +0 -2
  18. data/lib/ffaker/address_in.rb +0 -2
  19. data/lib/ffaker/address_ja.rb +0 -2
  20. data/lib/ffaker/address_nl.rb +1 -5
  21. data/lib/ffaker/address_ru.rb +0 -2
  22. data/lib/ffaker/address_se.rb +0 -2
  23. data/lib/ffaker/address_sn.rb +0 -2
  24. data/lib/ffaker/address_ua.rb +0 -2
  25. data/lib/ffaker/address_uk.rb +0 -2
  26. data/lib/ffaker/address_us.rb +0 -2
  27. data/lib/ffaker/{animals.rb → animal.rb} +1 -1
  28. data/lib/ffaker/{animals_cn.rb → animal_cn.rb} +0 -0
  29. data/lib/ffaker/animal_es.rb +12 -0
  30. data/lib/ffaker/{animals_us.rb → animal_us.rb} +0 -0
  31. data/lib/ffaker/bacon_ipsum.rb +0 -2
  32. data/lib/ffaker/code.rb +17 -0
  33. data/lib/ffaker/company_ja.rb +24 -0
  34. data/lib/ffaker/data/address_fr/region +27 -0
  35. data/lib/ffaker/data/animal_es/common_names +135 -0
  36. data/lib/ffaker/data/filesystem/extension +31 -31
  37. data/lib/ffaker/data/food_pl/diary +14 -0
  38. data/lib/ffaker/data/food_pl/fermented +13 -0
  39. data/lib/ffaker/data/food_pl/fruits +34 -0
  40. data/lib/ffaker/data/food_pl/herbs +20 -0
  41. data/lib/ffaker/data/food_pl/meats +9 -0
  42. data/lib/ffaker/data/food_pl/preserves +10 -0
  43. data/lib/ffaker/data/food_pl/spices +26 -0
  44. data/lib/ffaker/data/food_pl/vegetables +45 -0
  45. data/lib/ffaker/data/freedom_ipsum/freedom_words +161 -0
  46. data/lib/ffaker/data/lorem/words +0 -67
  47. data/lib/ffaker/data/phone_number_ja/four_disit_area_codes +41 -0
  48. data/lib/ffaker/data/phone_number_ja/one_disit_area_codes +3 -0
  49. data/lib/ffaker/data/phone_number_ja/three_disit_area_codes +296 -0
  50. data/lib/ffaker/data/phone_number_ja/two_disit_area_codes +48 -0
  51. data/lib/ffaker/dizzle_ipsum.rb +0 -2
  52. data/lib/ffaker/education.rb +4 -8
  53. data/lib/ffaker/education_cn.rb +3 -6
  54. data/lib/ffaker/filesystem.rb +7 -7
  55. data/lib/ffaker/food_pl.rb +65 -0
  56. data/lib/ffaker/freedom_ipsum.rb +20 -0
  57. data/lib/ffaker/healthcare_ipsum.rb +0 -2
  58. data/lib/ffaker/hipster_ipsum.rb +0 -2
  59. data/lib/ffaker/identification_es_cl.rb +0 -2
  60. data/lib/ffaker/identification_es_co.rb +0 -1
  61. data/lib/ffaker/identification_in.rb +15 -0
  62. data/lib/ffaker/identification_kr.rb +1 -1
  63. data/lib/ffaker/identification_mx.rb +1 -3
  64. data/lib/ffaker/identification_tw.rb +23 -0
  65. data/lib/ffaker/image.rb +8 -11
  66. data/lib/ffaker/internet.rb +1 -1
  67. data/lib/ffaker/internet_se.rb +1 -3
  68. data/lib/ffaker/lorem_cn.rb +0 -1
  69. data/lib/ffaker/name_cs.rb +0 -2
  70. data/lib/ffaker/name_da.rb +0 -2
  71. data/lib/ffaker/name_de.rb +0 -2
  72. data/lib/ffaker/name_mx.rb +2 -4
  73. data/lib/ffaker/name_nb.rb +0 -2
  74. data/lib/ffaker/name_nl.rb +0 -2
  75. data/lib/ffaker/name_ph.rb +0 -2
  76. data/lib/ffaker/name_ru.rb +0 -2
  77. data/lib/ffaker/name_se.rb +0 -2
  78. data/lib/ffaker/name_ua.rb +0 -2
  79. data/lib/ffaker/phone_number_br.rb +2 -2
  80. data/lib/ffaker/phone_number_da.rb +0 -1
  81. data/lib/ffaker/phone_number_ja.rb +88 -0
  82. data/lib/ffaker/product.rb +1 -1
  83. data/lib/ffaker/ssn.rb +1 -3
  84. data/lib/ffaker/string.rb +5 -5
  85. data/lib/ffaker/unit.rb +9 -10
  86. data/lib/ffaker/unit_english.rb +18 -21
  87. data/lib/ffaker/unit_metric.rb +15 -18
  88. data/lib/ffaker/utils/unique_utils.rb +0 -2
  89. data/lib/ffaker/vehicle.rb +1 -1
  90. data/lib/version.rb +5 -0
  91. data/scripts/benchmark.rb +10 -11
  92. data/test/helper.rb +3 -3
  93. data/test/test_address_au.rb +2 -2
  94. data/test/test_address_br.rb +1 -1
  95. data/test/test_address_fi.rb +2 -2
  96. data/test/test_address_fr.rb +1 -1
  97. data/test/test_address_id.rb +1 -1
  98. data/test/test_address_ja.rb +1 -1
  99. data/test/test_address_nl.rb +1 -1
  100. data/test/test_address_se.rb +2 -2
  101. data/test/test_animal_es.rb +17 -0
  102. data/test/test_array_utils.rb +0 -1
  103. data/test/test_aws.rb +1 -1
  104. data/test/test_bank.rb +2 -3
  105. data/test/test_book.rb +4 -4
  106. data/test/test_code.rb +22 -1
  107. data/test/test_company_ja.rb +28 -0
  108. data/test/{test_faker.rb → test_ffaker.rb} +5 -1
  109. data/test/test_filesystem.rb +11 -3
  110. data/test/test_food_pl.rb +61 -0
  111. data/test/test_freedom_ipsum.rb +21 -0
  112. data/test/test_geolocation.rb +2 -2
  113. data/test/test_healthcare_ru.rb +1 -1
  114. data/test/test_html_ipsum.rb +1 -1
  115. data/test/test_identification_co.rb +1 -1
  116. data/test/test_identification_es_cl.rb +1 -1
  117. data/test/test_identification_in.rb +20 -0
  118. data/test/test_identification_tw.rb +17 -0
  119. data/test/test_image.rb +4 -4
  120. data/test/test_internet_se.rb +1 -1
  121. data/test/test_lorem.rb +4 -0
  122. data/test/test_lorem_fr.rb +9 -7
  123. data/test/test_lorem_pl.rb +1 -1
  124. data/test/test_lorem_ru.rb +1 -1
  125. data/test/test_lorem_ua.rb +1 -1
  126. data/test/test_music.rb +4 -4
  127. data/test/test_phone_number_ja.rb +63 -0
  128. data/test/test_ssn_se.rb +3 -3
  129. data/test/test_string.rb +3 -3
  130. data/test/test_time.rb +2 -3
  131. data/test/test_tweet.rb +4 -4
  132. data/test/test_vehicle.rb +2 -2
  133. metadata +214 -162
data/Rakefile CHANGED
@@ -42,10 +42,6 @@ def date
42
42
  Date.today.to_s
43
43
  end
44
44
 
45
- def rubyforge_project
46
- name
47
- end
48
-
49
45
  def gemspec_file
50
46
  "#{name}.gemspec"
51
47
  end
@@ -95,13 +91,13 @@ end
95
91
  #############################################################################
96
92
 
97
93
  task release: :build do
98
- unless `git branch` =~ /^\* master$/
99
- puts 'You must be on the master branch to release!'
94
+ unless `git branch` =~ /^\* main$/
95
+ puts 'You must be on the main branch to release!'
100
96
  exit!
101
97
  end
102
98
  sh "git commit --allow-empty -a -m 'Release #{version}'"
103
99
  sh "git tag v#{version}"
104
- sh 'git push origin master'
100
+ sh 'git push origin main'
105
101
  sh 'git push --tags'
106
102
  sh "gem push pkg/#{name}-#{version}.gem"
107
103
  end
@@ -121,8 +117,6 @@ task gemspec: :validate do
121
117
  replace_header(head, :name)
122
118
  replace_header(head, :version)
123
119
  replace_header(head, :date)
124
- # comment this out if your rubyforge_project has a different name
125
- replace_header(head, :rubyforge_project)
126
120
 
127
121
  # determine file list from git ls-files
128
122
  files = `git ls-files`
data/ffaker.gemspec CHANGED
@@ -1,15 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ lib = File.expand_path('lib', __dir__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'version'
6
+
3
7
  Gem::Specification.new do |s|
4
8
  s.specification_version = 2 if s.respond_to? :specification_version=
5
9
  s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
6
10
  s.rubygems_version = '1.3.5'
7
11
 
8
12
  s.name = 'ffaker'
9
- s.version = '2.13.0'
10
- s.date = '2019-10-04'
11
- s.rubyforge_project = 'ffaker'
12
- s.required_ruby_version = '>= 2.4'
13
+ s.version = FFaker::VERSION
14
+ s.date = '2021-02-21'
15
+ s.required_ruby_version = '>= 2.5'
13
16
 
14
17
  s.license = 'MIT'
15
18
 
@@ -43,6 +46,12 @@ Gem::Specification.new do |s|
43
46
 
44
47
  s.test_files = Dir['test/**/*']
45
48
 
46
- s.add_development_dependency 'rake', '~> 10.1.1'
49
+ s.metadata = {
50
+ 'changelog_uri' => 'https://github.com/ffaker/ffaker/blob/main/Changelog.md',
51
+ 'documentation_uri' => 'https://github.com/ffaker/ffaker/blob/main/REFERENCE.md'
52
+ }
53
+
54
+ s.add_development_dependency 'rake', '~> 13.0'
55
+ s.add_development_dependency 'rubocop'
47
56
  s.add_development_dependency 'test-unit'
48
57
  end
data/lib/ffaker.rb CHANGED
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FFaker
4
- VERSION = '2.13.0'
5
-
6
4
  require 'ffaker/utils/array_utils'
7
5
  require 'ffaker/utils/module_utils'
8
6
 
@@ -10,7 +8,7 @@ module FFaker
10
8
 
11
9
  BASE_LIB_PATH = File.expand_path(__dir__)
12
10
 
13
- LETTERS = [*'a'..'z'].freeze
11
+ LETTERS = Array('a'..'z').freeze
14
12
 
15
13
  HEX = %w[0 1 2 3 4 5 6 7 8 9 A B C D E F].freeze
16
14
 
@@ -57,10 +55,11 @@ module FFaker
57
55
  autoload :AddressUK, 'ffaker/address_uk'
58
56
  autoload :AddressUS, 'ffaker/address_us'
59
57
  autoload :Airline, 'ffaker/airline'
60
- autoload :Animal, 'ffaker/animals'
61
- autoload :AnimalCN, 'ffaker/animals_cn'
58
+ autoload :Animal, 'ffaker/animal'
59
+ autoload :AnimalCN, 'ffaker/animal_cn'
60
+ autoload :AnimalES, 'ffaker/animal_es'
62
61
  autoload :AnimalPL, 'ffaker/animal_pl'
63
- autoload :AnimalUS, 'ffaker/animals_us'
62
+ autoload :AnimalUS, 'ffaker/animal_us'
64
63
  autoload :Avatar, 'ffaker/avatar'
65
64
  autoload :AWS, 'ffaker/aws'
66
65
  autoload :BaconIpsum, 'ffaker/bacon_ipsum'
@@ -75,6 +74,7 @@ module FFaker
75
74
  autoload :Company, 'ffaker/company'
76
75
  autoload :CompanyCN, 'ffaker/company_cn'
77
76
  autoload :CompanyIT, 'ffaker/company_it'
77
+ autoload :CompanyJA, 'ffaker/company_ja'
78
78
  autoload :CompanySE, 'ffaker/company_se'
79
79
  autoload :Conference, 'ffaker/conference'
80
80
  autoload :CoursesFR, 'ffaker/courses'
@@ -84,6 +84,8 @@ module FFaker
84
84
  autoload :EducationCN, 'ffaker/education_cn'
85
85
  autoload :Filesystem, 'ffaker/filesystem'
86
86
  autoload :Food, 'ffaker/food'
87
+ autoload :FoodPL, 'ffaker/food_pl'
88
+ autoload :FreedomIpsum, 'ffaker/freedom_ipsum'
87
89
  autoload :Gender, 'ffaker/gender'
88
90
  autoload :GenderBR, 'ffaker/gender_br'
89
91
  autoload :GenderCN, 'ffaker/gender_cn'
@@ -103,9 +105,11 @@ module FFaker
103
105
  autoload :IdentificationES, 'ffaker/identification_es'
104
106
  autoload :IdentificationESCL, 'ffaker/identification_es_cl'
105
107
  autoload :IdentificationESCO, 'ffaker/identification_es_co'
108
+ autoload :IdentificationIN, 'ffaker/identification_in'
106
109
  autoload :IdentificationKr, 'ffaker/identification_kr'
107
110
  autoload :IdentificationMX, 'ffaker/identification_mx'
108
111
  autoload :IdentificationPL, 'ffaker/identification_pl'
112
+ autoload :IdentificationTW, 'ffaker/identification_tw'
109
113
  autoload :Image, 'ffaker/image'
110
114
  autoload :Internet, 'ffaker/internet'
111
115
  autoload :InternetSE, 'ffaker/internet_se'
@@ -170,6 +174,7 @@ module FFaker
170
174
  autoload :PhoneNumberFR, 'ffaker/phone_number_fr'
171
175
  autoload :PhoneNumberID, 'ffaker/phone_number_id'
172
176
  autoload :PhoneNumberIT, 'ffaker/phone_number_it'
177
+ autoload :PhoneNumberJA, 'ffaker/phone_number_ja'
173
178
  autoload :PhoneNumberKR, 'ffaker/phone_number_kr'
174
179
  autoload :PhoneNumberMX, 'ffaker/phone_number_mx'
175
180
  autoload :PhoneNumberNL, 'ffaker/phone_number_nl'
@@ -195,6 +200,7 @@ module FFaker
195
200
  autoload :Unit, 'ffaker/unit'
196
201
  autoload :UnitEnglish, 'ffaker/unit_english'
197
202
  autoload :UnitMetric, 'ffaker/unit_metric'
203
+ autoload :VERSION, 'version'
198
204
  autoload :Vehicle, 'ffaker/vehicle'
199
205
  autoload :Venue, 'ffaker/venue'
200
206
  autoload :Youtube, 'ffaker/youtube'
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address'
4
-
5
3
  module FFaker
6
4
  module AddressCH
7
5
  include FFaker::Address
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address_ch'
4
-
5
3
  module FFaker
6
4
  module AddressCHDE
7
5
  include AddressCH
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address_ch'
4
-
5
3
  module FFaker
6
4
  module AddressCHFR
7
5
  include AddressCH
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address_ch'
4
-
5
3
  module FFaker
6
4
  module AddressCHIT
7
5
  include AddressCH
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address'
4
-
5
3
  module FFaker
6
4
  module AddressDA
7
5
  include FFaker::Address
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address'
4
-
5
3
  module FFaker
6
4
  module AddressDE
7
5
  include FFaker::Address
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address'
4
-
5
3
  module FFaker
6
4
  # List of countries is from Freebase:
7
5
  # https://www.googleapis.com/freebase/v1/mqlread?lang=/lang/fi&query=[%7B%22name%22:null,%22type%22:%22/location/country%22%7D]
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address'
4
-
5
3
  module FFaker
6
4
  module AddressFR
7
5
  include FFaker::Address
@@ -13,7 +11,7 @@ module FFaker
13
11
  MOD = [' B', ' T', ' Q', ' BIS', ' TER', ' QUATER', '', '', '', ''].freeze
14
12
  SEP = [', ', ' '].freeze
15
13
  TYPE = %w[rue avenue av boulevard bd impasse].freeze
16
- POSTAL_CODE_FORMATS = ['####', '#####', '97####', '2A###', '2B###'].freeze
14
+ POSTAL_CODE_FORMATS = ['#####', '97###', '2A###', '2B###'].freeze
17
15
 
18
16
  def street_address
19
17
  FFaker.numerify(fetch_sample(NUM)) +
@@ -34,5 +32,9 @@ module FFaker
34
32
  def full_address
35
33
  %(#{street_address}#{fetch_sample(SEP)}#{postal_code} #{fetch_sample(CITY)})
36
34
  end
35
+
36
+ def region
37
+ fetch_sample(REGION)
38
+ end
37
39
  end
38
40
  end
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address'
4
-
5
3
  module FFaker
6
4
  module AddressGR
7
5
  include FFaker::Address
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address'
4
-
5
3
  module FFaker
6
4
  module AddressID
7
5
  include FFaker::Address
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address'
4
-
5
3
  module FFaker
6
4
  module AddressIN
7
5
  include FFaker::Address
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address'
4
-
5
3
  module FFaker
6
4
  module AddressJA
7
5
  include FFaker::Address
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address'
4
-
5
3
  module FFaker
6
4
  module AddressNL
7
5
  include FFaker::Address
@@ -9,10 +7,8 @@ module FFaker
9
7
  extend ModuleUtils
10
8
  extend self
11
9
 
12
- POSTAL_CODE_FORMAT = ['#### ??'].freeze
13
-
14
10
  def postal_code
15
- FFaker.bothify POSTAL_CODE_FORMAT
11
+ FFaker::String.from_regexp(/[1-9]\d{3} [A-RT-Z][A-Z]/)
16
12
  end
17
13
 
18
14
  def zip_code
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address'
4
-
5
3
  module FFaker
6
4
  module AddressRU
7
5
  include FFaker::Address
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address'
4
-
5
3
  module FFaker
6
4
  # List of countries from http://sv.wikipedia.org/wiki/V%C3%A4rldens_l%C3%A4nder#Lista_.C3.B6ver_l.C3.A4nder
7
5
  # The streetnames are all the roads in Stockholm that contains "väg" or "gata"
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address'
4
-
5
3
  module FFaker
6
4
  module AddressSN
7
5
  include FFaker::Address
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address'
4
-
5
3
  module FFaker
6
4
  module AddressUA
7
5
  extend ModuleUtils
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address'
4
-
5
3
  module FFaker
6
4
  module AddressUK
7
5
  include FFaker::Address
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/address'
4
-
5
3
  module FFaker
6
4
  module AddressUS
7
5
  include FFaker::Address
@@ -7,7 +7,7 @@ module FFaker
7
7
 
8
8
  # @deprecated US animals name. Moved into {AnimalUS}
9
9
  def common_name
10
- warn '[common_name] is deprecated. For animal name in english please use the AnimalsUS module'
10
+ warn '[common_name] is deprecated. For animal name in english please use the AnimalUS module'
11
11
  fetch_sample(COMMON_NAMES)
12
12
  end
13
13
  end
File without changes
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFaker
4
+ module AnimalES
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def common_name
9
+ fetch_sample(COMMON_NAMES)
10
+ end
11
+ end
12
+ end
File without changes
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffaker/lorem'
4
-
5
3
  module FFaker
6
4
  # Thanks to http://baconipsum.com/
7
5
  module BaconIpsum
data/lib/ffaker/code.rb CHANGED
@@ -5,6 +5,23 @@ module FFaker
5
5
  extend ModuleUtils
6
6
  extend self
7
7
 
8
+ def npi(legacy: false)
9
+ max = legacy ? 299_999_999 : 999_999_999
10
+ base_npi = rand(100_000_000..max).to_s
11
+
12
+ summed_digits = base_npi
13
+ .chars
14
+ .each_with_index
15
+ .map { |n, i| (i.even? ? n.to_i * 2 : n).to_s }
16
+ .join
17
+ .chars
18
+ .inject(0) { |sum, digit| sum + digit.to_i }
19
+
20
+ npi_checksum = (10 - (24 + summed_digits) % 10).to_s.chars.last
21
+
22
+ base_npi + npi_checksum
23
+ end
24
+
8
25
  def ean
9
26
  ean = rand(100_000_000_000..999_999_999_999).to_s
10
27
 
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FFaker
4
+ module CompanyJA
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ TYPES = %w[株式会社 有限会社].freeze
9
+ DETAILED_TYPES = %w[ホールディングス 建設 商業 書店 不動産 銀行 証券].freeze
10
+ POSITIONS = %w[会長 社長 部長 課長 係長 社員 契約社員 派遣社員 アルバイト インターン].freeze
11
+
12
+ def name
13
+ case rand(0..2)
14
+ when 0 then "#{NameJA.last_name}#{fetch_sample(TYPES)}"
15
+ when 1 then "#{fetch_sample(TYPES)}#{NameJA.last_name}"
16
+ when 2 then "#{NameJA.last_name}#{fetch_sample(DETAILED_TYPES)}"
17
+ end
18
+ end
19
+
20
+ def position
21
+ fetch_sample(POSITIONS)
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,27 @@
1
+ Alsace
2
+ Aquitaine
3
+ Auvergne
4
+ Basse-Normandie
5
+ Bourgogne
6
+ Bretagne
7
+ Centre
8
+ Champagne-Ardenne
9
+ Corse
10
+ Franche-Comté
11
+ Haute-Normandie
12
+ Île-de-France
13
+ Languedoc-Roussillon
14
+ Limousin
15
+ Lorraine
16
+ Midi-Pyrénées
17
+ Nord-Pas-de-Calais
18
+ Pays de la Loire
19
+ Picardie
20
+ Poitou-Charentes
21
+ Provence-Alpes-Côte d'Azur
22
+ Rhône-Alpes
23
+ Guadeloupe
24
+ Guyane
25
+ La Réunion
26
+ Martinique
27
+ Mayotte