ffaker 1.22.1 → 1.23.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 (63) hide show
  1. checksums.yaml +13 -5
  2. data/Changelog.md +4 -0
  3. data/README.md +6 -23
  4. data/Rakefile +0 -1
  5. data/ffaker.gemspec +47 -21
  6. data/lib/ffaker.rb +1 -1
  7. data/lib/ffaker/address.rb +16 -2
  8. data/lib/ffaker/address_br.rb +41 -0
  9. data/lib/ffaker/address_da.rb +1 -1
  10. data/lib/ffaker/address_fr.rb +38 -0
  11. data/lib/ffaker/address_uk.rb +5 -5
  12. data/lib/ffaker/data/address/country +43 -36
  13. data/lib/ffaker/data/address/country_code +249 -0
  14. data/lib/ffaker/data/address_br/city +299 -0
  15. data/lib/ffaker/data/address_br/state +27 -0
  16. data/lib/ffaker/data/address_br/state_abbr +27 -0
  17. data/lib/ffaker/data/address_fr/city +261 -0
  18. data/lib/ffaker/data/address_uk/{uk_county → county} +0 -0
  19. data/lib/ffaker/data/bacon_ipsum/bacon_words +3 -1
  20. data/lib/ffaker/data/healthcare_ipsum/healthcare_words +28 -55
  21. data/lib/ffaker/data/lorem/characters +36 -0
  22. data/lib/ffaker/data/name_br/first_names +91 -0
  23. data/lib/ffaker/data/name_br/last_names +25 -0
  24. data/lib/ffaker/data/name_it/first_names +171 -0
  25. data/lib/ffaker/data/name_it/last_names +70 -0
  26. data/lib/ffaker/data/name_nb/first_names_female +50 -0
  27. data/lib/ffaker/data/name_nb/first_names_male +50 -0
  28. data/lib/ffaker/data/name_nb/last_names +100 -0
  29. data/lib/ffaker/lorem.rb +4 -0
  30. data/lib/ffaker/name_br.rb +31 -0
  31. data/lib/ffaker/name_it.rb +37 -0
  32. data/lib/ffaker/name_nb.rb +47 -0
  33. data/lib/ffaker/nato_alphabet.rb +40 -0
  34. data/lib/ffaker/phone_number_fr.rb +28 -0
  35. data/lib/ffaker/utils/module_utils.rb +2 -2
  36. data/test/test_address.rb +13 -0
  37. data/test/test_address_au.rb +1 -1
  38. data/test/test_address_br.rb +30 -0
  39. data/test/test_address_da.rb +41 -0
  40. data/test/test_address_se.rb +1 -4
  41. data/test/{test_faker_internet.rb → test_internet.rb} +0 -0
  42. data/test/{test_faker_internet_se.rb → test_internet_se.rb} +0 -0
  43. data/test/{test_faker_job.rb → test_job.rb} +0 -0
  44. data/test/{test_faker_job_fr.rb → test_job_fr.rb} +0 -0
  45. data/test/test_lorem.rb +7 -0
  46. data/test/{test_faker_name.rb → test_name.rb} +0 -0
  47. data/test/test_name_br.rb +30 -0
  48. data/test/{test_faker_name_cn.rb → test_name_cn.rb} +0 -0
  49. data/test/{test_faker_name_cs.rb → test_name_cs.rb} +0 -0
  50. data/test/{test_faker_name_de.rb → test_name_de.rb} +0 -0
  51. data/test/{test_faker_name_fr.rb → test_name_fr.rb} +0 -0
  52. data/test/{test_faker_name_ga.rb → test_name_ga.rb} +0 -0
  53. data/test/test_name_it.rb +48 -0
  54. data/test/{test_faker_name_ja.rb → test_name_ja.rb} +1 -1
  55. data/test/{test_faker_name_kr.rb → test_name_kr.rb} +0 -0
  56. data/test/{test_faker_name_mx.rb → test_name_mx.rb} +0 -0
  57. data/test/test_name_nb.rb +38 -0
  58. data/test/{test_faker_name_ph.rb → test_name_ph.rb} +0 -0
  59. data/test/{test_faker_name_ru.rb → test_name_ru.rb} +0 -0
  60. data/test/{test_faker_name_se.rb → test_name_se.rb} +0 -0
  61. data/test/{test_faker_name_sn.rb → test_name_sn.rb} +0 -0
  62. data/test/test_nato_alphabet.rb +31 -0
  63. metadata +76 -44
