ffaker 2.18.0 → 2.21.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.
- checksums.yaml +4 -4
- data/Changelog.md +25 -0
- data/REFERENCE.md +1463 -1352
- data/ffaker.gemspec +1 -4
- data/lib/ffaker/address_au.rb +1 -1
- data/lib/ffaker/address_br.rb +15 -3
- data/lib/ffaker/address_ca.rb +1 -1
- data/lib/ffaker/address_it.rb +36 -0
- data/lib/ffaker/address_mx.rb +2 -8
- data/lib/ffaker/animal_br.rb +12 -0
- data/lib/ffaker/company.rb +3 -6
- data/lib/ffaker/company_fr.rb +35 -0
- data/lib/ffaker/{courses.rb → courses_fr.rb} +2 -0
- data/lib/ffaker/data/address_br/city +0 -1
- data/lib/ffaker/data/address_br/complement +3 -0
- data/lib/ffaker/data/address_br/neighborhood_prefixes +3 -0
- data/lib/ffaker/data/address_br/state +1 -1
- data/lib/ffaker/data/address_it/city +111 -0
- data/lib/ffaker/data/address_it/region +20 -0
- data/lib/ffaker/data/animal_br/common_names +423 -0
- data/lib/ffaker/data/food_pl/fermented +1 -1
- data/lib/ffaker/data/food_pl/fruits +1 -1
- data/lib/ffaker/data/food_pl/herbs +1 -1
- data/lib/ffaker/data/food_pl/meats +1 -1
- data/lib/ffaker/data/food_pl/preserves +1 -1
- data/lib/ffaker/data/food_pl/spices +1 -1
- data/lib/ffaker/data/food_pl/vegetables +1 -1
- data/lib/ffaker/data/game/adj_and_adv +18 -0
- data/lib/ffaker/data/game/category +84 -0
- data/lib/ffaker/data/game/mechanic +182 -0
- data/lib/ffaker/data/game/nouns +37 -0
- data/lib/ffaker/data/game/prefixes +17 -0
- data/lib/ffaker/data/job_it/job_adj +37 -0
- data/lib/ffaker/data/job_it/job_noun +25 -0
- data/lib/ffaker/data/job_it/job_prefix +22 -0
- data/lib/ffaker/data/lorem_br/characters +36 -0
- data/lib/ffaker/data/lorem_br/words +183 -0
- data/lib/ffaker/data/lorem_it/words +321 -0
- data/lib/ffaker/data/name/pronouns +1 -1
- data/lib/ffaker/data/name_ga/first_names_male +286 -286
- data/lib/ffaker/data/sport_ru/summer +68 -0
- data/lib/ffaker/data/sport_ru/winter +20 -0
- data/lib/ffaker/freedom_ipsum.rb +1 -1
- data/lib/ffaker/game.rb +33 -0
- data/lib/ffaker/gender_it.rb +17 -0
- data/lib/ffaker/gender_ru.rb +22 -0
- data/lib/ffaker/html_ipsum.rb +7 -1
- data/lib/ffaker/identification_it.rb +30 -0
- data/lib/ffaker/identification_tw.rb +3 -2
- data/lib/ffaker/job_it.rb +12 -0
- data/lib/ffaker/lorem_br.rb +45 -0
- data/lib/ffaker/lorem_it.rb +39 -0
- data/lib/ffaker/name_th_en.rb +1 -1
- data/lib/ffaker/number.rb +26 -0
- data/lib/ffaker/phone_number_it.rb +8 -6
- data/lib/ffaker/sport_ru.rb +25 -0
- data/lib/ffaker/ssn_se.rb +0 -19
- data/lib/ffaker/string.rb +6 -6
- data/lib/ffaker/time.rb +1 -1
- data/lib/ffaker/utils/array_utils.rb +1 -1
- data/lib/ffaker/utils/module_utils.rb +23 -3
- data/lib/ffaker/utils/unique_utils.rb +1 -0
- data/lib/ffaker/vehicle.rb +63 -1
- data/lib/ffaker.rb +15 -3
- data/lib/version.rb +1 -1
- data/scripts/profiling.rb +1 -1
- data/scripts/reference.rb +16 -15
- data/test/helper.rb +1 -1
- data/test/test_address.rb +1 -1
- data/test/test_address_au.rb +1 -1
- data/test/test_address_br.rb +16 -3
- data/test/test_address_ca.rb +1 -1
- data/test/test_address_ch.rb +1 -1
- data/test/test_address_ch_de.rb +1 -1
- data/test/test_address_ch_fr.rb +1 -1
- data/test/test_address_ch_it.rb +1 -1
- data/test/test_address_da.rb +1 -1
- data/test/test_address_de.rb +1 -1
- data/test/test_address_fi.rb +1 -1
- data/test/test_address_fr.rb +1 -1
- data/test/test_address_gr.rb +1 -1
- data/test/test_address_id.rb +1 -1
- data/test/test_address_in.rb +1 -1
- data/test/test_address_it.rb +12 -0
- data/test/test_address_ja.rb +1 -1
- data/test/test_address_kr.rb +1 -1
- data/test/test_address_mx.rb +1 -1
- data/test/test_address_nl.rb +1 -1
- data/test/test_address_pl.rb +1 -1
- data/test/test_address_ru.rb +1 -1
- data/test/test_address_se.rb +1 -1
- data/test/test_address_sn.rb +1 -1
- data/test/test_address_ua.rb +1 -1
- data/test/test_address_uk.rb +1 -1
- data/test/test_address_us.rb +1 -1
- data/test/test_airline.rb +1 -1
- data/test/test_animal.rb +1 -1
- data/test/test_animal_br.rb +17 -0
- data/test/test_animal_cn.rb +1 -1
- data/test/test_animal_es.rb +1 -1
- data/test/test_animal_pl.rb +1 -1
- data/test/test_animal_us.rb +1 -1
- data/test/test_array_utils.rb +2 -1
- data/test/test_avatar.rb +1 -1
- data/test/test_aws.rb +1 -1
- data/test/test_bacon_ipsum.rb +1 -1
- data/test/test_bank.rb +1 -1
- data/test/test_book.rb +1 -1
- data/test/test_boolean.rb +1 -1
- data/test/test_cheesy_lingo.rb +1 -1
- data/test/test_code.rb +1 -1
- data/test/test_color.rb +1 -1
- data/test/test_color_pl.rb +1 -1
- data/test/test_color_ua.rb +1 -1
- data/test/test_company.rb +1 -1
- data/test/test_company_cn.rb +1 -1
- data/test/test_company_fr.rb +33 -0
- data/test/test_company_it.rb +1 -1
- data/test/test_company_ja.rb +1 -1
- data/test/test_company_se.rb +1 -1
- data/test/test_conference.rb +1 -1
- data/test/test_course_mathematiques.rb +1 -1
- data/test/test_course_philosophie.rb +1 -1
- data/test/test_currency.rb +1 -1
- data/test/test_dizzle_ipsum.rb +1 -1
- data/test/test_education.rb +1 -1
- data/test/test_education_cn.rb +1 -1
- data/test/test_ffaker.rb +1 -1
- data/test/test_filesystem.rb +1 -1
- data/test/test_food.rb +1 -1
- data/test/test_food_pl.rb +1 -1
- data/test/test_freedom_ipsum.rb +1 -1
- data/test/test_game.rb +28 -0
- data/test/test_gender.rb +2 -2
- data/test/test_gender_br.rb +1 -1
- data/test/test_gender_cn.rb +1 -1
- data/test/test_gender_id.rb +1 -1
- data/test/test_gender_it.rb +27 -0
- data/test/test_gender_ja.rb +1 -1
- data/test/test_gender_jp.rb +1 -1
- data/test/test_gender_kr.rb +1 -1
- data/test/test_gender_pl.rb +1 -1
- data/test/test_gender_ru.rb +23 -0
- data/test/test_geolocation.rb +1 -1
- data/test/test_guid.rb +1 -1
- data/test/test_healthcare_ipsum.rb +1 -1
- data/test/test_healthcare_ru.rb +1 -1
- data/test/test_hipster_ipsum.rb +1 -1
- data/test/test_html_ipsum.rb +7 -1
- data/test/test_identification.rb +1 -1
- data/test/test_identification_br.rb +1 -1
- data/test/test_identification_co.rb +1 -1
- data/test/test_identification_es.rb +1 -1
- data/test/test_identification_es_cl.rb +1 -1
- data/test/test_identification_es_mx.rb +1 -1
- data/test/test_identification_in.rb +1 -1
- data/test/test_identification_it.rb +34 -0
- data/test/test_identification_kr.rb +1 -1
- data/test/test_identification_tw.rb +1 -1
- data/test/test_image.rb +1 -1
- data/test/test_internet.rb +1 -1
- data/test/test_internet_se.rb +1 -1
- data/test/test_job.rb +1 -1
- data/test/test_job_br.rb +1 -1
- data/test/test_job_cn.rb +1 -1
- data/test/test_job_fr.rb +1 -1
- data/test/test_job_it.rb +17 -0
- data/test/test_job_ja.rb +1 -1
- data/test/test_job_kr.rb +1 -1
- data/test/test_job_vn.rb +1 -1
- data/test/test_locale.rb +1 -1
- data/test/test_lorem.rb +1 -1
- data/test/test_lorem_ar.rb +1 -1
- data/test/test_lorem_br.rb +62 -0
- data/test/test_lorem_cn.rb +1 -1
- data/test/test_lorem_fr.rb +1 -1
- data/test/test_lorem_ie.rb +1 -1
- data/test/test_lorem_it.rb +51 -0
- data/test/test_lorem_ja.rb +1 -1
- data/test/test_lorem_kr.rb +1 -1
- data/test/test_lorem_pl.rb +1 -1
- data/test/test_lorem_ru.rb +1 -1
- data/test/test_lorem_ua.rb +1 -1
- data/test/test_module_utils.rb +1 -1
- data/test/test_movie.rb +1 -1
- data/test/test_music.rb +1 -1
- data/test/test_name.rb +1 -1
- data/test/test_name_ar.rb +1 -1
- data/test/test_name_br.rb +1 -1
- data/test/test_name_cn.rb +1 -1
- data/test/test_name_cs.rb +1 -1
- data/test/test_name_da.rb +1 -1
- data/test/test_name_de.rb +1 -1
- data/test/test_name_es.rb +1 -1
- data/test/test_name_fr.rb +1 -1
- data/test/test_name_ga.rb +1 -1
- data/test/test_name_gr.rb +1 -1
- data/test/test_name_id.rb +1 -1
- data/test/test_name_it.rb +1 -1
- data/test/test_name_ja.rb +1 -1
- data/test/test_name_kh.rb +1 -1
- data/test/test_name_kr.rb +1 -1
- data/test/test_name_mx.rb +1 -1
- data/test/test_name_nb.rb +1 -1
- data/test/test_name_nl.rb +1 -1
- data/test/test_name_ph.rb +1 -1
- data/test/test_name_pl.rb +1 -1
- data/test/test_name_ru.rb +1 -1
- data/test/test_name_se.rb +1 -1
- data/test/test_name_sn.rb +1 -1
- data/test/test_name_th.rb +1 -1
- data/test/test_name_th_en.rb +1 -1
- data/test/test_name_tw.rb +1 -1
- data/test/test_name_ua.rb +1 -1
- data/test/test_name_vn.rb +1 -1
- data/test/test_nato_alphabet.rb +1 -1
- data/test/test_number.rb +45 -0
- data/test/test_phone_number.rb +1 -1
- data/test/test_phone_number_au.rb +1 -1
- data/test/test_phone_number_br.rb +1 -1
- data/test/test_phone_number_cu.rb +1 -1
- data/test/test_phone_number_da.rb +1 -1
- data/test/test_phone_number_de.rb +1 -1
- data/test/test_phone_number_fr.rb +1 -1
- data/test/test_phone_number_id.rb +1 -1
- data/test/test_phone_number_it.rb +12 -0
- data/test/test_phone_number_ja.rb +1 -1
- data/test/test_phone_number_kr.rb +1 -1
- data/test/test_phone_number_mx.rb +1 -1
- data/test/test_phone_number_nl.rb +1 -1
- data/test/test_phone_number_pl.rb +1 -1
- data/test/test_phone_number_se.rb +1 -1
- data/test/test_phone_number_sg.rb +1 -1
- data/test/test_phone_number_sn.rb +1 -1
- data/test/test_phone_number_tw.rb +1 -1
- data/test/test_phone_number_ua.rb +1 -1
- data/test/test_products.rb +1 -1
- data/test/test_sem_ver.rb +1 -1
- data/test/test_skill.rb +1 -1
- data/test/test_sport_pl.rb +1 -1
- data/test/test_sport_ru.rb +30 -0
- data/test/test_sport_us.rb +1 -1
- data/test/test_sports.rb +1 -1
- data/test/test_ssn.rb +1 -1
- data/test/test_ssn_mx.rb +1 -1
- data/test/test_ssn_se.rb +1 -1
- data/test/test_string.rb +1 -1
- data/test/test_time.rb +1 -1
- data/test/test_tweet.rb +1 -1
- data/test/test_unique_utils.rb +1 -1
- data/test/test_units.rb +2 -1
- data/test/test_units_english.rb +1 -1
- data/test/test_units_metric.rb +1 -1
- data/test/test_vehicle.rb +7 -2
- data/test/test_venue.rb +1 -1
- data/test/test_youtube.rb +1 -1
- metadata +216 -160
data/scripts/reference.rb
CHANGED
|
@@ -1,31 +1,32 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
require '
|
|
3
|
+
require_relative '../lib/ffaker'
|
|
4
|
+
require 'set'
|
|
5
|
+
|
|
6
|
+
# always use the same seed for consistency
|
|
7
|
+
FFaker::Random.seed = 1337
|
|
5
8
|
|
|
6
9
|
ICONS = {
|
|
7
10
|
error: '‼️',
|
|
8
11
|
warning: '❗'
|
|
9
12
|
}.freeze
|
|
10
13
|
|
|
14
|
+
UTILS_MODULES = %i[ArrayUtils ModuleUtils RandomUtils Random]
|
|
15
|
+
UTILS_METHODS = %i[k underscore fetch_sample rand shuffle unique luhn_check]
|
|
16
|
+
|
|
11
17
|
# Get a list of sections
|
|
12
18
|
def faker_modules
|
|
13
|
-
FFaker
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
next if mod == FFaker::Random
|
|
20
|
-
|
|
21
|
-
mod
|
|
22
|
-
end.compact
|
|
19
|
+
FFaker
|
|
20
|
+
.constants
|
|
21
|
+
.reject { |const| UTILS_MODULES.include?(const) }
|
|
22
|
+
.select { |const| FFaker.const_get(const).instance_of?(Module) }
|
|
23
|
+
.sort
|
|
24
|
+
.map { |const| FFaker.const_get(const) }
|
|
23
25
|
end
|
|
24
26
|
|
|
25
27
|
# Returns faker methods for a given module
|
|
26
28
|
def faker_methods(mod)
|
|
27
|
-
methods = mod.methods - Module.methods -
|
|
28
|
-
%i[k underscore fetch_sample rand shuffle unique]
|
|
29
|
+
methods = mod.methods - Module.methods - UTILS_METHODS
|
|
29
30
|
|
|
30
31
|
# For Company.name (et al), don't discard :name if it was reimplemented
|
|
31
32
|
methods << :name if mod.send(:name) != mod.to_s
|
|
@@ -67,7 +68,7 @@ sections = faker_modules.map do |mod|
|
|
|
67
68
|
else
|
|
68
69
|
begin
|
|
69
70
|
examples, warnings = catch_warnings do
|
|
70
|
-
Array.new(3) { mod.send meth }
|
|
71
|
+
Array.new(3) { mod.unique.send meth }
|
|
71
72
|
end
|
|
72
73
|
right = if warnings.any?
|
|
73
74
|
"#{ICONS[:warning]} *#{warnings.first}*"
|
data/test/helper.rb
CHANGED
data/test/test_address.rb
CHANGED
data/test/test_address_au.rb
CHANGED
data/test/test_address_br.rb
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
require_relative 'helper'
|
|
4
4
|
|
|
5
5
|
class TestAddressBR < Test::Unit::TestCase
|
|
6
6
|
include DeterministicHelper
|
|
7
7
|
|
|
8
8
|
assert_methods_are_deterministic(
|
|
9
9
|
FFaker::AddressBR,
|
|
10
|
-
:zip_code, :state, :state_abbr, :city, :street_prefix, :street, :full_address
|
|
10
|
+
:zip_code, :state, :state_abbr, :city, :street_prefix, :street, :complement, :neighborhood, :full_address
|
|
11
11
|
)
|
|
12
12
|
|
|
13
13
|
def test_zip_code
|
|
@@ -32,6 +32,19 @@ class TestAddressBR < Test::Unit::TestCase
|
|
|
32
32
|
|
|
33
33
|
def test_street
|
|
34
34
|
prefixes = FFaker::AddressBR::STREET_PREFIX
|
|
35
|
-
assert_match(
|
|
35
|
+
assert_match(/\A(#{prefixes.join('|')})(?: [\p{Alpha}-]+)+\z/, FFaker::AddressBR.street)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_complement
|
|
39
|
+
assert_match(/\A(?:Apartamento \d{3}|Casa Térrea|Fundos)\z/, FFaker::AddressBR.complement)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_neighborhood
|
|
43
|
+
neighborhood_prefix = FFaker::AddressBR.neighborhood.split(' ').first
|
|
44
|
+
assert FFaker::AddressBR::NEIGHBORHOOD_PREFIXES.include?(neighborhood_prefix)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def test_full_address
|
|
48
|
+
assert_match(/\A[\p{Alpha}\d, -]+\z/, FFaker::AddressBR.full_address)
|
|
36
49
|
end
|
|
37
50
|
end
|
data/test/test_address_ca.rb
CHANGED
data/test/test_address_ch.rb
CHANGED
data/test/test_address_ch_de.rb
CHANGED
data/test/test_address_ch_fr.rb
CHANGED
data/test/test_address_ch_it.rb
CHANGED
data/test/test_address_da.rb
CHANGED
data/test/test_address_de.rb
CHANGED
data/test/test_address_fi.rb
CHANGED
data/test/test_address_fr.rb
CHANGED
data/test/test_address_gr.rb
CHANGED
data/test/test_address_id.rb
CHANGED
data/test/test_address_in.rb
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'helper'
|
|
4
|
+
|
|
5
|
+
class TestAddressIT < Test::Unit::TestCase
|
|
6
|
+
include DeterministicHelper
|
|
7
|
+
|
|
8
|
+
assert_methods_are_deterministic(
|
|
9
|
+
FFaker::AddressIT,
|
|
10
|
+
:city, :full_address, :street_address, :postal_code, :region
|
|
11
|
+
)
|
|
12
|
+
end
|
data/test/test_address_ja.rb
CHANGED
data/test/test_address_kr.rb
CHANGED
data/test/test_address_mx.rb
CHANGED
data/test/test_address_nl.rb
CHANGED
data/test/test_address_pl.rb
CHANGED
data/test/test_address_ru.rb
CHANGED
data/test/test_address_se.rb
CHANGED
data/test/test_address_sn.rb
CHANGED
data/test/test_address_ua.rb
CHANGED
data/test/test_address_uk.rb
CHANGED
data/test/test_address_us.rb
CHANGED
data/test/test_airline.rb
CHANGED
data/test/test_animal.rb
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'helper'
|
|
4
|
+
|
|
5
|
+
class TestAnimalsBR < Test::Unit::TestCase
|
|
6
|
+
include DeterministicHelper
|
|
7
|
+
|
|
8
|
+
assert_methods_are_deterministic(FFaker::AnimalBR, :common_name)
|
|
9
|
+
|
|
10
|
+
def setup
|
|
11
|
+
@tester = FFaker::AnimalBR
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_name
|
|
15
|
+
assert_include @tester::COMMON_NAMES, @tester.common_name
|
|
16
|
+
end
|
|
17
|
+
end
|
data/test/test_animal_cn.rb
CHANGED
data/test/test_animal_es.rb
CHANGED
data/test/test_animal_pl.rb
CHANGED
data/test/test_animal_us.rb
CHANGED
data/test/test_array_utils.rb
CHANGED
data/test/test_avatar.rb
CHANGED
data/test/test_aws.rb
CHANGED
data/test/test_bacon_ipsum.rb
CHANGED
data/test/test_bank.rb
CHANGED
data/test/test_book.rb
CHANGED
data/test/test_boolean.rb
CHANGED
data/test/test_cheesy_lingo.rb
CHANGED
data/test/test_code.rb
CHANGED
data/test/test_color.rb
CHANGED
data/test/test_color_pl.rb
CHANGED
data/test/test_color_ua.rb
CHANGED
data/test/test_company.rb
CHANGED
data/test/test_company_cn.rb
CHANGED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'helper'
|
|
4
|
+
|
|
5
|
+
class TestCompanyFR < Test::Unit::TestCase
|
|
6
|
+
include DeterministicHelper
|
|
7
|
+
|
|
8
|
+
assert_methods_are_deterministic(
|
|
9
|
+
FFaker::CompanyFR,
|
|
10
|
+
:name, :suffix, :siren, :siret
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
def test_name
|
|
14
|
+
assert_match(/[ a-z]+/, FFaker::CompanyFR.name)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def test_suffix
|
|
18
|
+
assert_match(/[ a-z]+/i, FFaker::CompanyFR.suffix)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_french_siren_number
|
|
22
|
+
siren = FFaker::CompanyFR.siren
|
|
23
|
+
assert(siren.match(/\A\d{9}\z/))
|
|
24
|
+
assert(siren[8] == FFaker::CompanyFR.send(:luhn_check, siren[0..-2]).to_s)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_french_siret_number
|
|
28
|
+
siret = FFaker::CompanyFR.siret
|
|
29
|
+
assert(siret.match(/\A\d{14}\z/))
|
|
30
|
+
assert(siret[8] == FFaker::CompanyFR.send(:luhn_check, siret[0..7]).to_s)
|
|
31
|
+
assert(siret[13] == FFaker::CompanyFR.send(:luhn_check, siret[0..-2]).to_s)
|
|
32
|
+
end
|
|
33
|
+
end
|
data/test/test_company_it.rb
CHANGED
data/test/test_company_ja.rb
CHANGED
data/test/test_company_se.rb
CHANGED
data/test/test_conference.rb
CHANGED