nano-fast-sys 0.0.1
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 +7 -0
- data/ffaker-2.25.0/Changelog.md +558 -0
- data/ffaker-2.25.0/Gemfile +19 -0
- data/ffaker-2.25.0/LICENSE +21 -0
- data/ffaker-2.25.0/RANDOM.md +153 -0
- data/ffaker-2.25.0/README.md +125 -0
- data/ffaker-2.25.0/REFERENCE.md +2735 -0
- data/ffaker-2.25.0/Rakefile +121 -0
- data/ffaker-2.25.0/bin/console +9 -0
- data/ffaker-2.25.0/ffaker.gemspec +40 -0
- data/ffaker-2.25.0/lib/ffaker/address.rb +115 -0
- data/ffaker-2.25.0/lib/ffaker/address_au.rb +120 -0
- data/ffaker-2.25.0/lib/ffaker/address_br.rb +57 -0
- data/ffaker-2.25.0/lib/ffaker/address_ca.rb +32 -0
- data/ffaker-2.25.0/lib/ffaker/address_ch.rb +18 -0
- data/ffaker-2.25.0/lib/ffaker/address_ch_de.rb +14 -0
- data/ffaker-2.25.0/lib/ffaker/address_ch_fr.rb +14 -0
- data/ffaker-2.25.0/lib/ffaker/address_ch_it.rb +14 -0
- data/ffaker-2.25.0/lib/ffaker/address_da.rb +49 -0
- data/ffaker-2.25.0/lib/ffaker/address_de.rb +42 -0
- data/ffaker-2.25.0/lib/ffaker/address_fi.rb +44 -0
- data/ffaker-2.25.0/lib/ffaker/address_fr.rb +38 -0
- data/ffaker-2.25.0/lib/ffaker/address_gr.rb +38 -0
- data/ffaker-2.25.0/lib/ffaker/address_id.rb +36 -0
- data/ffaker-2.25.0/lib/ffaker/address_in.rb +56 -0
- data/ffaker-2.25.0/lib/ffaker/address_it.rb +33 -0
- data/ffaker-2.25.0/lib/ffaker/address_ja.rb +83 -0
- data/ffaker-2.25.0/lib/ffaker/address_kr.rb +87 -0
- data/ffaker-2.25.0/lib/ffaker/address_mx.rb +31 -0
- data/ffaker-2.25.0/lib/ffaker/address_nl.rb +43 -0
- data/ffaker-2.25.0/lib/ffaker/address_pl.rb +83 -0
- data/ffaker-2.25.0/lib/ffaker/address_ru.rb +37 -0
- data/ffaker-2.25.0/lib/ffaker/address_se.rb +44 -0
- data/ffaker-2.25.0/lib/ffaker/address_sn.rb +22 -0
- data/ffaker-2.25.0/lib/ffaker/address_ua.rb +56 -0
- data/ffaker-2.25.0/lib/ffaker/address_uk.rb +25 -0
- data/ffaker-2.25.0/lib/ffaker/address_us.rb +58 -0
- data/ffaker-2.25.0/lib/ffaker/airline.rb +16 -0
- data/ffaker-2.25.0/lib/ffaker/animal.rb +14 -0
- data/ffaker-2.25.0/lib/ffaker/animal_br.rb +12 -0
- data/ffaker-2.25.0/lib/ffaker/animal_cn.rb +12 -0
- data/ffaker-2.25.0/lib/ffaker/animal_es.rb +12 -0
- data/ffaker-2.25.0/lib/ffaker/animal_pl.rb +15 -0
- data/ffaker-2.25.0/lib/ffaker/animal_us.rb +12 -0
- data/ffaker-2.25.0/lib/ffaker/avatar.rb +44 -0
- data/ffaker-2.25.0/lib/ffaker/aws.rb +24 -0
- data/ffaker-2.25.0/lib/ffaker/bacon_ipsum.rb +19 -0
- data/ffaker-2.25.0/lib/ffaker/bank.rb +130 -0
- data/ffaker-2.25.0/lib/ffaker/bank_us.rb +37 -0
- data/ffaker-2.25.0/lib/ffaker/book.rb +64 -0
- data/ffaker-2.25.0/lib/ffaker/boolean.rb +22 -0
- data/ffaker-2.25.0/lib/ffaker/cheesy_lingo.rb +39 -0
- data/ffaker-2.25.0/lib/ffaker/code.rb +37 -0
- data/ffaker-2.25.0/lib/ffaker/color.rb +66 -0
- data/ffaker-2.25.0/lib/ffaker/color_pl.rb +14 -0
- data/ffaker-2.25.0/lib/ffaker/color_ua.rb +12 -0
- data/ffaker-2.25.0/lib/ffaker/company.rb +44 -0
- data/ffaker-2.25.0/lib/ffaker/company_cn.rb +23 -0
- data/ffaker-2.25.0/lib/ffaker/company_fr.rb +35 -0
- data/ffaker-2.25.0/lib/ffaker/company_it.rb +45 -0
- data/ffaker-2.25.0/lib/ffaker/company_ja.rb +24 -0
- data/ffaker-2.25.0/lib/ffaker/company_se.rb +23 -0
- data/ffaker-2.25.0/lib/ffaker/conference.rb +12 -0
- data/ffaker-2.25.0/lib/ffaker/courses_fr.rb +23 -0
- data/ffaker-2.25.0/lib/ffaker/crypto.rb +14 -0
- data/ffaker-2.25.0/lib/ffaker/currency.rb +20 -0
- data/ffaker-2.25.0/lib/ffaker/data/address/city_suffixes +19 -0
- data/ffaker-2.25.0/lib/ffaker/data/address/country +249 -0
- data/ffaker-2.25.0/lib/ffaker/data/address/country_code +249 -0
- data/ffaker-2.25.0/lib/ffaker/data/address/neighborhood +49 -0
- data/ffaker-2.25.0/lib/ffaker/data/address/street_suffix +195 -0
- data/ffaker-2.25.0/lib/ffaker/data/address/time_zone +130 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_br/city +299 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_br/complement +3 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_br/neighborhood_prefixes +3 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_br/state +27 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_br/state_abbr +27 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ca/city +181 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ca/province +13 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ch/canton_abbr +26 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_chde/canton +26 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_chfr/canton +26 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_chit/canton +26 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_da/city +592 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_da/kommune +88 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_da/street +657 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_de/city +1666 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_de/state +16 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_fi/city +107 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_fi/countries +96 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_fi/street +140 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_fr/city +261 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_fr/region +27 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_gr/city +79 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_gr/region +13 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_gr/street +100 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_id/city +102 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_id/common_street_names +170 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_id/state +33 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_id/state_abbr +33 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_in/city +24 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_in/state +29 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_in/state_abbr +29 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_in/union_territory +7 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_in/union_territory_abbr +7 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_it/city +111 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_it/region +20 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ja/city +791 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ja/county +98 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ja/designated_city +20 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ja/prefecture +47 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ja/street +37 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ja/tokyo_ward +23 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ja/village +183 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ja/ward +188 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_kr/boroughs +29 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_kr/cities +51 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/ags +11 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/bc +5 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/bcs +5 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/camp +11 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/chih +67 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/chis +118 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/coah +38 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/col +10 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/df +16 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/dgo +39 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/gro +81 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/gto +46 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/hgo +84 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/jal +125 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/mex +125 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/mich +113 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/mor +33 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/nay +20 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/nl +51 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/oax +570 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/pue +217 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/qr +10 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/qro +18 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/sin +18 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/slp +58 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/son +72 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/state +32 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/state_abbr +32 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/tab +17 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/tamps +43 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/tlax +60 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/ver +212 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/yuc +106 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_mx/zac +58 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_nl/city +2226 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_nl/province +12 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_pl/city +916 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_pl/square +390 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_pl/street +390 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_pl/voivodeship +16 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_pl/voivodeship_abbr +16 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_pl/voivodeship_capital_city +18 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ru/city +74 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ru/province +83 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ru/street +49 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_se/city +154 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_se/countries +250 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_se/street +2887 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_sn/arrondissements +47 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_sn/departements +43 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_sn/regions +14 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ua/city +57 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ua/country +193 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ua/province +27 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_ua/street +13 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_uk/county +70 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_us/state +50 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_us/state_abbr +50 -0
- data/ffaker-2.25.0/lib/ffaker/data/address_us/state_and_territories_abbr +62 -0
- data/ffaker-2.25.0/lib/ffaker/data/airline/codes_list +209 -0
- data/ffaker-2.25.0/lib/ffaker/data/airline/names_list +206 -0
- data/ffaker-2.25.0/lib/ffaker/data/animal/common_names +141 -0
- data/ffaker-2.25.0/lib/ffaker/data/animal_br/common_names +423 -0
- data/ffaker-2.25.0/lib/ffaker/data/animal_cn/common_names +141 -0
- data/ffaker-2.25.0/lib/ffaker/data/animal_es/common_names +135 -0
- data/ffaker-2.25.0/lib/ffaker/data/animal_pl/common_names +256 -0
- data/ffaker-2.25.0/lib/ffaker/data/animal_us/common_names +141 -0
- data/ffaker-2.25.0/lib/ffaker/data/aws/ec2_instance_type +59 -0
- data/ffaker-2.25.0/lib/ffaker/data/aws/ec2_reserved_instance_tenancy +3 -0
- data/ffaker-2.25.0/lib/ffaker/data/aws/ec2_reserved_offering_type +6 -0
- data/ffaker-2.25.0/lib/ffaker/data/aws/ec2_reserved_product_description +14 -0
- data/ffaker-2.25.0/lib/ffaker/data/bacon_ipsum/bacon_words +62 -0
- data/ffaker-2.25.0/lib/ffaker/data/bank/card_types +12 -0
- data/ffaker-2.25.0/lib/ffaker/data/book/adj_and_adv +20 -0
- data/ffaker-2.25.0/lib/ffaker/data/book/genres +369 -0
- data/ffaker-2.25.0/lib/ffaker/data/book/nouns +36 -0
- data/ffaker-2.25.0/lib/ffaker/data/book/prefixes +17 -0
- data/ffaker-2.25.0/lib/ffaker/data/cheesy_lingo/cheesy_phrases +54 -0
- data/ffaker-2.25.0/lib/ffaker/data/cheesy_lingo/cheesy_words +34 -0
- data/ffaker-2.25.0/lib/ffaker/data/color/names_list +147 -0
- data/ffaker-2.25.0/lib/ffaker/data/color_pl/names_list +122 -0
- data/ffaker-2.25.0/lib/ffaker/data/color_ua/names_list +114 -0
- data/ffaker-2.25.0/lib/ffaker/data/company/bs_mid +65 -0
- data/ffaker-2.25.0/lib/ffaker/data/company/bs_pos +44 -0
- data/ffaker-2.25.0/lib/ffaker/data/company/bs_pre +60 -0
- data/ffaker-2.25.0/lib/ffaker/data/company/catch_mid +101 -0
- data/ffaker-2.25.0/lib/ffaker/data/company/catch_pos +104 -0
- data/ffaker-2.25.0/lib/ffaker/data/company/catch_pre +100 -0
- data/ffaker-2.25.0/lib/ffaker/data/company/position_areas +11 -0
- data/ffaker-2.25.0/lib/ffaker/data/company_it/piva_office_codes +99 -0
- data/ffaker-2.25.0/lib/ffaker/data/conference/conference_list +40 -0
- data/ffaker-2.25.0/lib/ffaker/data/currency/currency_code +169 -0
- data/ffaker-2.25.0/lib/ffaker/data/currency/currency_name +169 -0
- data/ffaker-2.25.0/lib/ffaker/data/currency/currency_symbol +8 -0
- data/ffaker-2.25.0/lib/ffaker/data/dizzle_ipsum/dizzle_words +69 -0
- data/ffaker-2.25.0/lib/ffaker/data/education/degree_prefix +274 -0
- data/ffaker-2.25.0/lib/ffaker/data/education/degree_short_prefix +19 -0
- data/ffaker-2.25.0/lib/ffaker/data/education/major_noun +13 -0
- data/ffaker-2.25.0/lib/ffaker/data/education/school_suffix +13 -0
- data/ffaker-2.25.0/lib/ffaker/data/education_cn/city +351 -0
- data/ffaker-2.25.0/lib/ffaker/data/education_cn/major +506 -0
- data/ffaker-2.25.0/lib/ffaker/data/education_cn/province +31 -0
- data/ffaker-2.25.0/lib/ffaker/data/education_cn/school_type +27 -0
- data/ffaker-2.25.0/lib/ffaker/data/filesystem/extension +32 -0
- data/ffaker-2.25.0/lib/ffaker/data/filesystem/mime_type +67 -0
- data/ffaker-2.25.0/lib/ffaker/data/food/fruit +82 -0
- data/ffaker-2.25.0/lib/ffaker/data/food/herb_spice +64 -0
- data/ffaker-2.25.0/lib/ffaker/data/food/meat +48 -0
- data/ffaker-2.25.0/lib/ffaker/data/food/vegetable +207 -0
- data/ffaker-2.25.0/lib/ffaker/data/food_pl/diary +14 -0
- data/ffaker-2.25.0/lib/ffaker/data/food_pl/fermented +13 -0
- data/ffaker-2.25.0/lib/ffaker/data/food_pl/fruits +34 -0
- data/ffaker-2.25.0/lib/ffaker/data/food_pl/herbs +20 -0
- data/ffaker-2.25.0/lib/ffaker/data/food_pl/meats +9 -0
- data/ffaker-2.25.0/lib/ffaker/data/food_pl/preserves +10 -0
- data/ffaker-2.25.0/lib/ffaker/data/food_pl/spices +26 -0
- data/ffaker-2.25.0/lib/ffaker/data/food_pl/vegetables +45 -0
- data/ffaker-2.25.0/lib/ffaker/data/freedom_ipsum/freedom_words +161 -0
- data/ffaker-2.25.0/lib/ffaker/data/game/adj_and_adv +18 -0
- data/ffaker-2.25.0/lib/ffaker/data/game/category +84 -0
- data/ffaker-2.25.0/lib/ffaker/data/game/mechanic +182 -0
- data/ffaker-2.25.0/lib/ffaker/data/game/nouns +37 -0
- data/ffaker-2.25.0/lib/ffaker/data/game/prefixes +17 -0
- data/ffaker-2.25.0/lib/ffaker/data/healthcare_ipsum/healthcare_words +193 -0
- data/ffaker-2.25.0/lib/ffaker/data/healthcare_ru/doctor_specialization +127 -0
- data/ffaker-2.25.0/lib/ffaker/data/hipster_ipsum/hipster_words +101 -0
- data/ffaker-2.25.0/lib/ffaker/data/identification_mx/estados_curp +33 -0
- data/ffaker-2.25.0/lib/ffaker/data/jo_jo/first_names +356 -0
- data/ffaker-2.25.0/lib/ffaker/data/jo_jo/full_names +225 -0
- data/ffaker-2.25.0/lib/ffaker/data/jo_jo/last_names +153 -0
- data/ffaker-2.25.0/lib/ffaker/data/jo_jo/stands +149 -0
- data/ffaker-2.25.0/lib/ffaker/data/job/job_adj +37 -0
- data/ffaker-2.25.0/lib/ffaker/data/job/job_noun +25 -0
- data/ffaker-2.25.0/lib/ffaker/data/job/job_prefix +22 -0
- data/ffaker-2.25.0/lib/ffaker/data/job_br/job_nouns +52 -0
- data/ffaker-2.25.0/lib/ffaker/data/job_cn/job_nouns +300 -0
- data/ffaker-2.25.0/lib/ffaker/data/job_fr/job_nouns +14 -0
- data/ffaker-2.25.0/lib/ffaker/data/job_fr/job_prefixes +15 -0
- data/ffaker-2.25.0/lib/ffaker/data/job_it/job_adj +37 -0
- data/ffaker-2.25.0/lib/ffaker/data/job_it/job_noun +25 -0
- data/ffaker-2.25.0/lib/ffaker/data/job_it/job_prefix +22 -0
- data/ffaker-2.25.0/lib/ffaker/data/job_ja/job_nouns +235 -0
- data/ffaker-2.25.0/lib/ffaker/data/job_kr/job_nouns +1209 -0
- data/ffaker-2.25.0/lib/ffaker/data/job_tw/job_nouns +201 -0
- data/ffaker-2.25.0/lib/ffaker/data/job_vn/job_nouns +191 -0
- data/ffaker-2.25.0/lib/ffaker/data/locale/language +136 -0
- data/ffaker-2.25.0/lib/ffaker/data/locale/language_code +136 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem/characters +36 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem/words +182 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_ar/words +911 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_br/characters +36 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_br/words +183 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_cn/words +706 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_fr/words +229 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_ie/characters +5 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_ie/paragraphs +2 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_ie/questions +1 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_ie/sentences +1 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_ie/words +107 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_it/words +321 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_ja/characters +101 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_ja/sentences +30 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_ja/sentences_end +21 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_ja/words +81 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_kr/words +47 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_pl/characters +32 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_pl/words +245 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_ru/capital_chars +33 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_ru/chars +33 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_ru/words +191 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_tw/words +789 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_ua/capital_chars +33 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_ua/chars +33 -0
- data/ffaker-2.25.0/lib/ffaker/data/lorem_ua/words +362 -0
- data/ffaker-2.25.0/lib/ffaker/data/mathematiques/lessons +58 -0
- data/ffaker-2.25.0/lib/ffaker/data/movie/adj_and_adv +20 -0
- data/ffaker-2.25.0/lib/ffaker/data/movie/nouns +36 -0
- data/ffaker-2.25.0/lib/ffaker/data/movie/prefixes +17 -0
- data/ffaker-2.25.0/lib/ffaker/data/music/albums +91 -0
- data/ffaker-2.25.0/lib/ffaker/data/music/artists +100 -0
- data/ffaker-2.25.0/lib/ffaker/data/music/genres +20 -0
- data/ffaker-2.25.0/lib/ffaker/data/music/songs +100 -0
- data/ffaker-2.25.0/lib/ffaker/data/name/first_names_female +4045 -0
- data/ffaker-2.25.0/lib/ffaker/data/name/first_names_male +1182 -0
- data/ffaker-2.25.0/lib/ffaker/data/name/last_names +474 -0
- data/ffaker-2.25.0/lib/ffaker/data/name/pronouns +6 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ar/first_names_female +250 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ar/first_names_male +567 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ar/last_names +357 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_br/first_names_female +1068 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_br/first_names_male +607 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_br/last_names +77 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_cn/first_names +1000 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_cn/last_names +1057 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_cs/female_first_names +40 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_cs/female_last_names +50 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_cs/male_first_names +88 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_cs/male_last_names +49 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_cs/prefixes +16 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_da/female_first_names +303 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_da/last_names +187 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_da/male_first_names +301 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_de/first_names +1166 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_de/last_names +100 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_es/first_names_female +184 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_es/first_names_male +165 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_es/last_names +208 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_fr/first_names +220 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_fr/last_names +408 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ga/first_names_female +225 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ga/first_names_male +306 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_gr/female_first_names +80 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_gr/female_last_names +45 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_gr/male_first_names +90 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_gr/male_last_names +57 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_id/first_names_female +267 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_id/first_names_male +312 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_id/last_names +1669 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_in/first_names_female +100 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_in/first_names_male +100 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_in/last_names +100 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_it/first_names +171 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_it/last_names +70 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ja/first_names +397 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ja/last_names +1078 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_kh/first_names +64 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_kh/last_names +71 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_kh/nick_names +30 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_kr/first_names +1317 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_kr/last_names +197 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_mx/female_first_names +216 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_mx/last_names +352 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_mx/male_first_names +211 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_nb/first_names_female +50 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_nb/first_names_male +50 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_nb/last_names +100 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_nl/first_names_female +89 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_nl/first_names_male +75 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_nl/last_names +115 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ph/autochthonous_surnames +217 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ph/spanish_surnames +300 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_pl/female_first_names +121 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_pl/female_last_names +200 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_pl/male_first_names +121 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_pl/male_last_names +200 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ru/first_names_female +91 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ru/first_names_male +172 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ru/last_names_female +100 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ru/last_names_male +100 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ru/middle_names_female +65 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ru/middle_names_male +73 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_se/first_names_female +110 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_se/first_names_male +110 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_se/last_names +100 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_sn/first_names_female +225 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_sn/first_names_male +304 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_sn/last_names +243 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_th/first_names +360 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_th/last_names +15 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_th/nick_names +74 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_then/first_names +292 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_then/last_names +63 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_then/nick_names +30 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_tw/first_names +122 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_tw/last_names +100 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ua/first_names_female +193 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ua/first_names_male +195 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ua/last_names_female +230 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ua/last_names_male +239 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ua/middle_names_female +116 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_ua/middle_names_male +116 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_vn/first_names +6 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_vn/last_names +67 -0
- data/ffaker-2.25.0/lib/ffaker/data/name_vn/middle_names +89 -0
- data/ffaker-2.25.0/lib/ffaker/data/nato_alphabet/alphabet_codes +26 -0
- data/ffaker-2.25.0/lib/ffaker/data/nato_alphabet/numeric_codes +10 -0
- data/ffaker-2.25.0/lib/ffaker/data/philosophie/lessons +17 -0
- data/ffaker-2.25.0/lib/ffaker/data/phone_number/phone_calling_code +205 -0
- data/ffaker-2.25.0/lib/ffaker/data/phone_number_id/home_phone_prefixes +303 -0
- data/ffaker-2.25.0/lib/ffaker/data/phone_number_id/mobile_phone_prefixes +33 -0
- data/ffaker-2.25.0/lib/ffaker/data/phone_number_it/home_phone_prefixes +232 -0
- data/ffaker-2.25.0/lib/ffaker/data/phone_number_it/mobile_phone_prefixes +18 -0
- data/ffaker-2.25.0/lib/ffaker/data/phone_number_ja/four_disit_area_codes +41 -0
- data/ffaker-2.25.0/lib/ffaker/data/phone_number_ja/one_disit_area_codes +3 -0
- data/ffaker-2.25.0/lib/ffaker/data/phone_number_ja/three_disit_area_codes +296 -0
- data/ffaker-2.25.0/lib/ffaker/data/phone_number_ja/two_disit_area_codes +48 -0
- data/ffaker-2.25.0/lib/ffaker/data/phone_number_nl/area_codes +142 -0
- data/ffaker-2.25.0/lib/ffaker/data/phone_number_ru/home_phone_prefixes +107 -0
- data/ffaker-2.25.0/lib/ffaker/data/phone_number_ru/mobile_phone_prefixes +61 -0
- data/ffaker-2.25.0/lib/ffaker/data/phone_number_se/phone_prefix +265 -0
- data/ffaker-2.25.0/lib/ffaker/data/phone_number_ua/home_phone_prefixes +29 -0
- data/ffaker-2.25.0/lib/ffaker/data/phone_number_ua/mobile_phone_prefixes +11 -0
- data/ffaker-2.25.0/lib/ffaker/data/product/adj +19 -0
- data/ffaker-2.25.0/lib/ffaker/data/product/b1 +19 -0
- data/ffaker-2.25.0/lib/ffaker/data/product/noun +19 -0
- data/ffaker-2.25.0/lib/ffaker/data/skill/specialty_end +14 -0
- data/ffaker-2.25.0/lib/ffaker/data/skill/specialty_start +18 -0
- data/ffaker-2.25.0/lib/ffaker/data/skill/tech_skills +52 -0
- data/ffaker-2.25.0/lib/ffaker/data/sport/names +67 -0
- data/ffaker-2.25.0/lib/ffaker/data/sport_pl/summer +53 -0
- data/ffaker-2.25.0/lib/ffaker/data/sport_pl/winter +14 -0
- data/ffaker-2.25.0/lib/ffaker/data/sport_ru/summer +68 -0
- data/ffaker-2.25.0/lib/ffaker/data/sport_ru/winter +20 -0
- data/ffaker-2.25.0/lib/ffaker/data/sport_us/names +67 -0
- data/ffaker-2.25.0/lib/ffaker/data/tweet/hashtag +58 -0
- data/ffaker-2.25.0/lib/ffaker/data/vehicle/color_prefixes +25 -0
- data/ffaker-2.25.0/lib/ffaker/data/vehicle/displacements_list +21 -0
- data/ffaker-2.25.0/lib/ffaker/data/vehicle/fuel_types_list +6 -0
- data/ffaker-2.25.0/lib/ffaker/data/vehicle/makes_list +73 -0
- data/ffaker-2.25.0/lib/ffaker/data/vehicle/models_list +106 -0
- data/ffaker-2.25.0/lib/ffaker/data/vehicle/transmissions_list +4 -0
- data/ffaker-2.25.0/lib/ffaker/data/vehicle/trims_list +13 -0
- data/ffaker-2.25.0/lib/ffaker/data/vehicle/upholstery_list +5 -0
- data/ffaker-2.25.0/lib/ffaker/data/venue/venue_list +33 -0
- data/ffaker-2.25.0/lib/ffaker/data/youtube/video_ids +50 -0
- data/ffaker-2.25.0/lib/ffaker/date.rb +40 -0
- data/ffaker-2.25.0/lib/ffaker/dizzle_ipsum.rb +19 -0
- data/ffaker-2.25.0/lib/ffaker/education.rb +49 -0
- data/ffaker-2.25.0/lib/ffaker/education_cn.rb +37 -0
- data/ffaker-2.25.0/lib/ffaker/filesystem.rb +35 -0
- data/ffaker-2.25.0/lib/ffaker/food.rb +28 -0
- data/ffaker-2.25.0/lib/ffaker/food_pl.rb +65 -0
- data/ffaker-2.25.0/lib/ffaker/freedom_ipsum.rb +20 -0
- data/ffaker-2.25.0/lib/ffaker/game.rb +33 -0
- data/ffaker-2.25.0/lib/ffaker/gender.rb +22 -0
- data/ffaker-2.25.0/lib/ffaker/gender_br.rb +17 -0
- data/ffaker-2.25.0/lib/ffaker/gender_cn.rb +17 -0
- data/ffaker-2.25.0/lib/ffaker/gender_id.rb +17 -0
- data/ffaker-2.25.0/lib/ffaker/gender_it.rb +17 -0
- data/ffaker-2.25.0/lib/ffaker/gender_ja.rb +18 -0
- data/ffaker-2.25.0/lib/ffaker/gender_jp.rb +11 -0
- data/ffaker-2.25.0/lib/ffaker/gender_kr.rb +17 -0
- data/ffaker-2.25.0/lib/ffaker/gender_pl.rb +19 -0
- data/ffaker-2.25.0/lib/ffaker/gender_ru.rb +22 -0
- data/ffaker-2.25.0/lib/ffaker/geolocation.rb +60 -0
- data/ffaker-2.25.0/lib/ffaker/guid.rb +18 -0
- data/ffaker-2.25.0/lib/ffaker/healthcare_ipsum.rb +18 -0
- data/ffaker-2.25.0/lib/ffaker/healthcare_ru.rb +12 -0
- data/ffaker-2.25.0/lib/ffaker/hipster_ipsum.rb +19 -0
- data/ffaker-2.25.0/lib/ffaker/html_ipsum.rb +186 -0
- data/ffaker-2.25.0/lib/ffaker/identification.rb +30 -0
- data/ffaker-2.25.0/lib/ffaker/identification_br.rb +75 -0
- data/ffaker-2.25.0/lib/ffaker/identification_ec.rb +39 -0
- data/ffaker-2.25.0/lib/ffaker/identification_es.rb +14 -0
- data/ffaker-2.25.0/lib/ffaker/identification_es_cl.rb +29 -0
- data/ffaker-2.25.0/lib/ffaker/identification_es_co.rb +39 -0
- data/ffaker-2.25.0/lib/ffaker/identification_fi.rb +73 -0
- data/ffaker-2.25.0/lib/ffaker/identification_in.rb +15 -0
- data/ffaker-2.25.0/lib/ffaker/identification_it.rb +30 -0
- data/ffaker-2.25.0/lib/ffaker/identification_kr.rb +26 -0
- data/ffaker-2.25.0/lib/ffaker/identification_mx.rb +58 -0
- data/ffaker-2.25.0/lib/ffaker/identification_pl.rb +77 -0
- data/ffaker-2.25.0/lib/ffaker/identification_tw.rb +24 -0
- data/ffaker-2.25.0/lib/ffaker/image.rb +72 -0
- data/ffaker-2.25.0/lib/ffaker/internet.rb +90 -0
- data/ffaker-2.25.0/lib/ffaker/internet_se.rb +108 -0
- data/ffaker-2.25.0/lib/ffaker/jo_jo.rb +24 -0
- data/ffaker-2.25.0/lib/ffaker/job.rb +12 -0
- data/ffaker-2.25.0/lib/ffaker/job_br.rb +12 -0
- data/ffaker-2.25.0/lib/ffaker/job_cn.rb +12 -0
- data/ffaker-2.25.0/lib/ffaker/job_fr.rb +18 -0
- data/ffaker-2.25.0/lib/ffaker/job_it.rb +12 -0
- data/ffaker-2.25.0/lib/ffaker/job_ja.rb +12 -0
- data/ffaker-2.25.0/lib/ffaker/job_kr.rb +12 -0
- data/ffaker-2.25.0/lib/ffaker/job_tw.rb +12 -0
- data/ffaker-2.25.0/lib/ffaker/job_vn.rb +12 -0
- data/ffaker-2.25.0/lib/ffaker/locale.rb +22 -0
- data/ffaker-2.25.0/lib/ffaker/lorem.rb +45 -0
- data/ffaker-2.25.0/lib/ffaker/lorem_ar.rb +40 -0
- data/ffaker-2.25.0/lib/ffaker/lorem_br.rb +45 -0
- data/ffaker-2.25.0/lib/ffaker/lorem_cn.rb +40 -0
- data/ffaker-2.25.0/lib/ffaker/lorem_fr.rb +39 -0
- data/ffaker-2.25.0/lib/ffaker/lorem_ie.rb +40 -0
- data/ffaker-2.25.0/lib/ffaker/lorem_it.rb +39 -0
- data/ffaker-2.25.0/lib/ffaker/lorem_ja.rb +40 -0
- data/ffaker-2.25.0/lib/ffaker/lorem_kr.rb +36 -0
- data/ffaker-2.25.0/lib/ffaker/lorem_pl.rb +60 -0
- data/ffaker-2.25.0/lib/ffaker/lorem_ru.rb +57 -0
- data/ffaker-2.25.0/lib/ffaker/lorem_tw.rb +40 -0
- data/ffaker-2.25.0/lib/ffaker/lorem_ua.rb +54 -0
- data/ffaker-2.25.0/lib/ffaker/movie.rb +69 -0
- data/ffaker-2.25.0/lib/ffaker/music.rb +24 -0
- data/ffaker-2.25.0/lib/ffaker/name.rb +121 -0
- data/ffaker-2.25.0/lib/ffaker/name_ar.rb +28 -0
- data/ffaker-2.25.0/lib/ffaker/name_br.rb +62 -0
- data/ffaker-2.25.0/lib/ffaker/name_cn.rb +24 -0
- data/ffaker-2.25.0/lib/ffaker/name_cs.rb +87 -0
- data/ffaker-2.25.0/lib/ffaker/name_da.rb +56 -0
- data/ffaker-2.25.0/lib/ffaker/name_de.rb +31 -0
- data/ffaker-2.25.0/lib/ffaker/name_es.rb +64 -0
- data/ffaker-2.25.0/lib/ffaker/name_fr.rb +35 -0
- data/ffaker-2.25.0/lib/ffaker/name_ga.rb +39 -0
- data/ffaker-2.25.0/lib/ffaker/name_gr.rb +59 -0
- data/ffaker-2.25.0/lib/ffaker/name_id.rb +62 -0
- data/ffaker-2.25.0/lib/ffaker/name_in.rb +39 -0
- data/ffaker-2.25.0/lib/ffaker/name_it.rb +31 -0
- data/ffaker-2.25.0/lib/ffaker/name_ja.rb +22 -0
- data/ffaker-2.25.0/lib/ffaker/name_kh.rb +24 -0
- data/ffaker-2.25.0/lib/ffaker/name_kr.rb +26 -0
- data/ffaker-2.25.0/lib/ffaker/name_mx.rb +101 -0
- data/ffaker-2.25.0/lib/ffaker/name_nb.rb +44 -0
- data/ffaker-2.25.0/lib/ffaker/name_nl.rb +48 -0
- data/ffaker-2.25.0/lib/ffaker/name_ph.rb +25 -0
- data/ffaker-2.25.0/lib/ffaker/name_pl.rb +98 -0
- data/ffaker-2.25.0/lib/ffaker/name_ru.rb +55 -0
- data/ffaker-2.25.0/lib/ffaker/name_se.rb +44 -0
- data/ffaker-2.25.0/lib/ffaker/name_sn.rb +56 -0
- data/ffaker-2.25.0/lib/ffaker/name_th.rb +25 -0
- data/ffaker-2.25.0/lib/ffaker/name_th_en.rb +26 -0
- data/ffaker-2.25.0/lib/ffaker/name_tw.rb +20 -0
- data/ffaker-2.25.0/lib/ffaker/name_ua.rb +57 -0
- data/ffaker-2.25.0/lib/ffaker/name_vn.rb +28 -0
- data/ffaker-2.25.0/lib/ffaker/nato_alphabet.rb +38 -0
- data/ffaker-2.25.0/lib/ffaker/number.rb +30 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number.rb +80 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_au.rb +76 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_br.rb +77 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_ch.rb +46 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_cu.rb +122 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_da.rb +43 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_de.rb +50 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_fr.rb +65 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_id.rb +36 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_it.rb +44 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_ja.rb +88 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_kr.rb +50 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_mx.rb +56 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_nl.rb +46 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_pl.rb +68 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_ru.rb +120 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_se.rb +88 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_sg.rb +81 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_sn.rb +71 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_tw.rb +49 -0
- data/ffaker-2.25.0/lib/ffaker/phone_number_ua.rb +42 -0
- data/ffaker-2.25.0/lib/ffaker/product.rb +47 -0
- data/ffaker-2.25.0/lib/ffaker/sem_ver.rb +19 -0
- data/ffaker-2.25.0/lib/ffaker/skill.rb +24 -0
- data/ffaker-2.25.0/lib/ffaker/sport.rb +14 -0
- data/ffaker-2.25.0/lib/ffaker/sport_pl.rb +25 -0
- data/ffaker-2.25.0/lib/ffaker/sport_ru.rb +25 -0
- data/ffaker-2.25.0/lib/ffaker/sport_us.rb +12 -0
- data/ffaker-2.25.0/lib/ffaker/ssn.rb +24 -0
- data/ffaker-2.25.0/lib/ffaker/ssn_mx.rb +56 -0
- data/ffaker-2.25.0/lib/ffaker/ssn_se.rb +80 -0
- data/ffaker-2.25.0/lib/ffaker/string.rb +110 -0
- data/ffaker-2.25.0/lib/ffaker/time.rb +65 -0
- data/ffaker-2.25.0/lib/ffaker/tweet.rb +59 -0
- data/ffaker-2.25.0/lib/ffaker/unit.rb +48 -0
- data/ffaker-2.25.0/lib/ffaker/unit_english.rb +107 -0
- data/ffaker-2.25.0/lib/ffaker/unit_metric.rb +98 -0
- data/ffaker-2.25.0/lib/ffaker/utils/array_utils.rb +53 -0
- data/ffaker-2.25.0/lib/ffaker/utils/module_utils.rb +49 -0
- data/ffaker-2.25.0/lib/ffaker/utils/random_utils.rb +37 -0
- data/ffaker-2.25.0/lib/ffaker/utils/unique_utils.rb +56 -0
- data/ffaker-2.25.0/lib/ffaker/uuid.rb +175 -0
- data/ffaker-2.25.0/lib/ffaker/vehicle.rb +133 -0
- data/ffaker-2.25.0/lib/ffaker/venue.rb +12 -0
- data/ffaker-2.25.0/lib/ffaker/version.rb +5 -0
- data/ffaker-2.25.0/lib/ffaker/youtube.rb +24 -0
- data/ffaker-2.25.0/lib/ffaker.rb +130 -0
- data/ffaker-2.25.0/scripts/benchmark.rb +21 -0
- data/ffaker-2.25.0/scripts/profile.sh +2 -0
- data/ffaker-2.25.0/scripts/profiling.rb +9 -0
- data/ffaker-2.25.0/scripts/reference.rb +94 -0
- data/ffaker-2.25.0/test/helper.rb +87 -0
- data/ffaker-2.25.0/test/test_address.rb +109 -0
- data/ffaker-2.25.0/test/test_address_au.rb +78 -0
- data/ffaker-2.25.0/test/test_address_br.rb +50 -0
- data/ffaker-2.25.0/test/test_address_ca.rb +31 -0
- data/ffaker-2.25.0/test/test_address_ch.rb +17 -0
- data/ffaker-2.25.0/test/test_address_ch_de.rb +13 -0
- data/ffaker-2.25.0/test/test_address_ch_fr.rb +13 -0
- data/ffaker-2.25.0/test/test_address_ch_it.rb +15 -0
- data/ffaker-2.25.0/test/test_address_da.rb +50 -0
- data/ffaker-2.25.0/test/test_address_de.rb +32 -0
- data/ffaker-2.25.0/test/test_address_fi.rb +39 -0
- data/ffaker-2.25.0/test/test_address_fr.rb +12 -0
- data/ffaker-2.25.0/test/test_address_gr.rb +43 -0
- data/ffaker-2.25.0/test/test_address_id.rb +39 -0
- data/ffaker-2.25.0/test/test_address_in.rb +58 -0
- data/ffaker-2.25.0/test/test_address_it.rb +12 -0
- data/ffaker-2.25.0/test/test_address_ja.rb +58 -0
- data/ffaker-2.25.0/test/test_address_kr.rb +14 -0
- data/ffaker-2.25.0/test/test_address_mx.rb +32 -0
- data/ffaker-2.25.0/test/test_address_nl.rb +36 -0
- data/ffaker-2.25.0/test/test_address_pl.rb +80 -0
- data/ffaker-2.25.0/test/test_address_ru.rb +36 -0
- data/ffaker-2.25.0/test/test_address_se.rb +39 -0
- data/ffaker-2.25.0/test/test_address_sn.rb +28 -0
- data/ffaker-2.25.0/test/test_address_ua.rb +57 -0
- data/ffaker-2.25.0/test/test_address_uk.rb +25 -0
- data/ffaker-2.25.0/test/test_address_us.rb +51 -0
- data/ffaker-2.25.0/test/test_airline.rb +17 -0
- data/ffaker-2.25.0/test/test_animal.rb +17 -0
- data/ffaker-2.25.0/test/test_animal_br.rb +17 -0
- data/ffaker-2.25.0/test/test_animal_cn.rb +17 -0
- data/ffaker-2.25.0/test/test_animal_es.rb +17 -0
- data/ffaker-2.25.0/test/test_animal_pl.rb +17 -0
- data/ffaker-2.25.0/test/test_animal_us.rb +17 -0
- data/ffaker-2.25.0/test/test_array_utils.rb +100 -0
- data/ffaker-2.25.0/test/test_avatar.rb +80 -0
- data/ffaker-2.25.0/test/test_aws.rb +25 -0
- data/ffaker-2.25.0/test/test_bacon_ipsum.rb +36 -0
- data/ffaker-2.25.0/test/test_bank.rb +67 -0
- data/ffaker-2.25.0/test/test_bank_us.rb +37 -0
- data/ffaker-2.25.0/test/test_book.rb +75 -0
- data/ffaker-2.25.0/test/test_boolean.rb +45 -0
- data/ffaker-2.25.0/test/test_cheesy_lingo.rb +43 -0
- data/ffaker-2.25.0/test/test_code.rb +39 -0
- data/ffaker-2.25.0/test/test_color.rb +134 -0
- data/ffaker-2.25.0/test/test_color_pl.rb +13 -0
- data/ffaker-2.25.0/test/test_color_ua.rb +13 -0
- data/ffaker-2.25.0/test/test_company.rb +32 -0
- data/ffaker-2.25.0/test/test_company_cn.rb +24 -0
- data/ffaker-2.25.0/test/test_company_fr.rb +33 -0
- data/ffaker-2.25.0/test/test_company_it.rb +28 -0
- data/ffaker-2.25.0/test/test_company_ja.rb +28 -0
- data/ffaker-2.25.0/test/test_company_se.rb +20 -0
- data/ffaker-2.25.0/test/test_conference.rb +13 -0
- data/ffaker-2.25.0/test/test_course_mathematiques.rb +17 -0
- data/ffaker-2.25.0/test/test_course_philosophie.rb +17 -0
- data/ffaker-2.25.0/test/test_crypto.rb +15 -0
- data/ffaker-2.25.0/test/test_currency.rb +12 -0
- data/ffaker-2.25.0/test/test_date.rb +47 -0
- data/ffaker-2.25.0/test/test_dizzle_ipsum.rb +36 -0
- data/ffaker-2.25.0/test/test_education.rb +41 -0
- data/ffaker-2.25.0/test/test_education_cn.rb +29 -0
- data/ffaker-2.25.0/test/test_ffaker.rb +41 -0
- data/ffaker-2.25.0/test/test_filesystem.rb +62 -0
- data/ffaker-2.25.0/test/test_food.rb +28 -0
- data/ffaker-2.25.0/test/test_food_pl.rb +61 -0
- data/ffaker-2.25.0/test/test_freedom_ipsum.rb +21 -0
- data/ffaker-2.25.0/test/test_game.rb +28 -0
- data/ffaker-2.25.0/test/test_gender.rb +23 -0
- data/ffaker-2.25.0/test/test_gender_br.rb +18 -0
- data/ffaker-2.25.0/test/test_gender_cn.rb +18 -0
- data/ffaker-2.25.0/test/test_gender_id.rb +18 -0
- data/ffaker-2.25.0/test/test_gender_it.rb +27 -0
- data/ffaker-2.25.0/test/test_gender_ja.rb +27 -0
- data/ffaker-2.25.0/test/test_gender_jp.rb +27 -0
- data/ffaker-2.25.0/test/test_gender_kr.rb +28 -0
- data/ffaker-2.25.0/test/test_gender_pl.rb +27 -0
- data/ffaker-2.25.0/test/test_gender_ru.rb +23 -0
- data/ffaker-2.25.0/test/test_geolocation.rb +37 -0
- data/ffaker-2.25.0/test/test_guid.rb +14 -0
- data/ffaker-2.25.0/test/test_healthcare_ipsum.rb +36 -0
- data/ffaker-2.25.0/test/test_healthcare_ru.rb +19 -0
- data/ffaker-2.25.0/test/test_hipster_ipsum.rb +38 -0
- data/ffaker-2.25.0/test/test_html_ipsum.rb +105 -0
- data/ffaker-2.25.0/test/test_identification.rb +45 -0
- data/ffaker-2.25.0/test/test_identification_br.rb +46 -0
- data/ffaker-2.25.0/test/test_identification_co.rb +41 -0
- data/ffaker-2.25.0/test/test_identification_ec.rb +33 -0
- data/ffaker-2.25.0/test/test_identification_es.rb +17 -0
- data/ffaker-2.25.0/test/test_identification_es_cl.rb +17 -0
- data/ffaker-2.25.0/test/test_identification_es_mx.rb +30 -0
- data/ffaker-2.25.0/test/test_identification_fi.rb +39 -0
- data/ffaker-2.25.0/test/test_identification_in.rb +20 -0
- data/ffaker-2.25.0/test/test_identification_it.rb +45 -0
- data/ffaker-2.25.0/test/test_identification_kr.rb +17 -0
- data/ffaker-2.25.0/test/test_identification_pl.rb +28 -0
- data/ffaker-2.25.0/test/test_identification_tw.rb +17 -0
- data/ffaker-2.25.0/test/test_image.rb +97 -0
- data/ffaker-2.25.0/test/test_internet.rb +134 -0
- data/ffaker-2.25.0/test/test_internet_se.rb +81 -0
- data/ffaker-2.25.0/test/test_jo_jo.rb +29 -0
- data/ffaker-2.25.0/test/test_job.rb +17 -0
- data/ffaker-2.25.0/test/test_job_br.rb +17 -0
- data/ffaker-2.25.0/test/test_job_cn.rb +21 -0
- data/ffaker-2.25.0/test/test_job_fr.rb +23 -0
- data/ffaker-2.25.0/test/test_job_it.rb +17 -0
- data/ffaker-2.25.0/test/test_job_ja.rb +21 -0
- data/ffaker-2.25.0/test/test_job_kr.rb +21 -0
- data/ffaker-2.25.0/test/test_job_tw.rb +21 -0
- data/ffaker-2.25.0/test/test_job_vn.rb +21 -0
- data/ffaker-2.25.0/test/test_locale.rb +27 -0
- data/ffaker-2.25.0/test/test_lorem.rb +58 -0
- data/ffaker-2.25.0/test/test_lorem_ar.rb +44 -0
- data/ffaker-2.25.0/test/test_lorem_br.rb +62 -0
- data/ffaker-2.25.0/test/test_lorem_cn.rb +54 -0
- data/ffaker-2.25.0/test/test_lorem_fr.rb +48 -0
- data/ffaker-2.25.0/test/test_lorem_ie.rb +52 -0
- data/ffaker-2.25.0/test/test_lorem_it.rb +51 -0
- data/ffaker-2.25.0/test/test_lorem_ja.rb +81 -0
- data/ffaker-2.25.0/test/test_lorem_kr.rb +56 -0
- data/ffaker-2.25.0/test/test_lorem_pl.rb +51 -0
- data/ffaker-2.25.0/test/test_lorem_ru.rb +52 -0
- data/ffaker-2.25.0/test/test_lorem_tw.rb +54 -0
- data/ffaker-2.25.0/test/test_lorem_ua.rb +52 -0
- data/ffaker-2.25.0/test/test_module_utils.rb +56 -0
- data/ffaker-2.25.0/test/test_movie.rb +21 -0
- data/ffaker-2.25.0/test/test_music.rb +28 -0
- data/ffaker-2.25.0/test/test_name.rb +138 -0
- data/ffaker-2.25.0/test/test_name_ar.rb +39 -0
- data/ffaker-2.25.0/test/test_name_br.rb +70 -0
- data/ffaker-2.25.0/test/test_name_cn.rb +28 -0
- data/ffaker-2.25.0/test/test_name_cs.rb +73 -0
- data/ffaker-2.25.0/test/test_name_da.rb +59 -0
- data/ffaker-2.25.0/test/test_name_de.rb +25 -0
- data/ffaker-2.25.0/test/test_name_es.rb +70 -0
- data/ffaker-2.25.0/test/test_name_fr.rb +52 -0
- data/ffaker-2.25.0/test/test_name_ga.rb +61 -0
- data/ffaker-2.25.0/test/test_name_gr.rb +70 -0
- data/ffaker-2.25.0/test/test_name_id.rb +70 -0
- data/ffaker-2.25.0/test/test_name_it.rb +53 -0
- data/ffaker-2.25.0/test/test_name_ja.rb +51 -0
- data/ffaker-2.25.0/test/test_name_kh.rb +34 -0
- data/ffaker-2.25.0/test/test_name_kr.rb +28 -0
- data/ffaker-2.25.0/test/test_name_mx.rb +190 -0
- data/ffaker-2.25.0/test/test_name_nb.rb +43 -0
- data/ffaker-2.25.0/test/test_name_nl.rb +25 -0
- data/ffaker-2.25.0/test/test_name_ph.rb +34 -0
- data/ffaker-2.25.0/test/test_name_pl.rb +111 -0
- data/ffaker-2.25.0/test/test_name_ru.rb +76 -0
- data/ffaker-2.25.0/test/test_name_se.rb +43 -0
- data/ffaker-2.25.0/test/test_name_sn.rb +92 -0
- data/ffaker-2.25.0/test/test_name_th.rb +34 -0
- data/ffaker-2.25.0/test/test_name_th_en.rb +35 -0
- data/ffaker-2.25.0/test/test_name_tw.rb +28 -0
- data/ffaker-2.25.0/test/test_name_ua.rb +68 -0
- data/ffaker-2.25.0/test/test_name_vn.rb +42 -0
- data/ffaker-2.25.0/test/test_nato_alphabet.rb +42 -0
- data/ffaker-2.25.0/test/test_number.rb +57 -0
- data/ffaker-2.25.0/test/test_phone_number.rb +46 -0
- data/ffaker-2.25.0/test/test_phone_number_au.rb +65 -0
- data/ffaker-2.25.0/test/test_phone_number_br.rb +63 -0
- data/ffaker-2.25.0/test/test_phone_number_cu.rb +93 -0
- data/ffaker-2.25.0/test/test_phone_number_da.rb +47 -0
- data/ffaker-2.25.0/test/test_phone_number_de.rb +53 -0
- data/ffaker-2.25.0/test/test_phone_number_fr.rb +57 -0
- data/ffaker-2.25.0/test/test_phone_number_id.rb +57 -0
- data/ffaker-2.25.0/test/test_phone_number_it.rb +12 -0
- data/ffaker-2.25.0/test/test_phone_number_ja.rb +63 -0
- data/ffaker-2.25.0/test/test_phone_number_kr.rb +49 -0
- data/ffaker-2.25.0/test/test_phone_number_mx.rb +50 -0
- data/ffaker-2.25.0/test/test_phone_number_nl.rb +36 -0
- data/ffaker-2.25.0/test/test_phone_number_pl.rb +56 -0
- data/ffaker-2.25.0/test/test_phone_number_ru.rb +76 -0
- data/ffaker-2.25.0/test/test_phone_number_se.rb +65 -0
- data/ffaker-2.25.0/test/test_phone_number_sg.rb +52 -0
- data/ffaker-2.25.0/test/test_phone_number_sn.rb +41 -0
- data/ffaker-2.25.0/test/test_phone_number_tw.rb +42 -0
- data/ffaker-2.25.0/test/test_phone_number_ua.rb +38 -0
- data/ffaker-2.25.0/test/test_products.rb +22 -0
- data/ffaker-2.25.0/test/test_sem_ver.rb +18 -0
- data/ffaker-2.25.0/test/test_skill.rb +30 -0
- data/ffaker-2.25.0/test/test_sport_pl.rb +30 -0
- data/ffaker-2.25.0/test/test_sport_ru.rb +30 -0
- data/ffaker-2.25.0/test/test_sport_us.rb +17 -0
- data/ffaker-2.25.0/test/test_sports.rb +17 -0
- data/ffaker-2.25.0/test/test_ssn.rb +27 -0
- data/ffaker-2.25.0/test/test_ssn_mx.rb +36 -0
- data/ffaker-2.25.0/test/test_ssn_se.rb +43 -0
- data/ffaker-2.25.0/test/test_string.rb +114 -0
- data/ffaker-2.25.0/test/test_time.rb +101 -0
- data/ffaker-2.25.0/test/test_tweet.rb +59 -0
- data/ffaker-2.25.0/test/test_unique_utils.rb +78 -0
- data/ffaker-2.25.0/test/test_units.rb +37 -0
- data/ffaker-2.25.0/test/test_units_english.rb +63 -0
- data/ffaker-2.25.0/test/test_units_metric.rb +63 -0
- data/ffaker-2.25.0/test/test_uuid.rb +73 -0
- data/ffaker-2.25.0/test/test_vehicle.rb +100 -0
- data/ffaker-2.25.0/test/test_venue.rb +13 -0
- data/ffaker-2.25.0/test/test_youtube.rb +28 -0
- data/nano-fast-sys.gemspec +11 -0
- metadata +822 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'random_utils'
|
|
4
|
+
|
|
5
|
+
module FFaker
|
|
6
|
+
module ArrayUtils
|
|
7
|
+
extend RandomUtils
|
|
8
|
+
|
|
9
|
+
def self.const_array(argument)
|
|
10
|
+
array = argument.is_a?(Array) ? argument : argument.to_a
|
|
11
|
+
array.extend ArrayUtils
|
|
12
|
+
freeze_all(array)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def self.random_pick(array, num)
|
|
16
|
+
warn '[ArrayUtils.random_pick] is deprecated. Please use the ModuleUtils#fetch_sample method'
|
|
17
|
+
fetch_sample(array, count: num)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def self.rand(array)
|
|
21
|
+
warn '[ArrayUtils.rand] is deprecated. Please use the ModuleUtils#fetch_sample method'
|
|
22
|
+
fetch_sample(array)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def self.freeze_all(array)
|
|
26
|
+
array.each(&:freeze)
|
|
27
|
+
array.freeze
|
|
28
|
+
array
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def self.shuffle(array)
|
|
32
|
+
array.sort_by { FFaker::Random.rand }
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def random_pick(num)
|
|
36
|
+
warn '[ArrayUtils#random_pick] is deprecated. Please use the ModuleUtils#fetch_sample method'
|
|
37
|
+
ArrayUtils.random_pick(self, num)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def rand
|
|
41
|
+
warn '[ArrayUtils#rand] is deprecated. Please use the ModuleUtils#fetch_sample method'
|
|
42
|
+
ArrayUtils.rand(self)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def freeze_all
|
|
46
|
+
ArrayUtils.freeze_all(self)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def shuffle
|
|
50
|
+
ArrayUtils.shuffle(self)
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'array_utils'
|
|
4
|
+
require_relative 'random_utils'
|
|
5
|
+
require_relative 'unique_utils'
|
|
6
|
+
|
|
7
|
+
module FFaker
|
|
8
|
+
module ModuleUtils
|
|
9
|
+
include RandomUtils
|
|
10
|
+
|
|
11
|
+
def k(arg)
|
|
12
|
+
FFaker::ArrayUtils.const_array(arg)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def const_missing(const_name)
|
|
16
|
+
if const_name.match?(/[a-z]/) # Not a constant, probably a class/module name.
|
|
17
|
+
super
|
|
18
|
+
else
|
|
19
|
+
mod_name = ancestors.first.to_s.split('::').last
|
|
20
|
+
data_path = "#{FFaker::BASE_LIB_PATH}/ffaker/data/#{underscore(mod_name)}/#{underscore(const_name.to_s)}"
|
|
21
|
+
data = k File.read(data_path, mode: 'r:UTF-8').split("\n")
|
|
22
|
+
const_set const_name, data
|
|
23
|
+
data
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def underscore(string)
|
|
28
|
+
string.gsub('::', '/')
|
|
29
|
+
.gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
|
|
30
|
+
.gsub(/([a-z\d])([A-Z])/, '\1_\2')
|
|
31
|
+
.tr('-', '_')
|
|
32
|
+
.downcase
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def unique(max_retries = 10_000)
|
|
36
|
+
FFaker::UniqueUtils.add_instance(self, max_retries)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# http://en.wikipedia.org/wiki/Luhn_algorithm
|
|
40
|
+
def luhn_check(number)
|
|
41
|
+
sum = number.chars
|
|
42
|
+
.map(&:to_i)
|
|
43
|
+
.reverse
|
|
44
|
+
.each_with_index
|
|
45
|
+
.sum { |digit, index| index.even? ? (2 * digit).digits.sum : digit }
|
|
46
|
+
((10 - (sum % 10)) % 10).to_s
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module FFaker
|
|
4
|
+
# Methods for returning repeatably-random data using the internal
|
|
5
|
+
# Random Number Generator. You should not need to use this directly, it is
|
|
6
|
+
# automatically included when you `include ModuleUtils` in a FFaker module.
|
|
7
|
+
module RandomUtils
|
|
8
|
+
# Returns a randon number from the internal Random Number Generator. Can be
|
|
9
|
+
# used in place of `rand` or `Kernal.rand`.
|
|
10
|
+
def rand(max = nil)
|
|
11
|
+
FFaker::Random.rand(max)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Performs Array#sample on `list` using a the internal Random Number
|
|
15
|
+
# Generator so that the results are deterministic.
|
|
16
|
+
#
|
|
17
|
+
# * Returns one random item from `list`.
|
|
18
|
+
# * Pass `count: n` in options argument, where `n` is an integer, to
|
|
19
|
+
# return *n* items from `list`
|
|
20
|
+
def fetch_sample(list, options = {})
|
|
21
|
+
if (count = options.delete(:count))
|
|
22
|
+
list.sample(count, random: FFaker::Random)
|
|
23
|
+
elsif list.is_a?(Range)
|
|
24
|
+
FFaker::Random.rand(list)
|
|
25
|
+
else
|
|
26
|
+
list.sample(random: FFaker::Random)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Performs same action as as `Array#suffle` (returns a randomly-reordered
|
|
31
|
+
# copy of `list`) except that it uses the internal Random Number Generator
|
|
32
|
+
# so that the results are deterministic.
|
|
33
|
+
def shuffle(list)
|
|
34
|
+
list.shuffle(random: FFaker::Random)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'set'
|
|
4
|
+
|
|
5
|
+
module FFaker
|
|
6
|
+
class UniqueUtils
|
|
7
|
+
RetryLimitExceeded = Class.new(StandardError)
|
|
8
|
+
|
|
9
|
+
class << self
|
|
10
|
+
def add_instance(generator, max_retries)
|
|
11
|
+
instances[generator] ||= FFaker::UniqueUtils.new(generator, max_retries)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def instances
|
|
15
|
+
Thread.current[:ffaker_unique_utils] ||= {}
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def clear
|
|
19
|
+
instances.each_value(&:clear)
|
|
20
|
+
instances.clear
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def initialize(generator, max_retries)
|
|
25
|
+
@generator = generator
|
|
26
|
+
@max_retries = max_retries
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def clear
|
|
30
|
+
previous_results.clear
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
private
|
|
34
|
+
|
|
35
|
+
def method_missing(name, *args, **kwargs)
|
|
36
|
+
@max_retries.times do
|
|
37
|
+
result = @generator.public_send(name, *args, **kwargs)
|
|
38
|
+
|
|
39
|
+
next if previous_results[[name, args, kwargs]].include?(result)
|
|
40
|
+
|
|
41
|
+
previous_results[[name, args, kwargs]] << result
|
|
42
|
+
return result
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
raise RetryLimitExceeded, "Retry limit exceeded for #{name}"
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def respond_to_missing?(name, *args)
|
|
49
|
+
@generator.respond_to?(name, *args) || super
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def previous_results
|
|
53
|
+
@previous_results ||= Hash.new { |hash, key| hash[key] = Set.new }
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'date'
|
|
4
|
+
|
|
5
|
+
module FFaker
|
|
6
|
+
# UUIDs are a 128-bit value (16 bytes), often represented as a
|
|
7
|
+
# 32-character hexadecimal string in the format
|
|
8
|
+
# `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`.
|
|
9
|
+
#
|
|
10
|
+
# @note This generates lowercase strings, but UUIDs are case-insensitive.
|
|
11
|
+
#
|
|
12
|
+
# @see https://www.rfc-editor.org/rfc/rfc4122#section-4
|
|
13
|
+
# @see https://datatracker.ietf.org/doc/draft-ietf-uuidrev-rfc4122bis/
|
|
14
|
+
module UUID
|
|
15
|
+
extend ModuleUtils
|
|
16
|
+
extend self
|
|
17
|
+
|
|
18
|
+
# > UUID version 4 is meant for generating UUIDs from truly-random or
|
|
19
|
+
# > pseudo-random numbers.
|
|
20
|
+
def uuidv4
|
|
21
|
+
uuid = 0
|
|
22
|
+
# random_a
|
|
23
|
+
# > The first 48 bits of the layout that can be filled with random data
|
|
24
|
+
# > as specified in Section 6.9. Occupies bits 0 through 47 (octets 0-5).
|
|
25
|
+
uuid |= rand((2**48) - 1) << 80
|
|
26
|
+
# ver
|
|
27
|
+
# > The 4 bit version field as defined by Section 4.2, set to 0b0100 (4).
|
|
28
|
+
# > Occupies bits 48 through 51 of octet 6.
|
|
29
|
+
uuid |= 0b0100 << 76
|
|
30
|
+
# random_b
|
|
31
|
+
# > 12 more bits of the layout that can be filled random data as per
|
|
32
|
+
# > Section 6.9. Occupies bits 52 through 63 (octets 6-7).
|
|
33
|
+
uuid |= rand((2**12) - 1) << 64
|
|
34
|
+
# var
|
|
35
|
+
# > The 2 bit variant field as defined by Section 4.1, set to 0b10.
|
|
36
|
+
# > Occupies bits 64 and 65 of octet 8.
|
|
37
|
+
uuid |= 0b10 << 62
|
|
38
|
+
# random_c
|
|
39
|
+
# > The final 62 bits of the layout immediately following the var field
|
|
40
|
+
# > field to be filled with random data as per Section 6.9. Occupies bits
|
|
41
|
+
# > 66 through 127 (octets 8-15).
|
|
42
|
+
uuid |= rand((2**62) - 1)
|
|
43
|
+
|
|
44
|
+
as_string(uuid)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# > UUID version 6 is a field-compatible version of UUIDv1 Section 5.1,
|
|
48
|
+
# > reordered for improved DB locality. It is expected that UUIDv6 will
|
|
49
|
+
# > primarily be used in contexts where UUIDv1 is used. Systems that do not
|
|
50
|
+
# > involve legacy UUIDv1 SHOULD use UUIDv7 instead.
|
|
51
|
+
def uuidv6
|
|
52
|
+
timestamp = rand((2**60) - 1)
|
|
53
|
+
|
|
54
|
+
uuid = 0
|
|
55
|
+
# time_high
|
|
56
|
+
# > The most significant 32 bits of the 60 bit starting timestamp.
|
|
57
|
+
# > Occupies bits 0 through 31 (octets 0-3).
|
|
58
|
+
# @note Shifts 28 bits to remove `time_mid` and `time_low`.
|
|
59
|
+
uuid |= (timestamp >> 28) << 96
|
|
60
|
+
# time_mid
|
|
61
|
+
# > The middle 16 bits of the 60 bit starting timestamp. Occupies bits 32
|
|
62
|
+
# > through 47 (octets 4-5).
|
|
63
|
+
# @note Shifts 12 bits to remove `time_low`.
|
|
64
|
+
uuid |= ((timestamp >> 12) & ((2**16) - 1)) << 80
|
|
65
|
+
# ver
|
|
66
|
+
# > The 4 bit version field as defined by Section 4.2, set to 0b0110 (6).
|
|
67
|
+
# > Occupies bits 48 through 51 of octet 6.
|
|
68
|
+
uuid |= 0b0110 << 76
|
|
69
|
+
# time_low
|
|
70
|
+
# > 12 bits that will contain the least significant 12 bits from the 60
|
|
71
|
+
# > bit starting timestamp. Occupies bits 52 through 63 (octets 6-7).
|
|
72
|
+
uuid |= (timestamp & ((2**12) - 1)) << 64
|
|
73
|
+
# var
|
|
74
|
+
# > The 2 bit variant field as defined by Section 4.1, set to 0b10.
|
|
75
|
+
# > Occupies bits 64 and 65 of octet 8.
|
|
76
|
+
uuid |= 0b10 << 62
|
|
77
|
+
# clk_seq
|
|
78
|
+
# > The 14 bits containing the clock sequence. Occupies bits 66 through
|
|
79
|
+
# > 79 (octets 8-9).
|
|
80
|
+
#
|
|
81
|
+
# (earlier in the document)
|
|
82
|
+
# > The clock sequence and node bits SHOULD be reset to a pseudo-random
|
|
83
|
+
# > value for each new UUIDv6 generated; however, implementations MAY
|
|
84
|
+
# > choose to retain the old clock sequence and MAC address behavior from
|
|
85
|
+
# > Section 5.1.
|
|
86
|
+
uuid |= rand((2**14) - 1) << 48
|
|
87
|
+
# node
|
|
88
|
+
# > 48 bit spatially unique identifier. Occupies bits 80 through 127
|
|
89
|
+
# > (octets 10-15).
|
|
90
|
+
uuid |= rand((2**48) - 1)
|
|
91
|
+
|
|
92
|
+
as_string(uuid)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# > UUID version 7 features a time-ordered value field derived from the
|
|
96
|
+
# > widely implemented and well known Unix Epoch timestamp source, the
|
|
97
|
+
# > number of milliseconds since midnight 1 Jan 1970 UTC, leap seconds
|
|
98
|
+
# > excluded. UUIDv7 generally has improved entropy characteristics over
|
|
99
|
+
# > UUIDv1 Section 5.1 or UUIDv6 Section 5.6.
|
|
100
|
+
def uuidv7
|
|
101
|
+
timestamp = rand((2**48) - 1)
|
|
102
|
+
|
|
103
|
+
uuid = 0
|
|
104
|
+
# unix_ts_ms
|
|
105
|
+
# > 48 bit big-endian unsigned number of Unix epoch timestamp in
|
|
106
|
+
# > milliseconds as per Section 6.1. Occupies bits 0 through 47 (octets
|
|
107
|
+
# > 0-5).
|
|
108
|
+
uuid |= timestamp << 80
|
|
109
|
+
# ver
|
|
110
|
+
# > The 4 bit version field as defined by Section 4.2, set to 0b0111 (7).
|
|
111
|
+
# > Occupies bits 48 through 51 of octet 6.
|
|
112
|
+
uuid |= 0b0111 << 76
|
|
113
|
+
# rand_a
|
|
114
|
+
# > 12 bits pseudo-random data to provide uniqueness as per Section 6.9
|
|
115
|
+
# > and/or optional constructs to guarantee additional monotonicity as
|
|
116
|
+
# > per Section 6.2. Occupies bits 52 through 63 (octets 6-7).
|
|
117
|
+
uuid |= rand((2**12) - 1) << 64
|
|
118
|
+
# var
|
|
119
|
+
# > The 2 bit variant field as defined by Section 4.1, set to 0b10.
|
|
120
|
+
# > Occupies bits 64 and 65 of octet 8.
|
|
121
|
+
uuid |= 0b10 << 62
|
|
122
|
+
# rand_b
|
|
123
|
+
# > The final 62 bits of pseudo-random data to provide uniqueness as per
|
|
124
|
+
# > Section 6.9 and/or an optional counter to guarantee additional
|
|
125
|
+
# > monotonicity as per Section 6.2. Occupies bits 66 through 127 (octets
|
|
126
|
+
# > 8-15).
|
|
127
|
+
uuid |= rand((2**62) - 1)
|
|
128
|
+
|
|
129
|
+
as_string(uuid)
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
# > UUID version 8 provides an RFC-compatible format for experimental or
|
|
133
|
+
# > vendor-specific use cases. The only requirement is that the variant and
|
|
134
|
+
# > version bits MUST be set as defined in Section 4.1 and Section 4.2.
|
|
135
|
+
# > UUIDv8's uniqueness will be implementation-specific and MUST NOT be
|
|
136
|
+
# > assumed.
|
|
137
|
+
# >
|
|
138
|
+
# > [...] To be clear: UUIDv8 is not a replacement for UUIDv4 Section 5.4
|
|
139
|
+
# > where all 122 extra bits are filled with random data.
|
|
140
|
+
def uuidv8
|
|
141
|
+
uuid = 0
|
|
142
|
+
# custom_a
|
|
143
|
+
# > The first 48 bits of the layout that can be filled as an
|
|
144
|
+
# > implementation sees fit. Occupies bits 0 through 47 (octets 0-5).
|
|
145
|
+
uuid |= rand((2**48) - 1) << 80
|
|
146
|
+
# ver
|
|
147
|
+
# > The 4 bit version field as defined by Section 4.2, set to 0b1000 (8).
|
|
148
|
+
# > Occupies bits 48 through 51 of octet 6.
|
|
149
|
+
uuid |= 0b1000 << 76
|
|
150
|
+
# custom_b
|
|
151
|
+
# > 12 more bits of the layout that can be filled as an implementation
|
|
152
|
+
# > sees fit. Occupies bits 52 through 63 (octets 6-7).
|
|
153
|
+
uuid |= rand((2**12) - 1) << 64
|
|
154
|
+
# var
|
|
155
|
+
# > The 2 bit variant field as defined by Section 4.1, set to 0b10.
|
|
156
|
+
# > Occupies bits 64 and 65 of octet 8.
|
|
157
|
+
uuid |= 0b10 << 62
|
|
158
|
+
# custom_c
|
|
159
|
+
# > The final 62 bits of the layout immediately following the var field
|
|
160
|
+
# > to be filled as an implementation sees fit. Occupies bits 66 through
|
|
161
|
+
# > 127 (octets 8-15).
|
|
162
|
+
uuid |= rand((2**62) - 1)
|
|
163
|
+
|
|
164
|
+
as_string(uuid)
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
private
|
|
168
|
+
|
|
169
|
+
def as_string(uuid)
|
|
170
|
+
uuid.to_s(16)
|
|
171
|
+
.rjust(32, '0')
|
|
172
|
+
.gsub(/(.{8})(.{4})(.{4})(.{4})(.{12})/, '\1-\2-\3-\4-\5')
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
end
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module FFaker
|
|
4
|
+
module Vehicle
|
|
5
|
+
module VIN
|
|
6
|
+
extend ModuleUtils
|
|
7
|
+
extend self
|
|
8
|
+
|
|
9
|
+
# https://en.wikibooks.org/wiki/Vehicle_Identification_Numbers_(VIN_codes)/World_Manufacturer_Identifier_(WMI)
|
|
10
|
+
VALID_WMI_REGIONS = [*'A'..'C', *'J'..'N', 'P', *'R'..'Z', *'1'..'9'].freeze
|
|
11
|
+
|
|
12
|
+
VALID_YEAR_CHARS = %w[
|
|
13
|
+
5 6 7 8 9 A B C D E F G H J K L M N P R S T V W X Y 1 2 3 4 5 6 7 8 9
|
|
14
|
+
].freeze # 2005-2039
|
|
15
|
+
|
|
16
|
+
# https://en.wikibooks.org/wiki/Vehicle_Identification_Numbers_(VIN_codes)/Check_digit
|
|
17
|
+
TRANSLITERATION_VALUES = {
|
|
18
|
+
'A' => 1, 'B' => 2, 'C' => 3, 'D' => 4, 'E' => 5, 'F' => 6, 'G' => 7, 'H' => 8,
|
|
19
|
+
'J' => 1, 'K' => 2, 'L' => 3, 'M' => 4, 'N' => 5, 'P' => 7, 'R' => 9,
|
|
20
|
+
'S' => 2, 'T' => 3, 'U' => 4, 'V' => 5, 'W' => 6, 'X' => 7, 'Y' => 8, 'Z' => 9
|
|
21
|
+
}.freeze
|
|
22
|
+
POSITION_WEIGHTS = [8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2].freeze
|
|
23
|
+
|
|
24
|
+
VALID_ALPHA = TRANSLITERATION_VALUES.keys
|
|
25
|
+
VALID_ALPHANUMERIC = [*VALID_ALPHA, *'1'..'9'].freeze
|
|
26
|
+
|
|
27
|
+
# Generate a VIN that is compliant with specifications of US Title 49 Section 565.15
|
|
28
|
+
# https://www.govinfo.gov/content/pkg/CFR-2019-title49-vol6/xml/CFR-2019-title49-vol6-part565.xml#seqnum565.15
|
|
29
|
+
#
|
|
30
|
+
# Position Meaning
|
|
31
|
+
# 1-3 Manufacturer ID aka WMI (alpha and digits)
|
|
32
|
+
# 4-8 Vehicle Description ("For passenger cars ..[position 7].. shall be alphabetic")
|
|
33
|
+
# 9 Check Digit (0-9 or "X")
|
|
34
|
+
# 10 Year (see VIN_VALID_YEARS)
|
|
35
|
+
# 11 Plant of manufacture (alpha and digits)
|
|
36
|
+
# 12-17 Serial number (digits only)
|
|
37
|
+
#
|
|
38
|
+
# I, O and Q are NOT allowed. VIN_VALID_ALPHA has valid alpha characters.
|
|
39
|
+
def vin
|
|
40
|
+
generated_vin = [
|
|
41
|
+
# Manufacturer ID / WMI
|
|
42
|
+
fetch_sample(VALID_WMI_REGIONS),
|
|
43
|
+
fetch_sample(VALID_ALPHANUMERIC, count: 2),
|
|
44
|
+
# Vehicle Description
|
|
45
|
+
fetch_sample(VALID_ALPHANUMERIC, count: 3),
|
|
46
|
+
fetch_sample(VALID_ALPHA),
|
|
47
|
+
fetch_sample(VALID_ALPHANUMERIC),
|
|
48
|
+
'0', # check digit placeholder
|
|
49
|
+
fetch_sample(VALID_YEAR_CHARS), # Year of Manufacture
|
|
50
|
+
fetch_sample(VALID_ALPHANUMERIC), # Plant ID
|
|
51
|
+
FFaker.numerify('######') # Serial Number
|
|
52
|
+
].join
|
|
53
|
+
|
|
54
|
+
# Calculate the Check Digit
|
|
55
|
+
weighted_sum = generated_vin.chars.each_with_index.sum do |char, idx|
|
|
56
|
+
(TRANSLITERATION_VALUES[char] || char).to_i * POSITION_WEIGHTS[idx]
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
check_digit = weighted_sum % 11
|
|
60
|
+
check_digit = 'X' if check_digit == 10
|
|
61
|
+
generated_vin[8] = check_digit.to_s
|
|
62
|
+
|
|
63
|
+
generated_vin
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
extend ModuleUtils
|
|
68
|
+
extend self
|
|
69
|
+
|
|
70
|
+
DRIVETRAINS = %w[4WD 4X4 AWD FWD RWD].freeze
|
|
71
|
+
YEARS = Array('1900'..(::Time.now.year + 1).to_s).freeze
|
|
72
|
+
TRANSMISSIONS_ABBR = %w[AT MT AM CVT].freeze
|
|
73
|
+
CYLINDERS = %w[2 5 6 8].freeze
|
|
74
|
+
|
|
75
|
+
def base_color
|
|
76
|
+
FFaker::Color.name
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def drivetrain
|
|
80
|
+
fetch_sample(DRIVETRAINS)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def make
|
|
84
|
+
fetch_sample(MAKES_LIST)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def manufacturer_color(count = 2)
|
|
88
|
+
# Take two prefixes because it's more fun than one
|
|
89
|
+
(fetch_sample(COLOR_PREFIXES, count: count) + [base_color]).join(' ')
|
|
90
|
+
end
|
|
91
|
+
alias mfg_color manufacturer_color
|
|
92
|
+
|
|
93
|
+
def model
|
|
94
|
+
fetch_sample(MODELS_LIST)
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def trim
|
|
98
|
+
fetch_sample(TRIMS_LIST)
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
def vin
|
|
102
|
+
VIN.vin
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
def year
|
|
106
|
+
fetch_sample(YEARS)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def transmission
|
|
110
|
+
fetch_sample(TRANSMISSIONS_LIST)
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def transmission_abbr
|
|
114
|
+
fetch_sample(TRANSMISSIONS_ABBR)
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
def engine_cylinders
|
|
118
|
+
fetch_sample(CYLINDERS)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
def engine_displacement
|
|
122
|
+
fetch_sample(DISPLACEMENTS_LIST)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def fuel_type
|
|
126
|
+
fetch_sample(FUEL_TYPES_LIST)
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
def interior_upholstery
|
|
130
|
+
fetch_sample(UPHOLSTERY_LIST)
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module FFaker
|
|
4
|
+
module Youtube
|
|
5
|
+
extend ModuleUtils
|
|
6
|
+
extend self
|
|
7
|
+
|
|
8
|
+
def url
|
|
9
|
+
"www.youtube.com/watch?v=#{video_id}"
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def share_url
|
|
13
|
+
"youtu.be/#{video_id}"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def embed_url
|
|
17
|
+
"www.youtube.com/embed/#{video_id}"
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def video_id
|
|
21
|
+
fetch_sample(VIDEO_IDS)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'ffaker/version'
|
|
4
|
+
require 'pathname'
|
|
5
|
+
|
|
6
|
+
module FFaker
|
|
7
|
+
require_relative 'ffaker/utils/array_utils'
|
|
8
|
+
require_relative 'ffaker/utils/module_utils'
|
|
9
|
+
|
|
10
|
+
extend ModuleUtils
|
|
11
|
+
|
|
12
|
+
BASE_LIB_PATH = File.expand_path(__dir__)
|
|
13
|
+
|
|
14
|
+
LETTERS = Array('a'..'z').freeze
|
|
15
|
+
|
|
16
|
+
HEX = %w[0 1 2 3 4 5 6 7 8 9 A B C D E F].freeze
|
|
17
|
+
|
|
18
|
+
def self.hexify(*masks)
|
|
19
|
+
fetch_sample(masks.flatten).gsub('#') { fetch_sample(HEX) }
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def self.numerify(*masks)
|
|
23
|
+
fetch_sample(masks.flatten).gsub('#') { rand(0..9).to_s }
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.letterify(*masks)
|
|
27
|
+
fetch_sample(masks.flatten).gsub('?') { fetch_sample(LETTERS) }
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def self.bothify(masks)
|
|
31
|
+
letterify(numerify(masks))
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
autoload_acronyms = {
|
|
35
|
+
'ar' => 'AR',
|
|
36
|
+
'au' => 'AU',
|
|
37
|
+
'aws' => 'AWS',
|
|
38
|
+
'br' => 'BR',
|
|
39
|
+
'ca' => 'CA',
|
|
40
|
+
'ch' => 'CH',
|
|
41
|
+
'cl' => 'CL',
|
|
42
|
+
'cn' => 'CN',
|
|
43
|
+
'co' => 'CO',
|
|
44
|
+
'cs' => 'CS',
|
|
45
|
+
'cu' => 'CU',
|
|
46
|
+
'da' => 'DA',
|
|
47
|
+
'de' => 'DE',
|
|
48
|
+
'ec' => 'EC',
|
|
49
|
+
'en' => 'EN',
|
|
50
|
+
'es' => 'ES',
|
|
51
|
+
'fi' => 'FI',
|
|
52
|
+
'fr' => 'FR',
|
|
53
|
+
'ga' => 'GA',
|
|
54
|
+
'gr' => 'GR',
|
|
55
|
+
'html' => 'HTML',
|
|
56
|
+
'id' => 'ID',
|
|
57
|
+
'ie' => 'IE',
|
|
58
|
+
'in' => 'IN',
|
|
59
|
+
'it' => 'IT',
|
|
60
|
+
'ja' => 'JA',
|
|
61
|
+
'jp' => 'JP',
|
|
62
|
+
'kh' => 'KH',
|
|
63
|
+
'kr' => 'KR',
|
|
64
|
+
'mx' => 'MX',
|
|
65
|
+
'nb' => 'NB',
|
|
66
|
+
'nl' => 'NL',
|
|
67
|
+
'ph' => 'PH',
|
|
68
|
+
'pl' => 'PL',
|
|
69
|
+
'ru' => 'RU',
|
|
70
|
+
'se' => 'SE',
|
|
71
|
+
'sg' => 'SG',
|
|
72
|
+
'sn' => 'SN',
|
|
73
|
+
'ssn' => 'SSN',
|
|
74
|
+
'th' => 'TH',
|
|
75
|
+
'tw' => 'TW',
|
|
76
|
+
'ua' => 'UA',
|
|
77
|
+
'uk' => 'UK',
|
|
78
|
+
'us' => 'US',
|
|
79
|
+
'uuid' => 'UUID',
|
|
80
|
+
'vn' => 'VN'
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
directory = "#{__dir__}/ffaker"
|
|
84
|
+
Dir["#{directory}/*.rb"].each do |file_name|
|
|
85
|
+
relative_file_path = Pathname.new(file_name).relative_path_from(directory).to_s.chomp('.rb')
|
|
86
|
+
## Don't consider files in sub-directories
|
|
87
|
+
constant_name = relative_file_path.split('_').map do |part|
|
|
88
|
+
autoload_acronyms.fetch(part) { part.capitalize }
|
|
89
|
+
end.join
|
|
90
|
+
autoload constant_name, file_name
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# Random Number Generator (RNG) used with ModuleUtils#fetch, #shuffle, #rand
|
|
94
|
+
# in order to provide deterministic repeatability.
|
|
95
|
+
module Random
|
|
96
|
+
# Returns the current RNG seed.
|
|
97
|
+
def self.seed
|
|
98
|
+
@seed ||= ::Random.new_seed
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# Sets the RNG seed and creates a new internal RNG.
|
|
102
|
+
def self.seed=(new_seed)
|
|
103
|
+
@seed = new_seed
|
|
104
|
+
reset!
|
|
105
|
+
new_seed
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
# Reset the RNG back to its initial state.
|
|
109
|
+
def self.reset!
|
|
110
|
+
@rng = new_rng
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# Returns a random number using an RNG with a known seed.
|
|
114
|
+
def self.rand(max = nil)
|
|
115
|
+
return rng.rand(max) if max
|
|
116
|
+
|
|
117
|
+
rng.rand
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
# Returns the current Random object.
|
|
121
|
+
def self.rng
|
|
122
|
+
@rng ||= new_rng
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# Returns a new Random object instantiated with #seed.
|
|
126
|
+
def self.new_rng
|
|
127
|
+
::Random.new(seed)
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
end
|