ffaker 2.7.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 +5 -5
- data/Changelog.md +115 -0
- data/Gemfile +2 -0
- data/RANDOM.md +153 -0
- data/README.md +25 -4
- data/REFERENCE.md +1736 -1117
- data/Rakefile +5 -9
- data/ffaker.gemspec +15 -6
- data/lib/ffaker/address.rb +3 -3
- data/lib/ffaker/address_au.rb +8 -10
- data/lib/ffaker/address_br.rb +16 -4
- data/lib/ffaker/address_ca.rb +3 -3
- data/lib/ffaker/address_ch.rb +1 -3
- data/lib/ffaker/address_ch_de.rb +1 -3
- data/lib/ffaker/address_ch_fr.rb +1 -3
- data/lib/ffaker/address_ch_it.rb +1 -3
- data/lib/ffaker/address_da.rb +1 -3
- data/lib/ffaker/address_de.rb +1 -3
- data/lib/ffaker/address_fi.rb +1 -3
- data/lib/ffaker/address_fr.rb +6 -4
- data/lib/ffaker/address_gr.rb +1 -3
- data/lib/ffaker/address_id.rb +0 -3
- data/lib/ffaker/address_in.rb +5 -3
- data/lib/ffaker/address_it.rb +36 -0
- data/lib/ffaker/address_ja.rb +0 -3
- data/lib/ffaker/address_kr.rb +0 -1
- data/lib/ffaker/address_mx.rb +3 -471
- data/lib/ffaker/address_nl.rb +2 -6
- data/lib/ffaker/address_pl.rb +0 -2
- data/lib/ffaker/address_ru.rb +1 -3
- data/lib/ffaker/address_se.rb +1 -3
- data/lib/ffaker/address_sn.rb +1 -4
- data/lib/ffaker/address_ua.rb +2 -4
- data/lib/ffaker/address_uk.rb +1 -3
- data/lib/ffaker/address_us.rb +23 -5
- data/lib/ffaker/airline.rb +1 -1
- data/lib/ffaker/animal.rb +14 -0
- data/lib/ffaker/{animals.rb → animal_br.rb} +2 -2
- data/lib/ffaker/animal_cn.rb +12 -0
- data/lib/ffaker/animal_es.rb +12 -0
- data/lib/ffaker/animal_pl.rb +15 -0
- data/lib/ffaker/animal_us.rb +12 -0
- data/lib/ffaker/avatar.rb +23 -5
- data/lib/ffaker/aws.rb +1 -1
- data/lib/ffaker/bacon_ipsum.rb +1 -3
- data/lib/ffaker/bank.rb +118 -0
- data/lib/ffaker/book.rb +12 -1
- data/lib/ffaker/boolean.rb +1 -1
- data/lib/ffaker/cheesy_lingo.rb +3 -6
- data/lib/ffaker/code.rb +37 -0
- data/lib/ffaker/color.rb +7 -7
- data/lib/ffaker/color_pl.rb +14 -0
- data/lib/ffaker/color_ua.rb +1 -1
- data/lib/ffaker/company.rb +4 -7
- data/lib/ffaker/company_cn.rb +1 -1
- data/lib/ffaker/company_fr.rb +35 -0
- data/lib/ffaker/company_it.rb +4 -2
- data/lib/ffaker/company_ja.rb +24 -0
- data/lib/ffaker/company_se.rb +1 -1
- data/lib/ffaker/conference.rb +1 -1
- data/lib/ffaker/{courses.rb → courses_fr.rb} +3 -1
- data/lib/ffaker/currency.rb +5 -1
- data/lib/ffaker/data/address/city_suffixes +1 -1
- data/lib/ffaker/data/address/country +1 -1
- data/lib/ffaker/data/address/country_code +1 -1
- data/lib/ffaker/data/address/neighborhood +1 -1
- data/lib/ffaker/data/address/street_suffix +1 -1
- 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_ca/city +99 -99
- data/lib/ffaker/data/address_ca/province +1 -1
- data/lib/ffaker/data/address_de/city +1 -1
- data/lib/ffaker/data/address_de/state +1 -1
- data/lib/ffaker/data/address_fr/city +1 -1
- data/lib/ffaker/data/address_fr/region +27 -0
- data/lib/ffaker/data/address_gr/city +1 -1
- data/lib/ffaker/data/address_gr/region +1 -1
- data/lib/ffaker/data/address_gr/street +1 -1
- data/lib/ffaker/data/address_in/city +24 -0
- data/lib/ffaker/data/address_it/city +111 -0
- data/lib/ffaker/data/address_it/region +20 -0
- data/lib/ffaker/data/address_ja/city +0 -23
- data/lib/ffaker/data/address_mx/ags +11 -0
- data/lib/ffaker/data/address_mx/bc +5 -0
- data/lib/ffaker/data/address_mx/bcs +5 -0
- data/lib/ffaker/data/address_mx/camp +11 -0
- data/lib/ffaker/data/address_mx/chih +67 -0
- data/lib/ffaker/data/address_mx/chis +118 -0
- data/lib/ffaker/data/address_mx/coah +38 -0
- data/lib/ffaker/data/address_mx/col +10 -0
- data/lib/ffaker/data/address_mx/df +16 -0
- data/lib/ffaker/data/address_mx/dgo +39 -0
- data/lib/ffaker/data/address_mx/gro +81 -0
- data/lib/ffaker/data/address_mx/gto +46 -0
- data/lib/ffaker/data/address_mx/hgo +84 -0
- data/lib/ffaker/data/address_mx/jal +125 -0
- data/lib/ffaker/data/address_mx/mex +125 -0
- data/lib/ffaker/data/address_mx/mich +113 -0
- data/lib/ffaker/data/address_mx/mor +33 -0
- data/lib/ffaker/data/address_mx/nay +20 -0
- data/lib/ffaker/data/address_mx/nl +51 -0
- data/lib/ffaker/data/address_mx/oax +570 -0
- data/lib/ffaker/data/address_mx/pue +217 -0
- data/lib/ffaker/data/address_mx/qr +10 -0
- data/lib/ffaker/data/address_mx/qro +18 -0
- data/lib/ffaker/data/address_mx/sin +18 -0
- data/lib/ffaker/data/address_mx/slp +58 -0
- data/lib/ffaker/data/address_mx/son +72 -0
- data/lib/ffaker/data/address_mx/state +1 -1
- data/lib/ffaker/data/address_mx/state_abbr +1 -1
- data/lib/ffaker/data/address_mx/tab +17 -0
- data/lib/ffaker/data/address_mx/tamps +43 -0
- data/lib/ffaker/data/address_mx/tlax +60 -0
- data/lib/ffaker/data/address_mx/ver +212 -0
- data/lib/ffaker/data/address_mx/yuc +106 -0
- data/lib/ffaker/data/address_mx/zac +58 -0
- data/lib/ffaker/data/address_ru/city +1 -1
- data/lib/ffaker/data/address_se/city +1 -1
- data/lib/ffaker/data/address_se/countries +1 -1
- data/lib/ffaker/data/address_se/street +1 -1
- data/lib/ffaker/data/address_sn/arrondissements +1 -1
- data/lib/ffaker/data/address_sn/departements +1 -1
- data/lib/ffaker/data/address_sn/regions +1 -1
- data/lib/ffaker/data/address_uk/county +1 -1
- data/lib/ffaker/data/address_us/state +1 -1
- data/lib/ffaker/data/address_us/state_abbr +1 -2
- data/lib/ffaker/data/address_us/state_and_territories_abbr +1 -1
- data/lib/ffaker/data/animal_br/common_names +423 -0
- data/lib/ffaker/data/animal_cn/common_names +141 -0
- data/lib/ffaker/data/animal_es/common_names +135 -0
- data/lib/ffaker/data/animal_pl/common_names +256 -0
- data/lib/ffaker/data/animal_us/common_names +141 -0
- data/lib/ffaker/data/aws/ec2_reserved_instance_tenancy +1 -1
- data/lib/ffaker/data/aws/ec2_reserved_offering_type +1 -1
- data/lib/ffaker/data/aws/ec2_reserved_product_description +1 -1
- data/lib/ffaker/data/bank/card_types +12 -0
- data/lib/ffaker/data/book/nouns +2 -2
- data/lib/ffaker/data/cheesy_lingo/cheesy_phrases +1 -1
- data/lib/ffaker/data/cheesy_lingo/cheesy_words +1 -1
- data/lib/ffaker/data/color/names_list +1 -1
- data/lib/ffaker/data/color_pl/names_list +122 -0
- data/lib/ffaker/data/company/bs_mid +1 -1
- data/lib/ffaker/data/company/bs_pos +1 -1
- data/lib/ffaker/data/company/bs_pre +1 -1
- data/lib/ffaker/data/company/catch_mid +1 -1
- data/lib/ffaker/data/company/catch_pos +1 -1
- data/lib/ffaker/data/company/catch_pre +1 -1
- data/lib/ffaker/data/company/position_areas +1 -1
- data/lib/ffaker/data/conference/conference_list +1 -1
- data/lib/ffaker/data/currency/currency_code +1 -1
- data/lib/ffaker/data/currency/currency_name +1 -1
- data/lib/ffaker/data/currency/currency_symbol +8 -0
- data/lib/ffaker/data/dizzle_ipsum/dizzle_words +1 -1
- data/lib/ffaker/data/education/major_noun +1 -1
- data/lib/ffaker/data/education/school_suffix +1 -1
- data/lib/ffaker/data/education_cn/city +351 -0
- data/lib/ffaker/data/education_cn/major +506 -0
- data/lib/ffaker/data/education_cn/province +31 -0
- data/lib/ffaker/data/education_cn/school_type +27 -0
- data/lib/ffaker/data/filesystem/extension +31 -31
- data/lib/ffaker/data/food/fruit +1 -1
- data/lib/ffaker/data/food/herb_spice +1 -1
- data/lib/ffaker/data/food/meat +1 -1
- data/lib/ffaker/data/food/vegetable +1 -1
- 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/healthcare_ru/doctor_specialization +127 -0
- data/lib/ffaker/data/hipster_ipsum/hipster_words +1 -1
- data/lib/ffaker/data/identification_mx/estados_curp +1 -1
- data/lib/ffaker/data/job/job_adj +1 -1
- data/lib/ffaker/data/job/job_noun +1 -1
- data/lib/ffaker/data/job/job_prefix +1 -1
- data/lib/ffaker/data/job_fr/job_prefixes +1 -1
- 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/locale/language +1 -1
- data/lib/ffaker/data/locale/language_code +1 -1
- data/lib/ffaker/data/lorem/characters +1 -1
- data/lib/ffaker/data/lorem/words +1 -68
- data/lib/ffaker/data/lorem_ar/words +1 -1
- data/lib/ffaker/data/lorem_br/characters +36 -0
- data/lib/ffaker/data/lorem_br/words +183 -0
- data/lib/ffaker/data/lorem_cn/words +1 -1
- data/lib/ffaker/data/lorem_fr/words +1 -1
- data/lib/ffaker/data/lorem_ie/characters +5 -0
- data/lib/ffaker/data/lorem_ie/paragraphs +2 -0
- data/lib/ffaker/data/lorem_ie/questions +1 -0
- data/lib/ffaker/data/lorem_ie/sentences +1 -0
- data/lib/ffaker/data/lorem_ie/words +107 -0
- data/lib/ffaker/data/lorem_it/words +321 -0
- data/lib/ffaker/data/lorem_pl/characters +32 -0
- data/lib/ffaker/data/lorem_pl/words +245 -0
- data/lib/ffaker/data/movie/adj_and_adv +1 -1
- data/lib/ffaker/data/movie/nouns +3 -3
- data/lib/ffaker/data/movie/prefixes +1 -1
- data/lib/ffaker/data/name/first_names_female +0 -230
- data/lib/ffaker/data/name/first_names_male +0 -37
- data/lib/ffaker/data/name/last_names +1 -2
- data/lib/ffaker/data/name/pronouns +6 -0
- data/lib/ffaker/data/name_ar/first_names_female +1 -1
- data/lib/ffaker/data/name_ar/first_names_male +1 -1
- data/lib/ffaker/data/name_ar/last_names +1 -1
- data/lib/ffaker/data/name_cn/first_names +1 -1
- data/lib/ffaker/data/name_cn/last_names +1 -1
- data/lib/ffaker/data/name_cs/female_first_names +40 -0
- data/lib/ffaker/data/name_cs/female_last_names +50 -0
- data/lib/ffaker/data/name_cs/male_first_names +88 -0
- data/lib/ffaker/data/name_cs/male_last_names +49 -0
- data/lib/ffaker/data/name_cs/prefixes +4 -4
- data/lib/ffaker/data/name_de/first_names +1 -1
- data/lib/ffaker/data/name_de/last_names +1 -1
- data/lib/ffaker/data/name_es/first_names_female +184 -0
- data/lib/ffaker/data/name_es/first_names_male +165 -0
- data/lib/ffaker/data/name_es/last_names +208 -0
- data/lib/ffaker/data/name_fr/first_names +1 -1
- data/lib/ffaker/data/name_fr/last_names +1 -1
- data/lib/ffaker/data/name_ga/first_names_female +1 -1
- data/lib/ffaker/data/name_ga/first_names_male +287 -287
- data/lib/ffaker/data/name_gr/female_first_names +1 -1
- data/lib/ffaker/data/name_gr/female_last_names +1 -1
- data/lib/ffaker/data/name_gr/male_first_names +1 -1
- data/lib/ffaker/data/name_gr/male_last_names +1 -1
- data/lib/ffaker/data/name_in/first_names_female +100 -0
- data/lib/ffaker/data/name_in/first_names_male +100 -0
- data/lib/ffaker/data/name_in/last_names +100 -0
- data/lib/ffaker/data/name_it/first_names +1 -1
- data/lib/ffaker/data/name_it/last_names +1 -1
- data/lib/ffaker/data/name_ja/first_names +1 -1
- data/lib/ffaker/data/name_ja/last_names +1 -1
- data/lib/ffaker/data/name_kh/first_names +1 -1
- data/lib/ffaker/data/name_kh/nick_names +1 -1
- data/lib/ffaker/data/name_kr/first_names +1 -1
- data/lib/ffaker/data/name_kr/last_names +1 -1
- data/lib/ffaker/data/name_mx/female_first_names +1 -1
- data/lib/ffaker/data/name_mx/last_names +1 -1
- data/lib/ffaker/data/name_mx/male_first_names +1 -1
- data/lib/ffaker/data/name_ph/autochthonous_surnames +1 -1
- data/lib/ffaker/data/name_ph/spanish_surnames +1 -1
- data/lib/ffaker/data/name_ru/first_names_female +91 -0
- data/lib/ffaker/data/name_ru/first_names_male +172 -0
- data/lib/ffaker/data/name_ru/last_names_female +100 -0
- data/lib/ffaker/data/name_ru/last_names_male +100 -0
- data/lib/ffaker/data/name_ru/middle_names_female +65 -0
- data/lib/ffaker/data/name_ru/middle_names_male +73 -0
- data/lib/ffaker/data/name_se/first_names_female +1 -1
- data/lib/ffaker/data/name_se/first_names_male +1 -1
- data/lib/ffaker/data/name_se/last_names +1 -1
- data/lib/ffaker/data/name_sn/first_names_female +1 -1
- data/lib/ffaker/data/name_sn/first_names_male +1 -1
- data/lib/ffaker/data/name_sn/last_names +1 -1
- data/lib/ffaker/data/name_th/first_names +1 -1
- data/lib/ffaker/data/name_th/last_names +1 -1
- data/lib/ffaker/data/name_th/nick_names +1 -1
- data/lib/ffaker/data/name_tw/first_names +122 -0
- data/lib/ffaker/data/name_tw/last_names +100 -0
- data/lib/ffaker/data/nato_alphabet/alphabet_codes +26 -0
- data/lib/ffaker/data/nato_alphabet/numeric_codes +10 -0
- 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/phone_number_nl/area_codes +142 -0
- data/lib/ffaker/data/phone_number_ru/home_phone_prefixes +107 -0
- data/lib/ffaker/data/phone_number_ru/mobile_phone_prefixes +61 -0
- data/lib/ffaker/data/phone_number_se/phone_prefix +1 -1
- data/lib/ffaker/data/phone_number_ua/home_phone_prefixes +29 -0
- data/lib/ffaker/data/phone_number_ua/mobile_phone_prefixes +11 -0
- data/lib/ffaker/data/product/adj +1 -1
- data/lib/ffaker/data/product/b1 +1 -1
- data/lib/ffaker/data/product/noun +4 -1
- data/lib/ffaker/data/skill/specialty_end +1 -1
- data/lib/ffaker/data/skill/specialty_start +1 -1
- data/lib/ffaker/data/skill/tech_skills +1 -1
- data/lib/ffaker/data/sport_pl/summer +53 -0
- data/lib/ffaker/data/sport_pl/winter +14 -0
- data/lib/ffaker/data/sport_ru/summer +68 -0
- data/lib/ffaker/data/sport_ru/winter +20 -0
- data/lib/ffaker/data/sport_us/names +67 -0
- data/lib/ffaker/data/vehicle/color_prefixes +25 -0
- data/lib/ffaker/data/vehicle/displacements_list +1 -1
- data/lib/ffaker/data/vehicle/fuel_types_list +1 -1
- data/lib/ffaker/data/vehicle/makes_list +1 -1
- data/lib/ffaker/data/vehicle/transmissions_list +1 -1
- data/lib/ffaker/data/vehicle/upholstery_list +1 -1
- data/lib/ffaker/data/venue/venue_list +1 -1
- data/lib/ffaker/dizzle_ipsum.rb +1 -3
- data/lib/ffaker/education.rb +9 -10
- data/lib/ffaker/education_cn.rb +37 -0
- data/lib/ffaker/filesystem.rb +8 -8
- data/lib/ffaker/food.rb +2 -0
- 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.rb +7 -2
- data/lib/ffaker/gender_br.rb +1 -1
- data/lib/ffaker/gender_cn.rb +1 -1
- data/lib/ffaker/gender_id.rb +0 -1
- data/lib/ffaker/gender_it.rb +17 -0
- data/lib/ffaker/gender_ja.rb +18 -0
- data/lib/ffaker/gender_jp.rb +11 -0
- data/lib/ffaker/gender_kr.rb +1 -1
- data/lib/ffaker/gender_pl.rb +19 -0
- data/lib/ffaker/gender_ru.rb +22 -0
- data/lib/ffaker/geolocation.rb +32 -22
- data/lib/ffaker/guid.rb +1 -1
- data/lib/ffaker/healthcare_ipsum.rb +1 -3
- data/lib/ffaker/healthcare_ru.rb +12 -0
- data/lib/ffaker/hipster_ipsum.rb +1 -3
- data/lib/ffaker/html_ipsum.rb +10 -4
- data/lib/ffaker/identification.rb +5 -2
- data/lib/ffaker/identification_br.rb +1 -1
- data/lib/ffaker/identification_es.rb +1 -1
- data/lib/ffaker/identification_es_cl.rb +6 -5
- data/lib/ffaker/identification_es_co.rb +2 -3
- data/lib/ffaker/identification_in.rb +15 -0
- data/lib/ffaker/identification_it.rb +30 -0
- data/lib/ffaker/identification_kr.rb +3 -3
- data/lib/ffaker/identification_mx.rb +14 -20
- data/lib/ffaker/identification_pl.rb +77 -0
- data/lib/ffaker/identification_tw.rb +24 -0
- data/lib/ffaker/image.rb +48 -0
- data/lib/ffaker/internet.rb +19 -26
- data/lib/ffaker/internet_se.rb +8 -10
- data/lib/ffaker/job.rb +1 -1
- data/lib/ffaker/job_br.rb +1 -1
- data/lib/ffaker/job_cn.rb +1 -1
- data/lib/ffaker/job_fr.rb +1 -1
- data/lib/ffaker/job_it.rb +12 -0
- data/lib/ffaker/job_ja.rb +0 -1
- data/lib/ffaker/job_kr.rb +1 -1
- data/lib/ffaker/job_vn.rb +0 -1
- data/lib/ffaker/locale.rb +8 -12
- data/lib/ffaker/lorem.rb +6 -7
- data/lib/ffaker/lorem_ar.rb +1 -1
- data/lib/ffaker/lorem_br.rb +45 -0
- data/lib/ffaker/lorem_cn.rb +1 -2
- data/lib/ffaker/lorem_fr.rb +1 -1
- data/lib/ffaker/lorem_ie.rb +40 -0
- data/lib/ffaker/lorem_it.rb +39 -0
- data/lib/ffaker/lorem_ja.rb +1 -1
- data/lib/ffaker/lorem_kr.rb +1 -1
- data/lib/ffaker/lorem_pl.rb +60 -0
- data/lib/ffaker/lorem_ru.rb +0 -1
- data/lib/ffaker/lorem_ua.rb +3 -5
- data/lib/ffaker/movie.rb +7 -4
- data/lib/ffaker/music.rb +1 -1
- data/lib/ffaker/name.rb +5 -1
- data/lib/ffaker/name_ar.rb +0 -1
- data/lib/ffaker/name_br.rb +1 -1
- data/lib/ffaker/name_cn.rb +1 -1
- data/lib/ffaker/name_cs.rb +7 -9
- data/lib/ffaker/name_da.rb +2 -4
- data/lib/ffaker/name_de.rb +1 -3
- data/lib/ffaker/name_es.rb +64 -0
- data/lib/ffaker/name_fr.rb +1 -2
- data/lib/ffaker/name_ga.rb +1 -1
- data/lib/ffaker/name_gr.rb +2 -3
- data/lib/ffaker/name_id.rb +0 -1
- data/lib/ffaker/name_in.rb +39 -0
- data/lib/ffaker/name_it.rb +2 -3
- data/lib/ffaker/name_ja.rb +1 -1
- data/lib/ffaker/name_kh.rb +2 -0
- data/lib/ffaker/name_kr.rb +1 -1
- data/lib/ffaker/name_mx.rb +4 -6
- data/lib/ffaker/name_nb.rb +1 -3
- data/lib/ffaker/name_nl.rb +1 -3
- data/lib/ffaker/name_ph.rb +1 -3
- data/lib/ffaker/name_pl.rb +1 -2
- data/lib/ffaker/name_ru.rb +32 -71
- data/lib/ffaker/name_se.rb +1 -3
- data/lib/ffaker/name_sn.rb +3 -6
- data/lib/ffaker/name_th.rb +1 -1
- data/lib/ffaker/name_th_en.rb +2 -2
- data/lib/ffaker/name_tw.rb +20 -0
- data/lib/ffaker/name_ua.rb +1 -3
- data/lib/ffaker/name_vn.rb +1 -1
- data/lib/ffaker/nato_alphabet.rb +2 -4
- data/lib/ffaker/number.rb +26 -0
- data/lib/ffaker/phone_number.rb +1 -1
- data/lib/ffaker/phone_number_au.rb +11 -12
- data/lib/ffaker/phone_number_br.rb +16 -14
- data/lib/ffaker/phone_number_ch.rb +1 -1
- data/lib/ffaker/phone_number_cu.rb +18 -27
- data/lib/ffaker/phone_number_da.rb +1 -3
- data/lib/ffaker/phone_number_de.rb +1 -2
- data/lib/ffaker/phone_number_fr.rb +50 -13
- data/lib/ffaker/phone_number_id.rb +2 -6
- data/lib/ffaker/phone_number_it.rb +9 -7
- data/lib/ffaker/phone_number_ja.rb +88 -0
- data/lib/ffaker/phone_number_kr.rb +1 -1
- data/lib/ffaker/phone_number_mx.rb +1 -2
- data/lib/ffaker/phone_number_nl.rb +9 -12
- data/lib/ffaker/phone_number_pl.rb +68 -0
- data/lib/ffaker/phone_number_ru.rb +120 -0
- data/lib/ffaker/phone_number_se.rb +1 -1
- data/lib/ffaker/phone_number_sg.rb +1 -1
- data/lib/ffaker/phone_number_sn.rb +12 -19
- data/lib/ffaker/phone_number_tw.rb +49 -0
- data/lib/ffaker/phone_number_ua.rb +42 -0
- data/lib/ffaker/product.rb +10 -12
- data/lib/ffaker/sem_ver.rb +19 -0
- data/lib/ffaker/skill.rb +1 -1
- data/lib/ffaker/sport.rb +4 -0
- data/lib/ffaker/sport_pl.rb +25 -0
- data/lib/ffaker/sport_ru.rb +25 -0
- data/lib/ffaker/sport_us.rb +12 -0
- data/lib/ffaker/ssn.rb +7 -2
- data/lib/ffaker/ssn_mx.rb +1 -2
- data/lib/ffaker/ssn_se.rb +14 -42
- data/lib/ffaker/string.rb +17 -16
- data/lib/ffaker/time.rb +39 -21
- data/lib/ffaker/tweet.rb +4 -4
- data/lib/ffaker/unit.rb +10 -11
- data/lib/ffaker/unit_english.rb +19 -22
- data/lib/ffaker/unit_metric.rb +16 -19
- data/lib/ffaker/utils/array_utils.rb +8 -5
- data/lib/ffaker/utils/module_utils.rb +26 -4
- data/lib/ffaker/utils/random_utils.rb +4 -0
- data/lib/ffaker/utils/unique_utils.rb +0 -1
- data/lib/ffaker/vehicle.rb +67 -9
- data/lib/ffaker/venue.rb +1 -1
- data/lib/ffaker/youtube.rb +1 -1
- data/lib/ffaker.rb +199 -17
- data/lib/version.rb +5 -0
- data/scripts/benchmark.rb +12 -11
- data/scripts/profiling.rb +3 -1
- data/scripts/reference.rb +21 -17
- data/test/helper.rb +38 -1
- data/test/test_address.rb +2 -2
- data/test/test_address_au.rb +7 -8
- data/test/test_address_br.rb +17 -4
- data/test/test_address_ca.rb +2 -2
- data/test/test_address_ch.rb +2 -2
- data/test/test_address_ch_de.rb +2 -2
- data/test/test_address_ch_fr.rb +2 -2
- data/test/test_address_ch_it.rb +2 -2
- data/test/test_address_da.rb +2 -2
- data/test/test_address_de.rb +2 -2
- data/test/test_address_fi.rb +5 -6
- data/test/test_address_fr.rb +3 -4
- data/test/test_address_gr.rb +2 -2
- data/test/test_address_id.rb +2 -3
- data/test/test_address_in.rb +2 -2
- data/test/test_address_it.rb +12 -0
- data/test/test_address_ja.rb +2 -3
- data/test/test_address_kr.rb +1 -2
- data/test/test_address_mx.rb +2 -3
- data/test/test_address_nl.rb +3 -3
- data/test/test_address_pl.rb +1 -2
- data/test/test_address_ru.rb +2 -2
- data/test/test_address_se.rb +5 -5
- data/test/test_address_sn.rb +2 -5
- data/test/test_address_ua.rb +2 -2
- data/test/test_address_uk.rb +2 -2
- data/test/test_address_us.rb +11 -2
- data/test/test_airline.rb +2 -2
- data/test/test_animal.rb +2 -2
- data/test/test_animal_br.rb +17 -0
- data/test/test_animal_cn.rb +17 -0
- data/test/test_animal_es.rb +17 -0
- data/test/test_animal_pl.rb +17 -0
- data/test/test_animal_us.rb +17 -0
- data/test/test_array_utils.rb +3 -3
- data/test/test_avatar.rb +5 -3
- data/test/test_aws.rb +3 -3
- data/test/test_bacon_ipsum.rb +2 -2
- data/test/test_bank.rb +53 -0
- data/test/test_book.rb +10 -5
- data/test/test_boolean.rb +3 -3
- data/test/test_cheesy_lingo.rb +5 -3
- data/test/test_code.rb +39 -0
- data/test/test_color.rb +5 -5
- data/test/test_color_pl.rb +13 -0
- data/test/test_color_ua.rb +2 -2
- data/test/test_company.rb +4 -4
- data/test/test_company_cn.rb +2 -2
- data/test/test_company_fr.rb +33 -0
- data/test/test_company_it.rb +2 -2
- data/test/test_company_ja.rb +28 -0
- data/test/test_company_se.rb +2 -2
- data/test/test_conference.rb +2 -2
- data/test/test_course_mathematiques.rb +3 -1
- data/test/test_course_philosophie.rb +3 -1
- data/test/test_currency.rb +3 -3
- data/test/test_dizzle_ipsum.rb +2 -2
- data/test/test_education.rb +2 -2
- data/test/test_education_cn.rb +29 -0
- data/test/{test_faker.rb → test_ffaker.rb} +7 -3
- data/test/test_filesystem.rb +13 -5
- data/test/test_food.rb +3 -3
- 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 +9 -4
- data/test/test_gender_br.rb +2 -2
- data/test/test_gender_cn.rb +2 -2
- data/test/test_gender_id.rb +1 -2
- data/test/test_gender_it.rb +27 -0
- data/test/test_gender_ja.rb +27 -0
- data/test/test_gender_jp.rb +27 -0
- data/test/test_gender_kr.rb +2 -2
- data/test/test_gender_pl.rb +27 -0
- data/test/test_gender_ru.rb +23 -0
- data/test/test_geolocation.rb +4 -4
- data/test/test_guid.rb +2 -2
- data/test/test_healthcare_ipsum.rb +3 -1
- data/test/test_healthcare_ru.rb +19 -0
- data/test/test_hipster_ipsum.rb +3 -3
- data/test/test_html_ipsum.rb +20 -14
- data/test/test_identification.rb +3 -3
- data/test/test_identification_br.rb +2 -2
- data/test/test_identification_co.rb +5 -3
- data/test/test_identification_es.rb +2 -2
- data/test/test_identification_es_cl.rb +3 -3
- data/test/test_identification_es_mx.rb +2 -3
- data/test/test_identification_in.rb +20 -0
- data/test/test_identification_it.rb +34 -0
- data/test/test_identification_kr.rb +2 -2
- data/test/test_identification_pl.rb +28 -0
- data/test/test_identification_tw.rb +17 -0
- data/test/test_image.rb +51 -0
- data/test/test_internet.rb +16 -16
- data/test/test_internet_se.rb +7 -7
- data/test/test_job.rb +2 -2
- data/test/test_job_br.rb +2 -2
- data/test/test_job_cn.rb +3 -3
- data/test/test_job_fr.rb +2 -2
- data/test/test_job_it.rb +17 -0
- data/test/test_job_ja.rb +3 -3
- data/test/test_job_kr.rb +3 -3
- data/test/test_job_vn.rb +2 -3
- data/test/test_locale.rb +2 -2
- data/test/test_lorem.rb +6 -2
- data/test/test_lorem_ar.rb +3 -4
- data/test/test_lorem_br.rb +62 -0
- data/test/test_lorem_cn.rb +8 -8
- data/test/test_lorem_fr.rb +15 -13
- data/test/test_lorem_ie.rb +52 -0
- data/test/test_lorem_it.rb +51 -0
- data/test/test_lorem_ja.rb +5 -5
- data/test/test_lorem_kr.rb +5 -5
- data/test/test_lorem_pl.rb +51 -0
- data/test/test_lorem_ru.rb +4 -5
- data/test/test_lorem_ua.rb +5 -5
- data/test/test_module_utils.rb +2 -2
- data/test/test_movie.rb +2 -2
- data/test/test_music.rb +6 -6
- data/test/test_name.rb +7 -3
- data/test/test_name_ar.rb +1 -2
- data/test/test_name_br.rb +2 -2
- data/test/test_name_cn.rb +2 -2
- data/test/test_name_cs.rb +3 -4
- data/test/test_name_da.rb +6 -6
- data/test/test_name_de.rb +2 -2
- data/test/test_name_es.rb +70 -0
- data/test/test_name_fr.rb +2 -3
- data/test/test_name_ga.rb +2 -2
- data/test/test_name_gr.rb +2 -2
- data/test/test_name_id.rb +1 -2
- data/test/test_name_it.rb +2 -3
- data/test/test_name_ja.rb +2 -2
- data/test/test_name_kh.rb +10 -8
- data/test/test_name_kr.rb +2 -2
- data/test/test_name_mx.rb +2 -3
- data/test/test_name_nb.rb +2 -2
- data/test/test_name_nl.rb +2 -2
- data/test/test_name_ph.rb +3 -3
- data/test/test_name_pl.rb +1 -2
- data/test/test_name_ru.rb +38 -48
- data/test/test_name_se.rb +2 -2
- data/test/test_name_sn.rb +2 -3
- data/test/test_name_th.rb +2 -2
- data/test/test_name_th_en.rb +2 -2
- data/test/test_name_tw.rb +28 -0
- data/test/test_name_ua.rb +4 -4
- data/test/test_name_vn.rb +2 -2
- data/test/test_nato_alphabet.rb +2 -2
- data/test/test_number.rb +45 -0
- data/test/test_phone_number.rb +3 -3
- data/test/test_phone_number_au.rb +5 -6
- data/test/test_phone_number_br.rb +12 -5
- data/test/test_phone_number_cu.rb +5 -12
- data/test/test_phone_number_da.rb +2 -3
- data/test/test_phone_number_de.rb +2 -3
- data/test/test_phone_number_fr.rb +57 -0
- data/test/test_phone_number_id.rb +1 -2
- data/test/test_phone_number_it.rb +12 -0
- data/test/test_phone_number_ja.rb +63 -0
- data/test/test_phone_number_kr.rb +2 -2
- data/test/test_phone_number_mx.rb +2 -3
- data/test/test_phone_number_nl.rb +2 -3
- data/test/test_phone_number_pl.rb +56 -0
- data/test/test_phone_number_ru.rb +76 -0
- data/test/test_phone_number_se.rb +5 -5
- data/test/test_phone_number_sg.rb +2 -2
- data/test/test_phone_number_sn.rb +4 -5
- data/test/test_phone_number_tw.rb +42 -0
- data/test/test_phone_number_ua.rb +38 -0
- data/test/test_products.rb +2 -2
- data/test/test_sem_ver.rb +18 -0
- data/test/test_skill.rb +2 -2
- data/test/test_sport_pl.rb +30 -0
- data/test/test_sport_ru.rb +30 -0
- data/test/test_sport_us.rb +17 -0
- data/test/test_sports.rb +2 -2
- data/test/test_ssn.rb +18 -4
- data/test/test_ssn_mx.rb +2 -3
- data/test/test_ssn_se.rb +10 -12
- data/test/test_string.rb +8 -8
- data/test/test_time.rb +61 -18
- data/test/test_tweet.rb +11 -11
- data/test/test_unique_utils.rb +2 -2
- data/test/test_units.rb +3 -3
- data/test/test_units_english.rb +2 -3
- data/test/test_units_metric.rb +2 -3
- data/test/test_vehicle.rb +10 -5
- data/test/test_venue.rb +2 -2
- data/test/test_youtube.rb +2 -2
- metadata +402 -143
- data/lib/ffaker/data/address_jp/city +0 -127
- data/lib/ffaker/data/address_jp/designated_city +0 -20
- data/lib/ffaker/data/address_jp/street +0 -37
- data/lib/ffaker/data/address_jp/tokyo_ward +0 -23
- data/lib/ffaker/data/address_jp/village +0 -183
- data/lib/ffaker/data/address_jp/ward +0 -188
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: c192ca9da2eae4b0b7cde440c26750a269de60ff3b07dcd5c73ef3fcc11afb1b
|
|
4
|
+
data.tar.gz: a8ff030a5c7141b36fdc15c1842a13b1fca40b07f5c2883e7f53bdd83a471dd0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8a32d059e758d8bdd370cefb0e445e03db4f46bb2a0faf19b2754d3dc0faf7cbb3dabab69c3e89253fc3e09600b453c1f56ed87efd730515de53768524603372
|
|
7
|
+
data.tar.gz: 795d9c1c1c3bf9f3f38007a771463c6a46290f11445755c30ce0b712c903a729d4bf2b3048a70f5118abe12075dfbc3a1a65a3b6443056768d8bad0b95655aa4
|
data/Changelog.md
CHANGED
|
@@ -1,3 +1,118 @@
|
|
|
1
|
+
## development
|
|
2
|
+
|
|
3
|
+
- Add your change HERE
|
|
4
|
+
|
|
5
|
+
## 2.21.0
|
|
6
|
+
- Generate valid VINs [@xunker]
|
|
7
|
+
- Add neighborhood and address complement to AddressBR [@az3vedo]
|
|
8
|
+
- Ensure FFaker::HTMLIpsum.fancy_string return includes at least one tag [@gabrielcosta42]
|
|
9
|
+
- Fix IdentificationTW area code [@timfanda35]
|
|
10
|
+
- Add Ruby 3.1 to CI matrix [@petergoldstein]
|
|
11
|
+
- Add AnimalBr [@thiago-henrique-leite]
|
|
12
|
+
- Fix rubocop warnings [@mmrshk]
|
|
13
|
+
- Consistently generate REFERENCE.md [@technicalpickles and @Volosh1n]
|
|
14
|
+
|
|
15
|
+
## 2.20.0
|
|
16
|
+
- Remove date from gem specification [@AlexWayfer]
|
|
17
|
+
- Add Number module [@Volosh1n]
|
|
18
|
+
- Make Italian Phone number deterministic [@Volosh1n]
|
|
19
|
+
|
|
20
|
+
## 2.19.0
|
|
21
|
+
- Added Lorem BR [@abnersajr]
|
|
22
|
+
- Added french company siret and siren generator [@hulous]
|
|
23
|
+
- Added Games generator [@nicholaskillin]
|
|
24
|
+
- Added EditorConfig file [@AlexWayfer]
|
|
25
|
+
- Fixed loadError on scripts/reference.rb [@marocchino]
|
|
26
|
+
- Removed trailing comma from NameGA first_names_male [@stilist]
|
|
27
|
+
- Localized Gender and Sport to Russian [@SteveRedka]
|
|
28
|
+
- Added more italian data [@miscelatore]
|
|
29
|
+
|
|
30
|
+
## 2.18.0
|
|
31
|
+
- Remove unneeded 'require' statements [@Volosh1n]
|
|
32
|
+
- Add PhoneNumberJA [@YutaGoto]
|
|
33
|
+
- Test with Github actions & Ruby 3 [@marocchino]
|
|
34
|
+
- Generate reference by CI [@marocchino]
|
|
35
|
+
- Change the regex to cover all scenarios in lorem_fr [@abnersajr]
|
|
36
|
+
- Add "Freedom Ipsum" text generator option [@hmaack and @lynnd335]
|
|
37
|
+
- Fix issues with `FFaker::Image` module [@hmaack]
|
|
38
|
+
- Fix typo in animal.rb module [@renius]
|
|
39
|
+
|
|
40
|
+
## 2.17.0
|
|
41
|
+
- Apply Rubocop's autocorrect [@marocchino]
|
|
42
|
+
- Remove Ruby-2.4 support [@marocchino]
|
|
43
|
+
- Remove OpenStruct [@Volosh1n]
|
|
44
|
+
- Fix PhoneNumberBR Area Codes [@CarlosMouraJR]
|
|
45
|
+
- More minor fixes [@marocchino]
|
|
46
|
+
|
|
47
|
+
## 2.16.0
|
|
48
|
+
- Add IdentificationIN [@nigelgomesot]
|
|
49
|
+
- Improved NL zipcode generation [@gerard76]
|
|
50
|
+
|
|
51
|
+
## 2.15.0
|
|
52
|
+
- Add `IdentificationTW` [@pominx]
|
|
53
|
+
- Add `CompanyJA` [@ktroutner]
|
|
54
|
+
- Add `AddressFR.region` [@GuillaumeOcculy]
|
|
55
|
+
- Add `AnimalES` [@delucas]
|
|
56
|
+
- Fix `AddressNL.postal_code` [@gerard76]
|
|
57
|
+
|
|
58
|
+
## 2.14.0
|
|
59
|
+
- Add `Code.npi` [@alibby]
|
|
60
|
+
|
|
61
|
+
## 2.13.0
|
|
62
|
+
- Add `Bank.card_number`, `.card_expiry_date` and `.card_type` [@AlexWayfer]
|
|
63
|
+
- Add `Bank.iban` [@Volosh1n]
|
|
64
|
+
- Add optional argument to `AddressUS.state_abbr` to determine state's abbreviation [@Volosh1n]
|
|
65
|
+
- Add `Name.pronouns` [@danderozier]
|
|
66
|
+
- Add `FFaker::ColorPL`, `FFaker::IdentificationPL`, `FFaker::SportPL` [@walerian777]
|
|
67
|
+
|
|
68
|
+
## 2.12.0
|
|
69
|
+
- Add Russian Phone Numbers [@steverovsky]
|
|
70
|
+
- Remove invalid example from NameRU.first_name_male [@steverovsky]
|
|
71
|
+
- *BREAKING CHANGE*: Drop support of under 2.3 [@marocchino]
|
|
72
|
+
- Add PhoneNumberUA [@Volosh1n]
|
|
73
|
+
- Add SemVer [@marocchino]
|
|
74
|
+
- Remove some obselated prefix from PhoneNumberBR.mobile_phone_prefix
|
|
75
|
+
[@Kutomore]
|
|
76
|
+
- Add Book.iban [@Volosh1n]
|
|
77
|
+
- Add Name.pronouns [@danderozier]
|
|
78
|
+
- Add PhoneNumberRU [@steverovsky]
|
|
79
|
+
|
|
80
|
+
## 2.11.0
|
|
81
|
+
- Add HealthcareRU [@gruz0]
|
|
82
|
+
- Removing potentially offensive name [@rvisuvasam]
|
|
83
|
+
- Add NameTW, PhoneNumberTW [@pominx]
|
|
84
|
+
- Add AnimalCN, EducationCN [@ckyOL]
|
|
85
|
+
- Add NameIN [@alagu]
|
|
86
|
+
- Add AnimalPL, GenderPL, GenderJP, PhoneNumberPL [@walerian777]
|
|
87
|
+
- Now PhoneNumberBR returns only valid area_code
|
|
88
|
+
|
|
89
|
+
## 2.10.0
|
|
90
|
+
- Add Image [@nicolas-brousse]
|
|
91
|
+
- Add LoremPL (Polish) [@walerian777]
|
|
92
|
+
- Add NameES (Spainsh) [@rgcamus]
|
|
93
|
+
- Fix DateTime range [@AlexWayfer]
|
|
94
|
+
- Now SSN returns valid SSN [@lilsweetcaligula]
|
|
95
|
+
- Now FFaker::Time.(date, datetime) returns Date, DateTime objects [@AlexWayfer]
|
|
96
|
+
- Now Gender.random returns non-binary genders [@kmayer]
|
|
97
|
+
- If you need binary gender use Gender.binary
|
|
98
|
+
|
|
99
|
+
## 2.9.0
|
|
100
|
+
- Add orly book cover generator [@artplan1]
|
|
101
|
+
- Add LoremIE (Irish) [@mklemme]
|
|
102
|
+
- Improve FFaker::Time.between docs and implementation [@eikes]
|
|
103
|
+
- Fix patronymics for Никита [@ulzr]
|
|
104
|
+
- Add EAN generator [@jvanbaarsen]
|
|
105
|
+
|
|
106
|
+
## 2.8.1
|
|
107
|
+
- Updated password generation [@makketagg]
|
|
108
|
+
|
|
109
|
+
## 2.8.0
|
|
110
|
+
- Fixes `Uncaught exception: invalid byte sequence in US-ASCII` [@thilonel]
|
|
111
|
+
- Add international numbers on PhoneNumberFR and test it [@nicolas-brousse]
|
|
112
|
+
- Clean code based on PhoneNumberBR structure [@nicolas-brousse]
|
|
113
|
+
- Drop support for ruby 1.9 [@thilonel]
|
|
114
|
+
- Replace mass require with autoload [@thilonel]
|
|
115
|
+
|
|
1
116
|
## 2.7.0
|
|
2
117
|
- Add unique method [@AlexAvlonitis]
|
|
3
118
|
- Add Time.day_of_week [@tvarley]
|
data/Gemfile
CHANGED
data/RANDOM.md
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
## Setting/Resetting the random seed
|
|
2
|
+
|
|
3
|
+
ffaker maintains its own random number generator which allows the responses to
|
|
4
|
+
be deterministic and repeatable given the correct seed.
|
|
5
|
+
|
|
6
|
+
You can get the current seed with `FFaker::Random.seed`, set it with
|
|
7
|
+
`FFaker::Random.seed=<seed>`, and reset it back to its initial state with
|
|
8
|
+
`FFaker::Random.reset!`. You can also use `FFaker::Random.rand` to get a random
|
|
9
|
+
number from the RNG.
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
require 'ffaker'
|
|
13
|
+
|
|
14
|
+
> FFaker::Random.seed
|
|
15
|
+
# => 296167445578296242020083756344880134311
|
|
16
|
+
|
|
17
|
+
> FFaker::Random.seed=12345
|
|
18
|
+
# => 12345
|
|
19
|
+
|
|
20
|
+
> FFaker::Random.seed
|
|
21
|
+
# => 12345
|
|
22
|
+
|
|
23
|
+
> 5.times.map{ FFaker::Random.rand(0..9) }
|
|
24
|
+
# => [2, 5, 1, 7, 4]
|
|
25
|
+
> FFaker::Random.reset!
|
|
26
|
+
> 5.times.map{ FFaker::Random.rand(0..9) }
|
|
27
|
+
# => [2, 5, 1, 7, 4]
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Calling `seed=` implicitly calls `reset!` so there is no need to call it
|
|
31
|
+
separately after setting the seed.
|
|
32
|
+
|
|
33
|
+
### Using the same random seed as your tests
|
|
34
|
+
|
|
35
|
+
If you are using Minitest or Rspec and run your tests in random order, ffaker
|
|
36
|
+
can use their random seed to return the same data given the same seed.
|
|
37
|
+
|
|
38
|
+
Note: ffaker can not use the random seed from Test::Unit because it [does not
|
|
39
|
+
allow the random seed to be set by the user](https://github.com/test-unit/test-unit/blob/master/lib/test/unit/test-suite-creator.rb#L67-L69).
|
|
40
|
+
|
|
41
|
+
#### Minitest
|
|
42
|
+
|
|
43
|
+
Assuming you're already using ffaker in your tests, you will need add a "plugin"
|
|
44
|
+
to make it use the same seed as Minitest. In your tests directory (usually named
|
|
45
|
+
"test") make another directory named "minitest" and create a file in that
|
|
46
|
+
directory named "ffaker_random_seed_plugin.rb" that contains:
|
|
47
|
+
|
|
48
|
+
```ruby
|
|
49
|
+
# test/minitest/ffaker_random_seed_plugin.rb
|
|
50
|
+
module Minitest
|
|
51
|
+
def self.plugin_ffaker_random_seed_init(options)
|
|
52
|
+
FFaker::Random.seed = options[:seed]
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Next, you will need to add a `before_setup` method in every test file that uses
|
|
58
|
+
ffaker and call `FFaker::Random.reset!` within it. Ideally this will be in your
|
|
59
|
+
test case superclass.
|
|
60
|
+
|
|
61
|
+
```ruby
|
|
62
|
+
# test_helper.rb or similar.
|
|
63
|
+
class TestBase < Minitest::Test
|
|
64
|
+
def before_setup
|
|
65
|
+
FFaker::Random.reset!
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
class TestSomethingUsingFFaker < TestBase
|
|
70
|
+
def test_something_using_ffaker
|
|
71
|
+
# use FFaker as normal
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
ffaker will now use the same random seed as Minitest, including seeds passed in
|
|
77
|
+
using `--seed nnn` on the command line, and will return the same data every
|
|
78
|
+
time that seed is used.
|
|
79
|
+
|
|
80
|
+
#### Rspec
|
|
81
|
+
|
|
82
|
+
Assuming you're already using ffaker in your specs, add the following to your
|
|
83
|
+
`spec_helper.rb` or equivalent file:
|
|
84
|
+
|
|
85
|
+
```ruby
|
|
86
|
+
# spec_helper.rb
|
|
87
|
+
RSpec.configure do |config|
|
|
88
|
+
config.before(:all) { FFaker::Random.seed=config.seed }
|
|
89
|
+
config.before(:each) { FFaker::Random.reset! }
|
|
90
|
+
end
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
If your helper already has an `RSpec.configure` block, simply put the two
|
|
94
|
+
"config.before" lines in that block.
|
|
95
|
+
|
|
96
|
+
ffaker will now use the same random seed as Rspec, including seeds passed in
|
|
97
|
+
using `--seed nnn` on the command line, and will return the same data every
|
|
98
|
+
time that seed is used.
|
|
99
|
+
|
|
100
|
+
### Generating random data in ffaker modules
|
|
101
|
+
|
|
102
|
+
ffaker modules should use the included deterministic methods to get random data
|
|
103
|
+
so that the same data can be returned with the correct random seed. All ffaker
|
|
104
|
+
modules extend the ModuleUtils module which provides the necessary methods. They
|
|
105
|
+
are:
|
|
106
|
+
|
|
107
|
+
* Use `fetch_sample(array)` instead of `Array#sample` to get a random item from an array.
|
|
108
|
+
* Use `fetch_sample(array, count: n)` instead of `Array#sample(n)` to get multiple random items from an array.
|
|
109
|
+
* Use `shuffle(array)` instead of `Array#shuffle` to randomly reorder an array.
|
|
110
|
+
* Calls to `rand` will automatically use the correct random-number generator, no change is required.
|
|
111
|
+
|
|
112
|
+
For other uses, you can access the random number generator directly via
|
|
113
|
+
`FFaker::Random`. Example:
|
|
114
|
+
|
|
115
|
+
```ruby
|
|
116
|
+
array.shuffle!(random: FFaker::Random)
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Testing repeatability of ffaker modules
|
|
120
|
+
|
|
121
|
+
There are helper methods available to use in tests to ensure your module output
|
|
122
|
+
is repeatable and deterministic. All existing module tests use them, and we
|
|
123
|
+
would like all future modules to also use them.
|
|
124
|
+
|
|
125
|
+
First, include the DeterministicHelper in your test class:
|
|
126
|
+
|
|
127
|
+
```ruby
|
|
128
|
+
include DeterministicHelper
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
If your want to test methods that do not require arguments, the
|
|
132
|
+
`assert_methods_are_deterministic` method will help you test many methods with
|
|
133
|
+
one line of test.
|
|
134
|
+
|
|
135
|
+
```ruby
|
|
136
|
+
# Example: This will test the methods :method_name, :other_method_name, and
|
|
137
|
+
# :another_method_name on class FFaker::NewFFakerModule.
|
|
138
|
+
assert_methods_are_deterministic(
|
|
139
|
+
FFaker::NewFFakerModule,
|
|
140
|
+
:method_name, :other_method_name, :another_method_name
|
|
141
|
+
)
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
For testing methods that require an argument, or to test more complicated
|
|
145
|
+
behavior, you can use the `assert_deterministic` method within a test method.
|
|
146
|
+
|
|
147
|
+
```ruby
|
|
148
|
+
def test_some_method
|
|
149
|
+
assert_deterministic { FFaker::NewFFakerModule.some_method(:required_argument) }
|
|
150
|
+
end
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
For more examples, please see the test cases for existing modules.
|
data/README.md
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
[](https://github.com/ffaker/ffaker/actions?query=workflow%3ATest)
|
|
2
|
+
[](https://codeclimate.com/github/EmmanuelOga/ffaker)
|
|
3
|
+
[](https://houndci.com)
|
|
2
4
|
# ffaker
|
|
3
5
|
|
|
4
6
|
[](https://gitter.im/ffaker/ffaker?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
|
@@ -28,6 +30,18 @@ and then
|
|
|
28
30
|
|
|
29
31
|
require 'ffaker'
|
|
30
32
|
|
|
33
|
+
### Rails
|
|
34
|
+
|
|
35
|
+
1. If using rails then add the gem to your development and test environments:
|
|
36
|
+
|
|
37
|
+
```ruby
|
|
38
|
+
group :development, :test do
|
|
39
|
+
gem 'ffaker'
|
|
40
|
+
end
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
2. and then run `bundle install` in your terminal/BASH/command line.
|
|
44
|
+
|
|
31
45
|
## Why ffaker?
|
|
32
46
|
|
|
33
47
|
ffaker is a fork of faker, and was initially written in an effort to speed up
|
|
@@ -47,14 +61,14 @@ Hopefully some day faker and ffaker will join forces!
|
|
|
47
61
|
A lot of people have contributed to ffaker. Check [this list](https://github.com/ffaker/ffaker/graphs/contributors).
|
|
48
62
|
|
|
49
63
|
If you want to add new modules or localization data, use one of the
|
|
50
|
-
[directories for data files](https://github.com/ffaker/ffaker/tree/
|
|
64
|
+
[directories for data files](https://github.com/ffaker/ffaker/tree/main/lib/ffaker/data)
|
|
51
65
|
(or create a new one!).
|
|
52
66
|
|
|
53
67
|
**const_missing** is
|
|
54
|
-
[overriden](https://github.com/ffaker/ffaker/blob/
|
|
68
|
+
[overriden](https://github.com/ffaker/ffaker/blob/main/lib/ffaker/utils/module_utils.rb#L9)
|
|
55
69
|
for Faker modules, so if you try to use a constant that is not defined
|
|
56
70
|
in the module, the
|
|
57
|
-
[override](https://github.com/ffaker/ffaker/blob/
|
|
71
|
+
[override](https://github.com/ffaker/ffaker/blob/main/lib/ffaker/utils/module_utils.rb#L9)
|
|
58
72
|
will look for a data file matching the name of the constant. E.G.: the
|
|
59
73
|
first time someone accesses `FFaker::Name::FIRST_NAMES`, a const of that
|
|
60
74
|
name will be set with data from `ffaker/data/name/first_names`.
|
|
@@ -86,6 +100,13 @@ FFaker::Name.unique.name
|
|
|
86
100
|
(if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
|
|
87
101
|
* Send me a pull request. Bonus points for topic branches.
|
|
88
102
|
|
|
103
|
+
## Release
|
|
104
|
+
|
|
105
|
+
* Bump version in `lib/version.rb`.
|
|
106
|
+
* Update `Changelog.md`.
|
|
107
|
+
* Tag with `v<major>.<minor>.<patch>`.
|
|
108
|
+
* Push it.
|
|
109
|
+
|
|
89
110
|
## Copyright
|
|
90
111
|
|
|
91
112
|
Copyright (c) 2013 Emmanuel Oga. See LICENSE for details.
|