ffaker 1.24.0 → 1.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +7 -15
  2. data/Changelog.md +4 -0
  3. data/ffaker.gemspec +42 -2
  4. data/lib/ffaker.rb +1 -1
  5. data/lib/ffaker/address_fi.rb +48 -0
  6. data/lib/ffaker/address_mx.rb +3 -9
  7. data/lib/ffaker/address_nl.rb +43 -0
  8. data/lib/ffaker/boolean.rb +16 -0
  9. data/lib/ffaker/color.rb +13 -0
  10. data/lib/ffaker/data/address_fi/city +107 -0
  11. data/lib/ffaker/data/address_fi/countries +96 -0
  12. data/lib/ffaker/data/address_fi/street +140 -0
  13. data/lib/ffaker/data/address_nl/city +2226 -0
  14. data/lib/ffaker/data/address_nl/province +12 -0
  15. data/lib/ffaker/data/color/names_list +19 -0
  16. data/lib/ffaker/data/food/fruit +82 -0
  17. data/lib/ffaker/data/food/herb_spice +64 -0
  18. data/lib/ffaker/data/food/meat +48 -0
  19. data/lib/ffaker/data/food/vegetable +207 -0
  20. data/lib/ffaker/data/identification_mx/estados_curp +33 -0
  21. data/lib/ffaker/data/job_ja/job_nouns +235 -0
  22. data/lib/ffaker/data/name_nl/first_names_female +89 -0
  23. data/lib/ffaker/data/name_nl/first_names_male +75 -0
  24. data/lib/ffaker/data/name_nl/last_names +115 -0
  25. data/lib/ffaker/data/vehicle/makes_list +74 -0
  26. data/lib/ffaker/data/vehicle/models_list +106 -0
  27. data/lib/ffaker/data/vehicle/trims_list +13 -0
  28. data/lib/ffaker/food.rb +27 -0
  29. data/lib/ffaker/identification_mx.rb +49 -0
  30. data/lib/ffaker/internet.rb +15 -0
  31. data/lib/ffaker/internet_se.rb +7 -0
  32. data/lib/ffaker/job_ja.rb +12 -0
  33. data/lib/ffaker/lorem.rb +1 -1
  34. data/lib/ffaker/name_nl.rb +50 -0
  35. data/lib/ffaker/name_ru.rb +1 -1
  36. data/lib/ffaker/phone_number_nl.rb +52 -0
  37. data/lib/ffaker/ssn_mx.rb +57 -0
  38. data/lib/ffaker/vehicle.rb +50 -0
  39. data/test/test_address_fi.rb +33 -0
  40. data/test/test_address_mx.rb +9 -9
  41. data/test/test_address_nl.rb +30 -0
  42. data/test/test_boolean.rb +10 -0
  43. data/test/test_color.rb +9 -0
  44. data/test/test_food.rb +21 -0
  45. data/test/test_identification_es_mx.rb +24 -0
  46. data/test/test_internet.rb +7 -0
  47. data/test/test_internet_se.rb +4 -1
  48. data/test/test_job_ja.rb +17 -0
  49. data/test/test_lorem.rb +3 -0
  50. data/test/test_name_br.rb +4 -2
  51. data/test/test_name_nl.rb +21 -0
  52. data/test/test_phone_number_nl.rb +30 -0
  53. data/test/test_ssn_mx.rb +32 -0
  54. data/test/test_vehicle.rb +41 -0
  55. 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
@@ -0,0 +1,13 @@
1
+ DX
2
+ ES
3
+ EX
4
+ EX-L
5
+ GL
6
+ GS
7
+ LS
8
+ LT
9
+ RS
10
+ SE
11
+ SI
12
+ SLT
13
+ XLT
@@ -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
@@ -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
@@ -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
@@ -0,0 +1,12 @@
1
+ # encoding: utf-8
2
+
3
+ module Faker
4
+ module JobJA
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def title
9
+ "#{JOB_NOUNS.rand}"
10
+ end
11
+ end
12
+ end
data/lib/ffaker/lorem.rb CHANGED
@@ -19,7 +19,7 @@ module Faker
19
19
  end
20
20
 
21
21
  def sentence(word_count = 4)
22
- s = words(word_count + rand(6))
22
+ s = words(word_count + rand(5) + 1)
23
23
  s[0].capitalize!
24
24
  s = s.join(' ')
25
25
  "#{s}."
@@ -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
@@ -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
+