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