@@ -0,0 +1,50 @@
1
+ Markus
2
+ Mathias
3
+ Kristian
4
+ Jonas
5
+ Andreas
6
+ Alexander
7
+ Martin
8
+ Sander
9
+ Daniel
10
+ Magnus
11
+ Henrik
12
+ Tobias
13
+ Kristoffer
14
+ Emil
15
+ Adrian
16
+ Sebastian
17
+ Marius
18
+ Elias
19
+ Fredrik
20
+ Thomas
21
+ Sondre
22
+ Benjamin
23
+ Jakob
24
+ Oliver
25
+ Lucas
26
+ Oskar
27
+ Nikolai
28
+ Filip
29
+ Mats
30
+ William
31
+ Erik
32
+ Simen
33
+ Ole
34
+ Eirik
35
+ Isak
36
+ Kasper
37
+ Noah
38
+ Lars
39
+ Joakim
40
+ Johannes
41
+ Håkon
42
+ Sindre
43
+ Jørgen
44
+ Herman
45
+ Anders
46
+ Jonathan
47
+ Even
48
+ Theodor
49
+ Mikkel
50
+ Aksel
@@ -0,0 +1,100 @@
1
+ Johansen
2
+ Hansen
3
+ Andersen
4
+ Kristiansen
5
+ Larsen
6
+ Olsen
7
+ Solberg
8
+ Andresen
9
+ Pedersen
10
+ Nilsen
11
+ Berg
12
+ Halvorsen
13
+ Karlsen
14
+ Svendsen
15
+ Jensen
16
+ Haugen
17
+ Martinsen
18
+ Eriksen
19
+ Sørensen
20
+ Johnsen
21
+ Myhrer
22
+ Johannessen
23
+ Nielsen
24
+ Hagen
25
+ Pettersen
26
+ Bakke
27
+ Skuterud
28
+ Løken
29
+ Gundersen
30
+ Strand
31
+ Jørgensen
32
+ Kvarme
33
+ Røed
34
+ Sæther
35
+ Stensrud
36
+ Moe
37
+ Kristoffersen
38
+ Jakobsen
39
+ Holm
40
+ Aas
41
+ Lie
42
+ Moen
43
+ Andreassen
44
+ Vedvik
45
+ Nguyen
46
+ Jacobsen
47
+ Torgersen
48
+ Ruud
49
+ Krogh
50
+ Christiansen
51
+ Bjerke
52
+ Aalerud
53
+ Borge
54
+ Sørlie
55
+ Berge
56
+ Østli
57
+ Ødegård
58
+ Torp
59
+ Henriksen
60
+ Haukelidsæter
61
+ Fjeld
62
+ Danielsen
63
+ Aasen
64
+ Fredriksen
65
+ Dahl
66
+ Berntsen
67
+ Arnesen
68
+ Wold
69
+ Thoresen
70
+ Solheim
71
+ Skoglund
72
+ Bakken
73
+ Amundsen
74
+ Solli
75
+ Smogeli
76
+ Kristensen
77
+ Glosli
78
+ Fossum
79
+ Evensen
80
+ Eide
81
+ Carlsen
82
+ Østby
83
+ Vegge
84
+ Tangen
85
+ Smedsrud
86
+ Olstad
87
+ Lunde
88
+ Kleven
89
+ Huseby
90
+ Bjørnstad
91
+ Ryan
92
+ Rasmussen
93
+ Nygård
94
+ Nordskaug
95
+ Nordby
96
+ Mathisen
97
+ Hopland
98
+ Gran
99
+ Finstad
100
+ Edvardsen
data/lib/ffaker/lorem.rb CHANGED
@@ -6,6 +6,10 @@ module Faker
6
6
  extend ModuleUtils
7
7
  extend self
8
8
 
9
+ def characters(character_count = 255)
10
+ Array.new(character_count < 0 ? 0 : character_count).map { CHARACTERS.rand }.join
11
+ end
12
+
9
13
  def word
10
14
  WORDS.rand
11
15
  end
