ffaker 1.24.0 → 1.25.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -15
- data/Changelog.md +4 -0
- data/ffaker.gemspec +42 -2
- data/lib/ffaker.rb +1 -1
- data/lib/ffaker/address_fi.rb +48 -0
- data/lib/ffaker/address_mx.rb +3 -9
- data/lib/ffaker/address_nl.rb +43 -0
- data/lib/ffaker/boolean.rb +16 -0
- data/lib/ffaker/color.rb +13 -0
- data/lib/ffaker/data/address_fi/city +107 -0
- data/lib/ffaker/data/address_fi/countries +96 -0
- data/lib/ffaker/data/address_fi/street +140 -0
- data/lib/ffaker/data/address_nl/city +2226 -0
- data/lib/ffaker/data/address_nl/province +12 -0
- data/lib/ffaker/data/color/names_list +19 -0
- data/lib/ffaker/data/food/fruit +82 -0
- data/lib/ffaker/data/food/herb_spice +64 -0
- data/lib/ffaker/data/food/meat +48 -0
- data/lib/ffaker/data/food/vegetable +207 -0
- data/lib/ffaker/data/identification_mx/estados_curp +33 -0
- data/lib/ffaker/data/job_ja/job_nouns +235 -0
- data/lib/ffaker/data/name_nl/first_names_female +89 -0
- data/lib/ffaker/data/name_nl/first_names_male +75 -0
- data/lib/ffaker/data/name_nl/last_names +115 -0
- data/lib/ffaker/data/vehicle/makes_list +74 -0
- data/lib/ffaker/data/vehicle/models_list +106 -0
- data/lib/ffaker/data/vehicle/trims_list +13 -0
- data/lib/ffaker/food.rb +27 -0
- data/lib/ffaker/identification_mx.rb +49 -0
- data/lib/ffaker/internet.rb +15 -0
- data/lib/ffaker/internet_se.rb +7 -0
- data/lib/ffaker/job_ja.rb +12 -0
- data/lib/ffaker/lorem.rb +1 -1
- data/lib/ffaker/name_nl.rb +50 -0
- data/lib/ffaker/name_ru.rb +1 -1
- data/lib/ffaker/phone_number_nl.rb +52 -0
- data/lib/ffaker/ssn_mx.rb +57 -0
- data/lib/ffaker/vehicle.rb +50 -0
- data/test/test_address_fi.rb +33 -0
- data/test/test_address_mx.rb +9 -9
- data/test/test_address_nl.rb +30 -0
- data/test/test_boolean.rb +10 -0
- data/test/test_color.rb +9 -0
- data/test/test_food.rb +21 -0
- data/test/test_identification_es_mx.rb +24 -0
- data/test/test_internet.rb +7 -0
- data/test/test_internet_se.rb +4 -1
- data/test/test_job_ja.rb +17 -0
- data/test/test_lorem.rb +3 -0
- data/test/test_name_br.rb +4 -2
- data/test/test_name_nl.rb +21 -0
- data/test/test_phone_number_nl.rb +30 -0
- data/test/test_ssn_mx.rb +32 -0
- data/test/test_vehicle.rb +41 -0
- metadata +90 -45
@@ -0,0 +1,74 @@
|
|
1
|
+
Acura
|
2
|
+
Alfa Romeo
|
3
|
+
AMC
|
4
|
+
AM General
|
5
|
+
Aston Martin
|
6
|
+
Audi
|
7
|
+
Autocar
|
8
|
+
Avanti
|
9
|
+
Bentley
|
10
|
+
BMW
|
11
|
+
Bugatti
|
12
|
+
Buick
|
13
|
+
Cadillac
|
14
|
+
Chevrolet
|
15
|
+
Chrysler
|
16
|
+
Country Coach
|
17
|
+
Daewoo
|
18
|
+
Daihatsu
|
19
|
+
Dodge
|
20
|
+
Eagle
|
21
|
+
Ferrari
|
22
|
+
Fiat
|
23
|
+
Ford
|
24
|
+
Freightliner
|
25
|
+
Geo
|
26
|
+
GMC
|
27
|
+
Honda
|
28
|
+
Hummer
|
29
|
+
Hyundai
|
30
|
+
Infiniti
|
31
|
+
Isuzu
|
32
|
+
Jaguar
|
33
|
+
Jeep
|
34
|
+
Kia
|
35
|
+
Lada
|
36
|
+
Lamborghini
|
37
|
+
Land Rover
|
38
|
+
Lexus
|
39
|
+
Lincoln
|
40
|
+
Lodal
|
41
|
+
Lotus
|
42
|
+
Maserati
|
43
|
+
Maybach
|
44
|
+
Mazda
|
45
|
+
Mercedes-Benz
|
46
|
+
Mercury
|
47
|
+
Merkur
|
48
|
+
Mini
|
49
|
+
Mitsubishi
|
50
|
+
Morgan
|
51
|
+
Nissan
|
52
|
+
Oldsmobile
|
53
|
+
Oshkosh
|
54
|
+
Peugeot
|
55
|
+
Plymouth
|
56
|
+
Polaris
|
57
|
+
Pontiac
|
58
|
+
Porsche
|
59
|
+
Ram
|
60
|
+
Renault
|
61
|
+
Rolls-Royce
|
62
|
+
Saab
|
63
|
+
Saleen
|
64
|
+
Saturn
|
65
|
+
Scion
|
66
|
+
smart
|
67
|
+
Smart
|
68
|
+
Sterling
|
69
|
+
Subaru
|
70
|
+
Suzuki
|
71
|
+
Tesla
|
72
|
+
Toyota
|
73
|
+
Volkswagen
|
74
|
+
Volvo
|
@@ -0,0 +1,106 @@
|
|
1
|
+
4Runner
|
2
|
+
Accent
|
3
|
+
Accord
|
4
|
+
Alero
|
5
|
+
Allante
|
6
|
+
Altima
|
7
|
+
Astro
|
8
|
+
Avenger
|
9
|
+
Aveo
|
10
|
+
Aztek
|
11
|
+
Beetle
|
12
|
+
Bravada
|
13
|
+
Bronco
|
14
|
+
Caliber
|
15
|
+
Camaro
|
16
|
+
Camry
|
17
|
+
Caprice
|
18
|
+
Caravan
|
19
|
+
Cavalier
|
20
|
+
Charger
|
21
|
+
Cherokee
|
22
|
+
Civic
|
23
|
+
Cobalt
|
24
|
+
Colorado
|
25
|
+
Concorde
|
26
|
+
Contour
|
27
|
+
Corolla
|
28
|
+
Corolla Wagon
|
29
|
+
Corvette
|
30
|
+
CR-V
|
31
|
+
CR-Z
|
32
|
+
Cutlass
|
33
|
+
Dakota
|
34
|
+
Durango
|
35
|
+
Echo
|
36
|
+
Econoline
|
37
|
+
Elantra
|
38
|
+
Element
|
39
|
+
Envoy
|
40
|
+
Equinox
|
41
|
+
Escalade
|
42
|
+
Escort
|
43
|
+
Expedition
|
44
|
+
Fiero
|
45
|
+
Focus
|
46
|
+
Freestyle
|
47
|
+
Frontier
|
48
|
+
Fusion
|
49
|
+
Ghost
|
50
|
+
Golf
|
51
|
+
Grand Am
|
52
|
+
Grand Caravan
|
53
|
+
Grand Cherokee
|
54
|
+
Grand Marquis
|
55
|
+
Grand Marquis Wagon
|
56
|
+
Grand Prix
|
57
|
+
HHR
|
58
|
+
Highlander
|
59
|
+
Hummer
|
60
|
+
Impala
|
61
|
+
Impreza
|
62
|
+
Integra
|
63
|
+
Intrepid
|
64
|
+
Intrigue
|
65
|
+
Jetta
|
66
|
+
Jimmy
|
67
|
+
Lancer
|
68
|
+
LaSabre
|
69
|
+
Magnum
|
70
|
+
Malibu
|
71
|
+
Mustang
|
72
|
+
Neon
|
73
|
+
Odyssey
|
74
|
+
Optima
|
75
|
+
Pacifica
|
76
|
+
Passat
|
77
|
+
Pathfinder
|
78
|
+
Prius
|
79
|
+
Probe
|
80
|
+
Protege
|
81
|
+
PT Cruiser
|
82
|
+
Quest
|
83
|
+
Rabbit
|
84
|
+
RAV4
|
85
|
+
Rio
|
86
|
+
S10
|
87
|
+
Sable
|
88
|
+
Santa Fe
|
89
|
+
Sierra
|
90
|
+
Silverado
|
91
|
+
Sonata
|
92
|
+
Sprinter
|
93
|
+
Tahoe
|
94
|
+
Taurus
|
95
|
+
Tercel
|
96
|
+
Town & Country
|
97
|
+
Trailblazer
|
98
|
+
Trans Am
|
99
|
+
Uplander
|
100
|
+
Villager
|
101
|
+
Viper
|
102
|
+
Voyager
|
103
|
+
Windstar
|
104
|
+
Yaris
|
105
|
+
Yukon
|
106
|
+
Zephyr
|
data/lib/ffaker/food.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
module Faker
|
2
|
+
module Food
|
3
|
+
extend ModuleUtils
|
4
|
+
extend self
|
5
|
+
|
6
|
+
def ingredient
|
7
|
+
self.send( %w(vegetable fruit meat herb_or_spice)[rand 4] )
|
8
|
+
end
|
9
|
+
|
10
|
+
def vegetable
|
11
|
+
VEGETABLE.rand
|
12
|
+
end
|
13
|
+
|
14
|
+
def fruit
|
15
|
+
FRUIT.rand
|
16
|
+
end
|
17
|
+
|
18
|
+
def meat
|
19
|
+
MEAT.rand
|
20
|
+
end
|
21
|
+
|
22
|
+
def herb_or_spice
|
23
|
+
HERB_SPICE.rand
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'ffaker/identification_es'
|
4
|
+
|
5
|
+
module Faker
|
6
|
+
module IdentificationMX
|
7
|
+
# Author Guapolo <github.com/guapolo>
|
8
|
+
extend ModuleUtils
|
9
|
+
extend self
|
10
|
+
|
11
|
+
# http://es.wikipedia.org/wiki/Registro_Federal_de_Contribuyentes_(M%C3%A9xico)
|
12
|
+
# Registro Federal de Contribuyentes (R.F.C.) para persona física
|
13
|
+
def rfc_persona_fisica
|
14
|
+
consonants_n = CONSONANTS + ["Ñ"]
|
15
|
+
all_letters = consonants_n + VOWELS
|
16
|
+
date = ::Time.at(rand * ::Time.now.to_f).strftime("%y%m%d")
|
17
|
+
"#{ArrayUtils.rand(consonants_n)}#{ArrayUtils.rand(VOWELS)}#{ArrayUtils.random_pick(all_letters,2).join}#{date}#{ArrayUtils.random_pick(HOMOCLAVE,3).join}"
|
18
|
+
end
|
19
|
+
|
20
|
+
# http://es.wikipedia.org/wiki/Registro_Federal_de_Contribuyentes_(M%C3%A9xico)
|
21
|
+
# Registro Federal de Contribuyentes (R.F.C.) para persona moral
|
22
|
+
def rfc_persona_moral
|
23
|
+
consonants_n_amp = CONSONANTS + ["Ñ", "&"]
|
24
|
+
all_letters = consonants_n_amp + VOWELS
|
25
|
+
date = ::Time.at(rand * ::Time.now.to_f).strftime("%y%m%d")
|
26
|
+
"#{ArrayUtils.random_pick(all_letters,3).join}#{date}#{ArrayUtils.random_pick(HOMOCLAVE,3).join}"
|
27
|
+
end
|
28
|
+
|
29
|
+
# http://es.wikipedia.org/wiki/Registro_Federal_de_Contribuyentes_(M%C3%A9xico)
|
30
|
+
# Registro Federal de Contribuyentes (R.F.C.)
|
31
|
+
def rfc
|
32
|
+
ArrayUtils.rand([rfc_persona_moral, rfc_persona_fisica])
|
33
|
+
end
|
34
|
+
|
35
|
+
# http://es.wikipedia.org/wiki/Clave_%C3%9Anica_de_Registro_de_Poblaci%C3%B3n
|
36
|
+
# Clave Única de Registro de Población
|
37
|
+
def curp
|
38
|
+
all_letters = CONSONANTS + VOWELS
|
39
|
+
hm = ["H","M"]
|
40
|
+
date = ::Time.at(rand * ::Time.now.to_f).strftime("%y%m%d")
|
41
|
+
"#{ArrayUtils.rand(CONSONANTS)}#{ArrayUtils.rand(VOWELS)}#{ArrayUtils.random_pick(all_letters,2).join}#{date}#{ArrayUtils.rand(hm)}#{ArrayUtils.rand(ESTADOS_CURP)}#{ArrayUtils.random_pick(CONSONANTS,3).join}#{ArrayUtils.rand(HOMOCLAVE)}#{rand(10)}"
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
CONSONANTS = ["B","C","D","F","G","H","J","K","L","M","N","P","Q","R","S","T","V","W","X","Y","Z"]
|
46
|
+
VOWELS = ["A","E","I","O","U"]
|
47
|
+
HOMOCLAVE = CONSONANTS + VOWELS + (0..9).to_a.map{|n| n.to_s}
|
48
|
+
end
|
49
|
+
end
|
data/lib/ffaker/internet.rb
CHANGED
@@ -64,9 +64,24 @@ module Faker
|
|
64
64
|
(1..4).map { BYTE.random_pick(1) }.join(".")
|
65
65
|
end
|
66
66
|
|
67
|
+
def slug(words = nil, glue = nil)
|
68
|
+
glue ||= SLUG_DELIMITERS.rand
|
69
|
+
|
70
|
+
(words || Faker::Lorem::words(2).join(' ')).gsub(' ', glue).downcase
|
71
|
+
end
|
72
|
+
|
73
|
+
def password(min_length=0)
|
74
|
+
temp = Lorem.words.join
|
75
|
+
while temp.length < min_length
|
76
|
+
temp += Lorem.word
|
77
|
+
end
|
78
|
+
return temp
|
79
|
+
end
|
80
|
+
|
67
81
|
BYTE = k((0..255).to_a.map { |n| n.to_s })
|
68
82
|
HOSTS = k %w(gmail.com yahoo.com hotmail.com)
|
69
83
|
DISPOSABLE_HOSTS = k %w(mailinator.com suremail.info spamherelots.com binkmail.com safetymail.info)
|
70
84
|
DOMAIN_SUFFIXES = k %w(co.uk com us ca biz info name)
|
85
|
+
SLUG_DELIMITERS = k %w[- _ .]
|
71
86
|
end
|
72
87
|
end
|
data/lib/ffaker/internet_se.rb
CHANGED
@@ -98,9 +98,16 @@ module Faker
|
|
98
98
|
(1..4).map { BYTE.random_pick(1) }.join(".")
|
99
99
|
end
|
100
100
|
|
101
|
+
def slug(words = nil, glue = nil)
|
102
|
+
glue ||= SLUG_DELIMITERS.rand
|
103
|
+
|
104
|
+
(words || Faker::Lorem::words(2).join(' ')).gsub(' ', glue).downcase
|
105
|
+
end
|
106
|
+
|
101
107
|
BYTE = k((0..255).to_a.map { |n| n.to_s })
|
102
108
|
HOSTS = k %w(gmail.com yahoo.com hotmail.com spray.se passagen.se)
|
103
109
|
DOMAIN_SUFFIXES = k %w(se nu com)
|
104
110
|
DISPOSABLE_HOSTS = k %w(mailinator.com suremail.info spamherelots.com binkmail.com safetymail.info)
|
111
|
+
SLUG_DELIMITERS = k %w[- _ .]
|
105
112
|
end
|
106
113
|
end
|
data/lib/ffaker/lorem.rb
CHANGED
@@ -0,0 +1,50 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'ffaker/name'
|
4
|
+
|
5
|
+
module Faker
|
6
|
+
module NameNL
|
7
|
+
include Faker::Name
|
8
|
+
|
9
|
+
extend ModuleUtils
|
10
|
+
extend self
|
11
|
+
|
12
|
+
def name
|
13
|
+
case rand(30)
|
14
|
+
when 0 then "#{prefix} #{first_name} #{last_name}"
|
15
|
+
else "#{first_name} #{last_name}"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def first_name
|
20
|
+
case rand(2)
|
21
|
+
when 0 then first_name_female
|
22
|
+
when 1 then first_name_male
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def first_name_female
|
27
|
+
case rand(8)
|
28
|
+
when 0 then [FIRST_NAMES_FEMALE.rand, FIRST_NAMES_FEMALE.rand].join('-')
|
29
|
+
else FIRST_NAMES_FEMALE.rand
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def first_name_male
|
34
|
+
case rand(8)
|
35
|
+
when 0 then [FIRST_NAMES_MALE.rand, FIRST_NAMES_MALE.rand].join('-')
|
36
|
+
else FIRST_NAMES_MALE.rand
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def last_name
|
41
|
+
LAST_NAMES.rand
|
42
|
+
end
|
43
|
+
|
44
|
+
def prefix
|
45
|
+
PREFIXES.rand
|
46
|
+
end
|
47
|
+
|
48
|
+
PREFIXES = k %w(Dr. Drs. Ir. Ing. Prof.)
|
49
|
+
end
|
50
|
+
end
|
data/lib/ffaker/name_ru.rb
CHANGED
@@ -13,7 +13,7 @@ module Faker
|
|
13
13
|
# Can be called with explicit sex which will affect
|
14
14
|
# all calls inside thee block:
|
15
15
|
#
|
16
|
-
# Faker::NameRU.with_same_sex(:male)
|
16
|
+
# Faker::NameRU.with_same_sex(:male) do
|
17
17
|
# person.last_name = Faker::NameRU.last_name
|
18
18
|
# person.first_name = Faker::NameRU.first_name
|
19
19
|
# person.patronymic = Faker::NameRU.patronymic
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
module PhoneNumberNL
|
5
|
+
extend ModuleUtils
|
6
|
+
extend self
|
7
|
+
|
8
|
+
COUNTRY_CODE = "+31"
|
9
|
+
AREA_CODE_PREFIX = "0"
|
10
|
+
|
11
|
+
def phone_number
|
12
|
+
case rand(2)
|
13
|
+
when 0 then home_work_phone_number
|
14
|
+
when 1 then mobile_phone_number
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def home_work_phone_number
|
19
|
+
area = AREA_CODES.rand
|
20
|
+
Faker.numerify "#{AREA_CODE_PREFIX}#{area}-#{PHONE_NUMBER[area.size].rand}"
|
21
|
+
end
|
22
|
+
|
23
|
+
def mobile_phone_number
|
24
|
+
Faker.numerify "#{AREA_CODE_PREFIX}6#{MOBILE_PHONE_NUMBER.rand}"
|
25
|
+
end
|
26
|
+
|
27
|
+
def international_phone_number
|
28
|
+
case rand(2)
|
29
|
+
when 0 then international_mobile_phone_number
|
30
|
+
when 1 then international_home_work_phone_number
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def international_home_work_phone_number
|
35
|
+
area = AREA_CODES.rand
|
36
|
+
Faker.numerify("#{COUNTRY_CODE} #{area}-#{PHONE_NUMBER[area.size].rand}")
|
37
|
+
end
|
38
|
+
|
39
|
+
def international_mobile_phone_number
|
40
|
+
Faker.numerify("#{COUNTRY_CODE} 6#{MOBILE_PHONE_NUMBER.rand}")
|
41
|
+
end
|
42
|
+
|
43
|
+
PHONE_NUMBER = {
|
44
|
+
2 => k(["#######", "### ####", "#### ###"]),
|
45
|
+
3 => k(["######", "#### ##", "## ## ##"])
|
46
|
+
}
|
47
|
+
|
48
|
+
AREA_CODES = k %w(10 111 113 114 115 117 118 13 14 15 161 162 164 165 166 167 168 172 174 180 181 182 183 184 186 187 20 222 223 224 226 227 228 229 23 24 251 252 255 26 294 297 299 30 313 314 315 316 317 318 320 321 33 341 342 343 344 345 346 347 348 35 36 38 40 411 412 413 416 418 43 45 46 475 478 481 485 486 487 488 492 493 495 497 499 50 511 512 513 514 515 516 517 518 519 521 522 523 524 525 527 528 529 53 541 543 544 545 546 547 548 55 561 562 566 570 571 572 573 575 577 578 58 591 592 593 594 595 596 597 598 599 70 71 72 73 74 75 76 77 78 79)
|
49
|
+
MOBILE_PHONE_NUMBER = k ['########', ' ## ## ## ##', ' ### ### ##', " #### ####"]
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|