ffaker 1.22.1 → 1.23.0

Sign up to get free protection for your applications and to get access to all the features.
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