@@ -0,0 +1,31 @@
1
+ # encoding: utf-8
2
+
3
+ module Faker
4
+ module NameBR
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def name
9
+ "#{first_name} #{last_name}"
10
+ end
11
+
12
+ def name_with_prefix
13
+ "#{prefix} #{name}"
14
+ end
15
+
16
+ def first_name
17
+ FIRST_NAMES.rand
18
+ end
19
+
20
+ def last_name
21
+ LAST_NAMES.rand
22
+ end
23
+
24
+ def prefix
25
+ PREFIXES.rand
26
+ end
27
+
28
+ PREFIXES = k %w(Sr. Sra. Srta.)
29
+ end
30
+ end
31
+
@@ -0,0 +1,37 @@
1
+ # encoding: utf-8
2
+
3
+ module Faker
4
+ # Author PapePathe<pathe.sene@gmail.com> github.com/PapePathe
5
+ # The names & first names in this module were found at this url
6
+ # https://github.com/fzaninotto/Faker/blob/master/src/Faker/Provider/fr_FR/Person.php
7
+ module NameIT
8
+ extend ModuleUtils
9
+ extend self
10
+
11
+ PREFIX = k %w(Sig. Sig.ra Sig.na Dr. Dott. Dott.ssa Prof. Prof.ssa)
12
+
13
+ # randomized? (FRENCH) prefix!
14
+ #
15
+ def prefix
16
+ PREFIX.rand
17
+ end
18
+
19
+ def last_name
20
+ LAST_NAMES.rand
21
+ end
22
+
23
+ def first_name
24
+ FIRST_NAMES.rand
25
+ end
26
+
27
+ def name
28
+ case rand(10)
29
+ when 7 then "#{prefix} #{first_name} #{last_name}"
30
+ when 5 then "#{prefix} #{first_name} #{last_name}"
31
+ when 3 then "#{first_name} #{last_name}"
32
+ when 0 then "#{first_name} #{last_name}"
33
+ else "#{first_name} #{last_name}"
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,47 @@
1
+ # encoding: utf-8
2
+
3
+ require 'ffaker/name'
4
+
5
+ module Faker
6
+ module NameNB
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(12)
21
+ when 0..4 then first_name_female
22
+ when 5..9 then first_name_male
23
+ when 10 then "#{first_name_male} #{first_name_male}"
24
+ when 11 then "#{first_name_female} #{first_name_female}"
25
+ else first_name_female
26
+ end
27
+ end
28
+
29
+ def first_name_female
30
+ FIRST_NAMES_FEMALE.rand
31
+ end
32
+
33
+ def first_name_male
34
+ FIRST_NAMES_MALE.rand
35
+ end
36
+
37
+ def last_name
38
+ LAST_NAMES.rand
39
+ end
40
+
41
+ def prefix
42
+ PREFIXES.rand
43
+ end
44
+
45
+ PREFIXES = k %w(Dr. Prof.)
46
+ end
47
+ end
@@ -0,0 +1,40 @@
1
+ # encoding: utf-8
2
+
3
+ module Faker
4
+ module NatoAlphabet
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ ALPHABET_CODES = k %w(ALPHA BRAVO CHARLIE DELTA ECHO FOXTROT GOLF HOTEL INDIA JULIETT KILO LIMA MIKE NOVEMBER OSCAR PAPA QUEBEC ROMEO SIERRA TANGO UNIFORM VICTOR WHISKEY XRAY YANKEE ZULU)
9
+ NUMERIC_CODES = k %w(ONE TWO THREE FOUR FIVE SIX SEVEN EIGHT NINE ZERO)
10
+ STOP_CODE = "STOP"
11
+ CODES = ALPHABET_CODES + NUMERIC_CODES + [STOP_CODE]
12
+
13
+ def code
14
+ ArrayUtils.rand(CODES)
15
+ end
16
+
17
+ def alphabetic_code
18
+ ArrayUtils.rand(ALPHABET_CODES)
19
+ end
20
+
21
+ def numeric_code
22
+ ArrayUtils.rand(NUMERIC_CODES)
23
+ end
24
+
25
+ def callsign
26
+ codify("?-?-#")
27
+ end
28
+
29
+ def codify(masks)
30
+ masks.scan(/./).map do |c|
31
+ case c
32
+ when "#" then NUMERIC_CODES.rand
33
+ when "?" then ALPHABET_CODES.rand
34
+ when "." then STOP_CODE
35
+ else c
36
+ end
37
+ end.join
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,28 @@
1
+ # encoding: utf-8
2
+
3
+ module Faker
4
+ module PhoneNumberFR
5
+ extend ModuleUtils
6
+ extend self
7
+
8
+ def phone_number
9
+ case rand(2)
10
+ when 0 then home_work_phone_number
11
+ when 1 then mobile_phone_number
12
+ end
13
+ end
14
+
15
+ def home_work_phone_number
16
+ Faker.numerify "#{COUNTRY_PREFIX.rand}#{AREA_PREFIX.rand}#{PHONE_NUMBER.rand}"
17
+ end
18
+
19
+ def mobile_phone_number
20
+ Faker.numerify "#{COUNTRY_PREFIX.rand}#{MOBILE_PREFIX.rand}#{PHONE_NUMBER.rand}"
21
+ end
22
+
23
+ COUNTRY_PREFIX = k %w[+33 0033 0]
24
+ AREA_PREFIX = k %w[1 2 3 4 5]
25
+ MOBILE_PREFIX = k %w[6 7]
26
+ PHONE_NUMBER = k ['########', ' ## ## ## ##']
27
+ end
28
+ end
@@ -12,8 +12,8 @@ module Faker
12
12
  else
