ffaker 2.15.0 → 2.19.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 +31 -0
- data/README.md +6 -4
- data/REFERENCE.md +1485 -1257
- data/Rakefile +3 -3
- data/ffaker.gemspec +8 -5
- data/lib/ffaker.rb +19 -4
- data/lib/ffaker/address_au.rb +1 -1
- data/lib/ffaker/address_br.rb +1 -1
- data/lib/ffaker/address_ca.rb +1 -1
- data/lib/ffaker/address_ch.rb +0 -2
- data/lib/ffaker/address_ch_de.rb +0 -2
- data/lib/ffaker/address_ch_fr.rb +0 -2
- data/lib/ffaker/address_ch_it.rb +0 -2
- data/lib/ffaker/address_da.rb +0 -2
- data/lib/ffaker/address_de.rb +0 -2
- data/lib/ffaker/address_fi.rb +0 -2
- data/lib/ffaker/address_fr.rb +0 -2
- data/lib/ffaker/address_gr.rb +0 -2
- data/lib/ffaker/address_id.rb +0 -2
- data/lib/ffaker/address_in.rb +0 -2
- data/lib/ffaker/address_it.rb +37 -0
- data/lib/ffaker/address_ja.rb +0 -2
- data/lib/ffaker/address_mx.rb +2 -8
- data/lib/ffaker/address_nl.rb +1 -3
- data/lib/ffaker/address_ru.rb +0 -2
- data/lib/ffaker/address_se.rb +0 -2
- data/lib/ffaker/address_sn.rb +0 -2
- data/lib/ffaker/address_ua.rb +0 -2
- data/lib/ffaker/address_uk.rb +0 -2
- data/lib/ffaker/address_us.rb +0 -2
- data/lib/ffaker/animal.rb +1 -1
- data/lib/ffaker/bacon_ipsum.rb +0 -2
- data/lib/ffaker/code.rb +6 -6
- data/lib/ffaker/company_fr.rb +35 -0
- data/lib/ffaker/company_ja.rb +1 -1
- 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/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/filesystem/extension +31 -31
- data/lib/ffaker/data/food_pl/diary +14 -0
- data/lib/ffaker/data/food_pl/fermented +13 -0
- data/lib/ffaker/data/food_pl/fruits +34 -0
- data/lib/ffaker/data/food_pl/herbs +20 -0
- data/lib/ffaker/data/food_pl/meats +9 -0
- data/lib/ffaker/data/food_pl/preserves +10 -0
- data/lib/ffaker/data/food_pl/spices +26 -0
- data/lib/ffaker/data/food_pl/vegetables +45 -0
- data/lib/ffaker/data/freedom_ipsum/freedom_words +161 -0
- 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/words +0 -67
- 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/phone_number_ja/four_disit_area_codes +41 -0
- data/lib/ffaker/data/phone_number_ja/one_disit_area_codes +3 -0
- data/lib/ffaker/data/phone_number_ja/three_disit_area_codes +296 -0
- data/lib/ffaker/data/phone_number_ja/two_disit_area_codes +48 -0
- data/lib/ffaker/data/sport_ru/summer +68 -0
- data/lib/ffaker/data/sport_ru/winter +20 -0
- data/lib/ffaker/dizzle_ipsum.rb +0 -2
- data/lib/ffaker/education.rb +4 -8
- data/lib/ffaker/education_cn.rb +3 -6
- data/lib/ffaker/filesystem.rb +7 -7
- data/lib/ffaker/food_pl.rb +65 -0
- data/lib/ffaker/freedom_ipsum.rb +20 -0
- 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/healthcare_ipsum.rb +0 -2
- data/lib/ffaker/hipster_ipsum.rb +0 -2
- data/lib/ffaker/identification_es_cl.rb +0 -2
- data/lib/ffaker/identification_es_co.rb +0 -1
- data/lib/ffaker/identification_in.rb +15 -0
- data/lib/ffaker/identification_it.rb +30 -0
- data/lib/ffaker/identification_kr.rb +1 -1
- data/lib/ffaker/identification_mx.rb +1 -3
- data/lib/ffaker/identification_tw.rb +1 -1
- data/lib/ffaker/image.rb +8 -11
- data/lib/ffaker/internet.rb +1 -1
- data/lib/ffaker/internet_se.rb +1 -3
- data/lib/ffaker/job_it.rb +12 -0
- data/lib/ffaker/lorem_br.rb +45 -0
- data/lib/ffaker/lorem_cn.rb +0 -1
- data/lib/ffaker/lorem_it.rb +39 -0
- data/lib/ffaker/name_cs.rb +0 -2
- data/lib/ffaker/name_da.rb +0 -2
- data/lib/ffaker/name_de.rb +0 -2
- data/lib/ffaker/name_mx.rb +2 -4
- data/lib/ffaker/name_nb.rb +0 -2
- data/lib/ffaker/name_nl.rb +0 -2
- data/lib/ffaker/name_ph.rb +0 -2
- data/lib/ffaker/name_ru.rb +0 -2
- data/lib/ffaker/name_se.rb +0 -2
- data/lib/ffaker/name_th_en.rb +1 -1
- data/lib/ffaker/name_ua.rb +0 -2
- data/lib/ffaker/phone_number_br.rb +2 -2
- data/lib/ffaker/phone_number_da.rb +0 -1
- data/lib/ffaker/phone_number_ja.rb +88 -0
- data/lib/ffaker/product.rb +1 -1
- data/lib/ffaker/sport_ru.rb +25 -0
- data/lib/ffaker/ssn.rb +1 -3
- data/lib/ffaker/ssn_se.rb +0 -19
- data/lib/ffaker/string.rb +5 -5
- data/lib/ffaker/unit.rb +9 -10
- data/lib/ffaker/unit_english.rb +18 -21
- data/lib/ffaker/unit_metric.rb +15 -18
- data/lib/ffaker/utils/array_utils.rb +1 -1
- data/lib/ffaker/utils/module_utils.rb +23 -3
- data/lib/ffaker/vehicle.rb +1 -1
- data/lib/version.rb +1 -1
- data/scripts/profiling.rb +1 -1
- data/scripts/reference.rb +2 -3
- data/test/helper.rb +4 -4
- data/test/test_address.rb +1 -1
- data/test/test_address_au.rb +3 -3
- data/test/test_address_br.rb +2 -2
- 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 +3 -3
- data/test/test_address_fr.rb +1 -1
- data/test/test_address_gr.rb +1 -1
- data/test/test_address_id.rb +2 -2
- data/test/test_address_in.rb +1 -1
- data/test/test_address_it.rb +12 -0
- data/test/test_address_ja.rb +2 -2
- data/test/test_address_kr.rb +1 -1
- data/test/test_address_mx.rb +1 -1
- data/test/test_address_nl.rb +2 -2
- data/test/test_address_pl.rb +1 -1
- data/test/test_address_ru.rb +1 -1
- data/test/test_address_se.rb +3 -3
- 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_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 +2 -2
- data/test/test_bacon_ipsum.rb +1 -1
- data/test/test_bank.rb +3 -4
- data/test/test_book.rb +5 -5
- 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_faker.rb → test_ffaker.rb} +6 -2
- data/test/test_filesystem.rb +12 -4
- data/test/test_food.rb +1 -1
- data/test/test_food_pl.rb +61 -0
- data/test/test_freedom_ipsum.rb +21 -0
- 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 +2 -2
- data/test/test_hipster_ipsum.rb +1 -1
- data/test/test_html_ipsum.rb +2 -2
- data/test/test_identification.rb +1 -1
- data/test/test_identification_br.rb +1 -1
- data/test/test_identification_co.rb +2 -2
- data/test/test_identification_es.rb +1 -1
- data/test/test_identification_es_cl.rb +2 -2
- data/test/test_identification_es_mx.rb +1 -1
- data/test/test_identification_in.rb +20 -0
- 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 +5 -5
- data/test/test_internet.rb +1 -1
- data/test/test_internet_se.rb +2 -2
- 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 +5 -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 +10 -8
- 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 +2 -2
- data/test/test_lorem_ru.rb +2 -2
- data/test/test_lorem_ua.rb +2 -2
- data/test/test_module_utils.rb +1 -1
- data/test/test_movie.rb +1 -1
- data/test/test_music.rb +5 -5
- 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_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_ja.rb +63 -0
- 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 +2 -2
- data/test/test_string.rb +4 -4
- data/test/test_time.rb +3 -4
- data/test/test_tweet.rb +5 -5
- 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 +3 -3
- data/test/test_venue.rb +1 -1
- data/test/test_youtube.rb +1 -1
- metadata +232 -160
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Биатлон
|
|
2
|
+
Бобслей
|
|
3
|
+
Горнолыжный спорт
|
|
4
|
+
Керлинг
|
|
5
|
+
Конькобежный спорт
|
|
6
|
+
Лыжное двоеборье
|
|
7
|
+
Лыжные гонки
|
|
8
|
+
Прыжки на лыжах с трамплина
|
|
9
|
+
Санный спорт
|
|
10
|
+
Скелетон
|
|
11
|
+
Сноуборд
|
|
12
|
+
Фигурное катание на коньках
|
|
13
|
+
Фристайл
|
|
14
|
+
Хоккей
|
|
15
|
+
Шорт-трек
|
|
16
|
+
Юкигассен
|
|
17
|
+
Ледолазание
|
|
18
|
+
Мотогонки на льду
|
|
19
|
+
Гонки на собачьих упряжках
|
|
20
|
+
Катание на ледяных глыбах
|
data/lib/ffaker/dizzle_ipsum.rb
CHANGED
data/lib/ffaker/education.rb
CHANGED
|
@@ -39,14 +39,10 @@ module FFaker
|
|
|
39
39
|
|
|
40
40
|
def school
|
|
41
41
|
case rand(0..4)
|
|
42
|
-
when 0, 1 then
|
|
43
|
-
|
|
44
|
-
when
|
|
45
|
-
|
|
46
|
-
when 3 then
|
|
47
|
-
"#{fetch_sample(SCHOOL_UNI)} of #{school_generic_name}"
|
|
48
|
-
when 4 then
|
|
49
|
-
"#{school_generic_name} #{fetch_sample(SCHOOL_TYPE)} of #{fetch_sample(MAJOR_NOUN)}"
|
|
42
|
+
when 0, 1 then "#{school_name} #{fetch_sample(SCHOOL_TYPE)}"
|
|
43
|
+
when 2 then "#{school_generic_name} #{fetch_sample(SCHOOL_ADJ)} #{fetch_sample(SCHOOL_TYPE)}"
|
|
44
|
+
when 3 then "#{fetch_sample(SCHOOL_UNI)} of #{school_generic_name}"
|
|
45
|
+
when 4 then "#{school_generic_name} #{fetch_sample(SCHOOL_TYPE)} of #{fetch_sample(MAJOR_NOUN)}"
|
|
50
46
|
end
|
|
51
47
|
end
|
|
52
48
|
end
|
data/lib/ffaker/education_cn.rb
CHANGED
|
@@ -28,12 +28,9 @@ module FFaker
|
|
|
28
28
|
|
|
29
29
|
def school
|
|
30
30
|
case rand(0..2)
|
|
31
|
-
when 0 then
|
|
32
|
-
|
|
33
|
-
when
|
|
34
|
-
"#{location}#{fetch_sample(SCHOOL_UNI)}"
|
|
35
|
-
when 2 then
|
|
36
|
-
"#{location}#{fetch_sample(SCHOOL_TYPE)}#{fetch_sample(SCHOOL_UNI)}#{fetch_sample(CITY)}分校"
|
|
31
|
+
when 0 then "#{location}#{fetch_sample(SCHOOL_TYPE)}#{fetch_sample(SCHOOL_UNI)}"
|
|
32
|
+
when 1 then "#{location}#{fetch_sample(SCHOOL_UNI)}"
|
|
33
|
+
when 2 then "#{location}#{fetch_sample(SCHOOL_TYPE)}#{fetch_sample(SCHOOL_UNI)}#{fetch_sample(CITY)}分校"
|
|
37
34
|
end
|
|
38
35
|
end
|
|
39
36
|
end
|
data/lib/ffaker/filesystem.rb
CHANGED
|
@@ -5,8 +5,6 @@ module FFaker
|
|
|
5
5
|
extend ModuleUtils
|
|
6
6
|
extend self
|
|
7
7
|
|
|
8
|
-
SLUG_DELIMITERS = %w[- _ .].freeze
|
|
9
|
-
|
|
10
8
|
def extension
|
|
11
9
|
fetch_sample(EXTENSION)
|
|
12
10
|
end
|
|
@@ -15,11 +13,13 @@ module FFaker
|
|
|
15
13
|
fetch_sample(MIME_TYPE)
|
|
16
14
|
end
|
|
17
15
|
|
|
18
|
-
def
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
def directory(directory_separator = File::SEPARATOR)
|
|
17
|
+
Lorem.words.join(directory_separator)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def file_name(dir = directory, name = Lorem.word.downcase,
|
|
21
|
+
ext = extension, directory_separator = File::SEPARATOR)
|
|
22
|
+
"#{dir}#{directory_separator}#{name}.#{ext}"
|
|
23
23
|
end
|
|
24
24
|
end
|
|
25
25
|
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module FFaker
|
|
4
|
+
module FoodPL
|
|
5
|
+
extend ModuleUtils
|
|
6
|
+
extend self
|
|
7
|
+
|
|
8
|
+
def food
|
|
9
|
+
case rand(0..1)
|
|
10
|
+
when 0 then processed
|
|
11
|
+
when 1 then unprocessed
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def processed
|
|
16
|
+
case rand(0..2)
|
|
17
|
+
when 0 then fermented
|
|
18
|
+
when 1 then diary
|
|
19
|
+
when 2 then preserves
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def unprocessed
|
|
24
|
+
case rand(0..4)
|
|
25
|
+
when 0 then vegetable
|
|
26
|
+
when 1 then fruit
|
|
27
|
+
when 2 then herb
|
|
28
|
+
when 3 then spice
|
|
29
|
+
when 4 then meat
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def vegetable
|
|
34
|
+
fetch_sample(VEGETABLES)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def fruit
|
|
38
|
+
fetch_sample(FRUITS)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def herb
|
|
42
|
+
fetch_sample(HERBS)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def spice
|
|
46
|
+
fetch_sample(SPICES)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def meat
|
|
50
|
+
fetch_sample(MEATS)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def fermented
|
|
54
|
+
fetch_sample(FERMENTED)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def diary
|
|
58
|
+
fetch_sample(DIARY)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def preserves
|
|
62
|
+
fetch_sample(PRESERVES)
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'lorem'
|
|
4
|
+
|
|
5
|
+
module FFaker
|
|
6
|
+
module FreedomIpsum
|
|
7
|
+
include Lorem
|
|
8
|
+
|
|
9
|
+
extend ModuleUtils
|
|
10
|
+
extend self
|
|
11
|
+
|
|
12
|
+
def word
|
|
13
|
+
fetch_sample(FREEDOM_WORDS)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def words(num = 3)
|
|
17
|
+
fetch_sample(FREEDOM_WORDS, count: num)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
data/lib/ffaker/game.rb
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module FFaker
|
|
4
|
+
module Game
|
|
5
|
+
extend ModuleUtils
|
|
6
|
+
extend self
|
|
7
|
+
|
|
8
|
+
def title
|
|
9
|
+
case rand(0..1)
|
|
10
|
+
when 0 then simple_title
|
|
11
|
+
when 1 then title_with_prefix
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def category
|
|
16
|
+
fetch_sample(CATEGORY)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def mechanic
|
|
20
|
+
fetch_sample(MECHANIC)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
private
|
|
24
|
+
|
|
25
|
+
def simple_title
|
|
26
|
+
"#{fetch_sample(ADJ_AND_ADV)} #{fetch_sample(NOUNS)}"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def title_with_prefix
|
|
30
|
+
"#{fetch_sample(PREFIXES)} #{simple_title}"
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module FFaker
|
|
4
|
+
module GenderIT
|
|
5
|
+
extend ModuleUtils
|
|
6
|
+
extend self
|
|
7
|
+
|
|
8
|
+
GENDERS = %w[maschio femmina].freeze
|
|
9
|
+
|
|
10
|
+
def random
|
|
11
|
+
fetch_sample(GENDERS)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
alias maybe random
|
|
15
|
+
alias sample random
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module FFaker
|
|
4
|
+
module GenderRU
|
|
5
|
+
extend ModuleUtils
|
|
6
|
+
extend self
|
|
7
|
+
|
|
8
|
+
GENDERS = %w[мужчина женщина нонбайнари агендер].freeze
|
|
9
|
+
BINARY_GENDERS = %w[мужчина женщина].freeze
|
|
10
|
+
|
|
11
|
+
def random
|
|
12
|
+
fetch_sample(GENDERS)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def binary
|
|
16
|
+
fetch_sample(BINARY_GENDERS)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
alias maybe random
|
|
20
|
+
alias sample random
|
|
21
|
+
end
|
|
22
|
+
end
|
data/lib/ffaker/hipster_ipsum.rb
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module FFaker
|
|
4
|
+
module IdentificationIN
|
|
5
|
+
extend ModuleUtils
|
|
6
|
+
extend self
|
|
7
|
+
|
|
8
|
+
AADHAAR_FORMAT = ['############'].freeze
|
|
9
|
+
|
|
10
|
+
# REF: https://en.wikipedia.org/wiki/Aadhaar
|
|
11
|
+
def aadhaar
|
|
12
|
+
FFaker.numerify(AADHAAR_FORMAT)
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module FFaker
|
|
4
|
+
module IdentificationIT
|
|
5
|
+
extend ModuleUtils
|
|
6
|
+
extend self
|
|
7
|
+
|
|
8
|
+
ETHNICITIES = [
|
|
9
|
+
'Afroamericano', 'Asiatico/isolano del Pacifico', 'Caucasico', 'Ispanico', 'Nativo americano',
|
|
10
|
+
'Multirazziale', 'Altro', 'Preferisco non rispondere'
|
|
11
|
+
].freeze
|
|
12
|
+
GENDERS = %w[Maschio Femmina].freeze
|
|
13
|
+
|
|
14
|
+
def drivers_license
|
|
15
|
+
FFaker::String.from_regexp(/U1[1-9]\d{7}[A-Z]/)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def ssn
|
|
19
|
+
FFaker.numerify('####################')
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def ethnicity
|
|
23
|
+
fetch_sample(ETHNICITIES)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def gender
|
|
27
|
+
fetch_sample(GENDERS)
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -10,7 +10,7 @@ module FFaker
|
|
|
10
10
|
def rrn
|
|
11
11
|
birth = fetch_sample(Date.new(1970, 1, 1)..Date.new(1999, 12, 31)).strftime('%y%d%m')
|
|
12
12
|
sex = fetch_sample([1, 2])
|
|
13
|
-
loc = FFaker.numerify("#{fetch_sample(
|
|
13
|
+
loc = FFaker.numerify("#{fetch_sample(Array('00'..'95'))}###")
|
|
14
14
|
a, b, c, d, e, f, g, h, i, j, k, l = "#{birth}#{sex}#{loc}".split(//).map(&:to_i)
|
|
15
15
|
checksum = (11 - (2 * a + 3 * b + 4 * c + 5 * d + 6 * e + 7 * f + 8 * g + 9 * h + 2 * i + 3 * j + 4 * k + 5 * l) % 11) % 10
|
|
16
16
|
"#{birth}-#{sex}#{loc}#{checksum}"
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'ffaker/identification_es'
|
|
4
|
-
|
|
5
3
|
module FFaker
|
|
6
4
|
module IdentificationMX
|
|
7
5
|
extend ModuleUtils
|
|
@@ -9,7 +7,7 @@ module FFaker
|
|
|
9
7
|
|
|
10
8
|
CONSONANTS = %w[B C D F G H J K L M N P Q R S T V W X Y Z].freeze
|
|
11
9
|
VOWELS = %w[A E I O U].freeze
|
|
12
|
-
HOMOCLAVE = CONSONANTS + VOWELS +
|
|
10
|
+
HOMOCLAVE = CONSONANTS + VOWELS + Array('0'..'9')
|
|
13
11
|
|
|
14
12
|
# http://es.wikipedia.org/wiki/Registro_Federal_de_Contribuyentes_(M%C3%A9xico)
|
|
15
13
|
# Registro Federal de Contribuyentes (R.F.C.) para persona física
|
|
@@ -13,7 +13,7 @@ module FFaker
|
|
|
13
13
|
letter = FFaker.letterify('?')
|
|
14
14
|
code = AREA_CODE[letter.to_sym]
|
|
15
15
|
gender = fetch_sample([1, 2])
|
|
16
|
-
serial = FFaker.numerify(
|
|
16
|
+
serial = FFaker.numerify('#######')
|
|
17
17
|
a, b, c, d, e, f, g, h, i, j = "#{code}#{gender}#{serial}".split(//).map(&:to_i)
|
|
18
18
|
|
|
19
19
|
checksum = (9 * a + b + 2 * c + 3 * d + 4 * e + 5 * f + 6 * g + 7 * h + 8 * i + 9 * j) % 10
|
data/lib/ffaker/image.rb
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require 'cgi'
|
|
3
4
|
require 'tempfile'
|
|
4
5
|
require 'open-uri'
|
|
5
6
|
|
|
@@ -18,11 +19,16 @@ module FFaker
|
|
|
18
19
|
text_color = FFaker::Color.hex_code if text_color == :random
|
|
19
20
|
text = CGI.escape(text.to_s)
|
|
20
21
|
|
|
21
|
-
"https://
|
|
22
|
+
"https://dummyimage.com/#{size}/#{bg_color}/#{text_color}.#{format}?text=#{text}"
|
|
22
23
|
end
|
|
23
24
|
|
|
24
25
|
def file(size = '300x300', format = 'png', bg_color = :random, text_color = :random, text = nil)
|
|
25
|
-
|
|
26
|
+
uri = URI.parse(url(size, format, bg_color, text_color, text))
|
|
27
|
+
file = Tempfile.new('ffaker_image')
|
|
28
|
+
file.binmode
|
|
29
|
+
file << uri.open.read
|
|
30
|
+
file.close
|
|
31
|
+
File.new(file.path)
|
|
26
32
|
end
|
|
27
33
|
|
|
28
34
|
private
|
|
@@ -38,14 +44,5 @@ module FFaker
|
|
|
38
44
|
|
|
39
45
|
raise ArgumentError, "Supported formats are #{SUPPORTED_FORMATS.join(', ')}"
|
|
40
46
|
end
|
|
41
|
-
|
|
42
|
-
def download_file(url)
|
|
43
|
-
file = Tempfile.new('ffaker_image')
|
|
44
|
-
file.binmode
|
|
45
|
-
file << Kernel.open(url).read
|
|
46
|
-
file.close
|
|
47
|
-
|
|
48
|
-
File.new(file.path)
|
|
49
|
-
end
|
|
50
47
|
end
|
|
51
48
|
end
|
data/lib/ffaker/internet.rb
CHANGED
|
@@ -5,7 +5,7 @@ module FFaker
|
|
|
5
5
|
extend ModuleUtils
|
|
6
6
|
extend self
|
|
7
7
|
|
|
8
|
-
BYTE =
|
|
8
|
+
BYTE = Array('0'..'255').freeze
|
|
9
9
|
HOSTS = %w[gmail.com yahoo.com hotmail.com].freeze
|
|
10
10
|
DISPOSABLE_HOSTS = %w[
|
|
11
11
|
mailinator.com suremail.info spamherelots.com binkmail.com safetymail.info
|
data/lib/ffaker/internet_se.rb
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'ffaker/internet'
|
|
4
|
-
|
|
5
3
|
module FFaker
|
|
6
4
|
module InternetSE
|
|
7
5
|
include Internet
|
|
@@ -9,7 +7,7 @@ module FFaker
|
|
|
9
7
|
extend ModuleUtils
|
|
10
8
|
extend self
|
|
11
9
|
|
|
12
|
-
BYTE =
|
|
10
|
+
BYTE = Array('0'..'255').freeze
|
|
13
11
|
HOSTS = %w[gmail.com yahoo.com hotmail.com spray.se passagen.se].freeze
|
|
14
12
|
DOMAIN_SUFFIXES = %w[se nu com].freeze
|
|
15
13
|
DISPOSABLE_HOSTS = %w[
|