13
13
  mod_name = ancestors.first.to_s.split("::").last
14
14
  data_path = "#{Faker::BASE_LIB_PATH}/ffaker/data/#{underscore(mod_name)}/#{underscore(const_name.to_s)}"
15
- data = File.read(data_path).split("\n")
16
- const_set const_name, k(data)
15
+ data = k File.read(data_path).split("\n")
16
+ const_set const_name, data
17
17
  data
18
18
  end
19
19
  end
data/test/test_address.rb CHANGED
@@ -70,4 +70,17 @@ class TestAddress < Test::Unit::TestCase
70
70
  def test_country
71
71
  assert_match /[ a-z]+/, Faker::Address::country
72
72
  end
73
+
74
+ def test_country_by_county_code
75
+ assert_match 'Ukraine', Faker::Address::country('UA')
76
+ end
77
+
78
+ def test_country_code
79
+ assert_match /[A-Z]{2}/, Faker::Address::country_code
80
+ end
81
+
82
+ def test_country_code_of_particular_country
83
+ assert_match 'UA', Faker::Address::country_code('Ukraine')
84
+ assert_match /[A-Z]{2}/, Faker::Address::country_code('Foo')
85
+ end
73
86
  end
@@ -5,7 +5,7 @@ require 'helper'
5
5
  # Author: wiseleyb<wiseleyb@gmail.com>
6
6
  class TestAddressAU < Test::Unit::TestCase
7
7
 
8
- def test_au_state_abbr
8
+ def test_au_state_abbr_insertion
9
9
  arr = Faker::AddressAU::STATE_ABBR.sort
10
10
  assert arr = Faker::AddressAU::SUBURB.keys.sort
11
11
  assert arr = Faker::AddressAU::POSTCODE.keys.sort
@@ -0,0 +1,30 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestAddressBR < Test::Unit::TestCase
6
+ def test_zip_code
7
+ assert_match /\d{5}-\d{3}/, Faker::AddressBR.zip_code
8
+ end
9
+
10
+ def test_state
11
+ assert Faker::AddressBR::STATE.include?(Faker::AddressBR.state)
12
+ end
13
+
14
+ def test_state_abbr
15
+ assert Faker::AddressBR::STATE_ABBR.include?(Faker::AddressBR.state_abbr)
16
+ end
17
+
18
+ def test_city
19
+ assert Faker::AddressBR::CITY.include?(Faker::AddressBR.city)
20
+ end
21
+
22
+ def test_street_prefix
23
+ assert Faker::AddressBR::STREET_PREFIX.include?(Faker::AddressBR.street_prefix)
24
+ end
25
+
26
+ def test_street
27
+ prefixes = Faker::AddressBR::STREET_PREFIX
28
+ assert_match /(#{prefixes.join('|')})( [[:alpha:]]+){1,2}/, Faker::AddressBR.street
29
+ end
30
+ end
@@ -0,0 +1,41 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+ class TestAddressDA < Test::Unit::TestCase
6
+ def test_zip_code
7
+ assert_match /^\d{4}$/, Faker::AddressDA.zip_code
8
+ end
9
+
10
+ def test_post_nr
11
+ assert_match /^\d{4}$/, Faker::AddressDA.post_nr
12
+ end
13
+
14
+ def test_state
15
+ assert_match /[ a-z]/, Faker::AddressDA.state
16
+ end
17
+
18
+ def test_kommune
19
+ assert_match /[ a-z]/, Faker::AddressDA.kommune
20
+ end
21
+
22
+ def region
23
+ assert_match /[ a-z]/, Faker::AddressDA.region
24
+ end
25
+
26
+ def test_city
27
+ assert_match /[ a-z]+/, Faker::AddressDA.city
28
+ end
29
+
30
+ def test_street_name
31
+ assert_match /[ a-z]+/, Faker::AddressDA.street_name
32
+ end
33
+
34
+ def test_street_address
35
+ assert_match /[ a-z]+/, Faker::AddressDA.street_address
36
+ end
37
+
38
+ def test_full_address
39
+ assert_match /[ a-z]+/, Faker::AddressDA.full_address
40
+ end
41
+ end