From 7ed3db7ebc9a938174582e5efe71951cec6e5ee0 Mon Sep 17 00:00:00 2001 From: Stefanni Brasil Date: Fri, 28 Nov 2025 18:33:05 -0700 Subject: [PATCH 01/10] Reorganize README and categorize generators by use case Our README currently displays all the generators in collapsible lists, organized by their namespaces. This makes it harder to find which generators to use based on what I need. This commit: - shortens the README with links to appropriate docs, and highlights the features we provide - categorizes generators by use cases, for example: Finance, Person, Number, Location, Date, etc. I used faker-js as a reference. - creates a new generators doc listing all the generators by categories and namespaces --- GENERATORS.md | 559 ++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 461 +++++++---------------------------------- 2 files changed, 632 insertions(+), 388 deletions(-) create mode 100644 GENERATORS.md diff --git a/GENERATORS.md b/GENERATORS.md new file mode 100644 index 0000000000..b184498a21 --- /dev/null +++ b/GENERATORS.md @@ -0,0 +1,559 @@ +# Generators + +This is the full list of generators available, organized by most popular [use cases](#by-use-case) and by their comprehensive [list](#all-generators). + +> [!TIP] +> If you run into any issues with a generator not being available, see [A note about the Generators versions](#a-note-about-the-generators-versions). + +## By Use Case + +### Internet + +Generate Email addresses, Passwords, Domains, etc. + +- [Faker::App](doc/default/app.md) +- [Faker::Boolean](doc/default/boolean.md) +- [Faker::Color](doc/default/color.md) +- [Faker::Computer](doc/default/computer.md) +- [Faker::Device](doc/default/device.md) +- [Faker::Esport](doc/default/esport.md) +- [Faker::File](doc/default/file.md) +- [Faker::Json](doc/default/json.md) +- [Faker::Hacker](doc/default/hacker.md) +- [Faker::Internet](doc/default/internet.md) +- [Faker::Markdown](doc/default/markdown.md) +- [Faker::ProgrammingLanguage](doc/default/programming_language.md) +- [Faker::Omniauth](doc/default/omniauth.md) +- [Faker::SlackEmoji](doc/default/slack_emoji.md) +- [Faker::Source](doc/default/source.md) +- [Faker::Types](doc/default/types.md) +- [Faker::VulnerabilityIdentifier](doc/default/vulnerability_identifier.md) +- [Faker::X](doc/default/x.md) + +### Date and Time + +Travel back in time or to future. + +- [Faker::Date](doc/default/date.md) +- [Faker::Time](doc/default/time.md) + + +### Person + +Generate Names, Genders, Bios, Job titles, and more. + +- [Faker::Artist](doc/default/artist.md) +- [Faker::Blood](doc/default/blood.md) +- [Faker::Demographic](doc/default/demographic.md) +- [Faker::DrivingLicence](doc/default/driving_licence.md) +- [Faker::Educator](doc/default/educator.md) +- [Faker::FunnyName](doc/default/funny_name.md) +- [Faker::Gender](doc/default/gender.md) +- [Faker::Hacker](doc/default/hacker.md) +- [Faker::Hobby](doc/default/hobby.md) +- [Faker::Job](doc/default/job.md) +- [Faker::Military](doc/default/military.md) +- [Faker::Name](doc/default/name.md) +- [Faker::NationalHealthService](doc/default/national_health_service.md) +- [Faker::Nation](doc/default/nation.md) +- [Faker::Relationship](doc/default/relationship.md) +- [Faker::University](doc/default/university.md) + +### Number and String + +Generate random numbers and strings. + +- [Faker::Alphanumeric](doc/default/alphanumeric.md) +- [Faker::Barcode](doc/default/barcode.md) +- [Faker::Code](doc/default/code.md) +- [Faker::DrivingLicence](doc/default/driving_licence.md) +- [Faker::Emotion](doc/default/emotion.md) +- [Faker::IdNumber](doc/default/id_number.md) +- [Faker::Lorem](doc/default/lorem.md) +- [Faker::Number](doc/default/number.md) +- [Faker::PhoneNumber](doc/default/phone_number.md) +- [Faker::SouthAfrica](doc/default/south_africa.md) +- [Faker::String](doc/default/string.md) +- [Faker::Verbs](doc/default/verbs.md) + +### Location + +Generate Addresses, Zip Codes, Street Names, States, and Countries. + +- [Faker::Address](doc/default/address.md) +- [Faker::Compass](doc/default/compass.md) +- [Faker::Locations::Australia](doc/locations/australia.md) +- [Faker::Nation](doc/default/nation.md) +- [Faker::University](doc/default/university.md) +- [Faker:Travel::Airport](doc/travel/airport.md) +- [Faker:Travel::TrainStation](doc/travel/train_station.md) + +### Finance + +Create Account Details, Transactions, and Crypto Addresses. + +- [Faker::Bank](doc/default/bank.md) +- [Faker::Blockchain::Aeternity](doc/blockchain/aeternity.md) +- [Faker::Blockchain::Bitcoin](doc/blockchain/bitcoin.md) +- [Faker::Blockchain::Ethereum](doc/blockchain/ethereum.md) +- [Faker::Blockchain::Tezos](doc/blockchain/tezos.md) +- [Faker::Business](doc/default/business.md) +- [Faker::Coin](doc/default/coin.md) +- [Faker::Company](doc/default/company.md) +- [Faker::Commerce](doc/default/commerce.md) +- [Faker::CryptoCoin](doc/default/crypto_coin.md) +- [Faker::Currency](doc/default/currency.md) +- [Faker::Finance](doc/default/finance.md) +- [Faker::IdNumber](doc/default/id_number.md) +- [Faker::Invoice](doc/default/invoice.md) +- [Faker::Stripe](doc/default/stripe.md) + +### Image + +Generate avatars with lots of customization. + +- [Faker::Avatar](doc/default/avatar.md) +- [Faker::Camera](doc/default/camera.md) +- [Faker::LoremFlickr](doc/default/lorem_flickr.md) +- [Faker::Placeholdit](doc/default/placeholdit.md) + +### Food + +Generate coffee, beer, tea and other entries. + +- [Faker::Beer](doc/default/beer.md) +- [Faker::Cannabis](doc/default/cannabis.md) +- [Faker::Coffee](doc/default/coffee.md) +- [Faker::Dessert](doc/default/dessert.md) +- [Faker::Food](doc/default/food.md) +- [Faker::Restaurant](doc/default/restaurant.md) +- [Faker::Tea](doc/default/tea.md) + +### Animal + +Generate breeds, names, sizes, etc. + +- [Faker::Creature::Animal](doc/creature/animal.md) +- [Faker::Creature::Bird](doc/creature/bird.md) +- [Faker::Creature::Cat](doc/creature/cat.md) +- [Faker::Creature::Dog](doc/creature/dog.md) +- [Faker::Creature::Horse](doc/creature/horse.md) + +### Arts and Media + +Generate entries for artistic needs, from TV Shows to Japanese Media. + +- [Faker::DcComics](doc/default/dc_comics.md) +- [Faker::Superhero](doc/default/superhero.md) +- [Faker::Theater](doc/default/theater.md) + +#### Movies + +Generate movies titles, quotes, characters, etc. + +- [Faker::ChuckNorris](doc/default/chuck_norris.md) +- [Faker::Movie](doc/movies/movie.md) +- [Faker::Movies::Avatar](doc/movies/avatar.md) +- [Faker::Movies::BackToTheFuture](doc/movies/back_to_the_future.md) +- [Faker::Movies::Departed](doc/movies/departed.md) +- [Faker::Movies::Ghostbusters](doc/movies/ghostbusters.md) +- [Faker::Movies::HarryPotter](doc/movies/harry_potter.md) +- [Faker::Movies::HitchhikersGuideToTheGalaxy](doc/movies/hitchhikers_guide_to_the_galaxy.md) +- [Faker::Movies::Hobbit](doc/movies/hobbit.md) +- [Faker::Movies::HowToTrainYourDragon](doc/movies/how_to_train_your_dragon.md) +- [Faker::Movies::Lebowski](doc/movies/lebowski.md) +- [Faker::Movies::LordOfTheRings](doc/movies/lord_of_the_rings.md) +- [Faker::Movies::PrincessBride](doc/movies/princess_bride.md) +- [Faker::Movies::StarWars](doc/movies/star_wars.md) +- [Faker::Movies::TRON](doc/movies/tron.md) +- [Faker::Movies::VForVendetta](doc/movies/v_for_vendetta.md) + +#### Music + +Generate genres, artists, song names, etc. + +- [Faker::Kpop](doc/default/kpop.md) +- [Faker::Music](doc/music/music.md) +- [Faker::Music::BossaNova](doc/music/bossa_nova.md) +- [Faker::Music::GratefulDead](doc/music/grateful_dead.md) +- [Faker::Music::Hiphop](doc/music/hiphop.md) +- [Faker::Music::Opera](doc/music/opera.md) +- [Faker::Music::PearlJam](doc/music/pearl_jam.md) +- [Faker::Music::Phish](doc/music/phish.md) +- [Faker::Music::Prince](doc/music/prince.md) +- [Faker::Music::RockBand](doc/music/rock_band.md) +- [Faker::Music::Rush](doc/music/rush.md) +- [Faker::Music::SmashingPumpkins](doc/music/smashing_pumpkins.md) +- [Faker::Music::UmphreysMcgee](doc/music/umphreys_mcgee.md) + +#### Books + +Generate genres, titles, authors, etc. + +- [Faker::Book](doc/books/book.md) +- [Faker::Books::CultureSeries](doc/books/culture_series.md) +- [Faker::Books::Dune](doc/books/dune.md) +- [Faker::Books::Lovecraft](doc/books/lovecraft.md) +- [Faker::Books::TheKingkillerChronicle](doc/books/the_kingkiller_chronicle.md) +- [Faker::Fantasy::Tolkien](doc/fantasy/tolkien.md) + +#### TV Shows + +Generate titles, characters, quotes and more from a variety of TV Shows. + +- [Faker::TvShows::AquaTeenHungerForce](doc/tv_shows/aqua_teen_hunger_force.md) +- [Faker::TvShows::Archer](doc/tv_shows/archer.md) +- [Faker::TvShows::BigBangTheory](doc/tv_shows/big_bang_theory.md) +- [Faker::TvShows::BojackHorseman](doc/tv_shows/bojack_horseman.md) +- [Faker::TvShows::BreakingBad](doc/tv_shows/breaking_bad.md) +- [Faker::TvShows::BrooklynNineNine](doc/tv_shows/brooklyn_nine_nine.md) +- [Faker::TvShows::Buffy](doc/tv_shows/buffy.md) +- [Faker::TvShows::Community](doc/tv_shows/community.md) +- [Faker::TvShows::DrWho](doc/tv_shows/dr_who.md) +- [Faker::TvShows::DumbAndDumber](doc/tv_shows/dumb_and_dumber.md) +- [Faker::TvShows::FamilyGuy](doc/tv_shows/family_guy.md) +- [Faker::TvShows::FinalSpace](doc/tv_shows/final_space.md) +- [Faker::TvShows::Friends](doc/tv_shows/friends.md) +- [Faker::TvShows::GameOfThrones](doc/tv_shows/game_of_thrones.md) +- [Faker::TvShows::HeyArnold](doc/tv_shows/hey_arnold.md) +- [Faker::TvShows::HowIMetYourMother](doc/tv_shows/how_i_met_your_mother.md) +- [Faker::TvShows::MichaelScott](doc/tv_shows/michael_scott.md) +- [Faker::TvShows::NewGirl](doc/tv_shows/new_girl.md) +- [Faker::TvShows::ParksAndRec](doc/tv_shows/parks_and_rec.md) +- [Faker::TvShows::RickAndMorty](doc/tv_shows/rick_and_morty.md) +- [Faker::TvShows::RuPaul](doc/tv_shows/rupaul.md) +- [Faker::TvShows::Seinfeld](doc/tv_shows/seinfeld.md) +- [Faker::TvShows::SiliconValley](doc/tv_shows/silicon_valley.md) +- [Faker::TvShows::Simpsons](doc/tv_shows/simpsons.md) +- [Faker::TvShows::SouthPark](doc/tv_shows/south_park.md) +- [Faker::TvShows::Spongebob](doc/tv_shows/spongebob.md) +- [Faker::TvShows::StarTrek](doc/tv_shows/star_trek.md) +- [Faker::TvShows::Stargate](doc/tv_shows/stargate.md) +- [Faker::TvShows::StrangerThings](doc/tv_shows/stranger_things.md) +- [Faker::TvShows::Suits](doc/tv_shows/suits.md) +- [Faker::TvShows::Supernatural](doc/tv_shows/supernatural.md) +- [Faker::TvShows::TheExpanse](doc/tv_shows/the_expanse.md) +- [Faker::TvShows::TheFreshPrinceOfBelAir](doc/tv_shows/the_fresh_prince_of_bel_air.md) +- [Faker::TvShows::TheITCrowd](doc/tv_shows/the_it_crowd.md) +- [Faker::TvShows::TheThickOfIt](doc/tv_shows/the_thick_of_it.md) +- [Faker::TvShows::TwinPeaks](doc/tv_shows/twin_peaks.md) +- [Faker::TvShows::VentureBros](doc/tv_shows/venture_bros.md) + +## All generators + +Want to see a compreheensive list of all generators? Expand the sections below to find **all** the available generators, categorized by their namespaces. + +
+ Default + + - [Faker::Address](doc/default/address.md) + - [Faker::Alphanumeric](doc/default/alphanumeric.md) + - [Faker::Ancient](doc/default/ancient.md) + - [Faker::App](doc/default/app.md) + - [Faker::Appliance](doc/default/appliance.md) + - [Faker::Artist](doc/default/artist.md) + - [Faker::Avatar](doc/default/avatar.md) + - [Faker::Bank](doc/default/bank.md) + - [Faker::Barcode](doc/default/barcode.md) + - [Faker::Beer](doc/default/beer.md) + - [Faker::Blood](doc/default/blood.md) + - [Faker::Boolean](doc/default/boolean.md) + - [Faker::Business](doc/default/business.md) + - [Faker::Camera](doc/default/camera.md) + - [Faker::Cannabis](doc/default/cannabis.md) + - [Faker::ChileRut](doc/default/chile_rut.md) + - [Faker::ChuckNorris](doc/default/chuck_norris.md) + - [Faker::Code](doc/default/code.md) + - [Faker::Coffee](doc/default/coffee.md) + - [Faker::Coin](doc/default/coin.md) + - [Faker::Color](doc/default/color.md) + - [Faker::Commerce](doc/default/commerce.md) + - [Faker::Company](doc/default/company.md) + - [Faker::Compass](doc/default/compass.md) + - [Faker::Computer](doc/default/computer.md) + - [Faker::Construction](doc/default/construction.md) + - [Faker::Cosmere](doc/default/cosmere.md) + - [Faker::Crypto](doc/default/crypto.md) + - [Faker::CryptoCoin](doc/default/crypto_coin.md) + - [Faker::Currency](doc/default/currency.md) + - [Faker::Date](doc/default/date.md) + - [Faker::DcComics](doc/default/dc_comics.md) + - [Faker::Demographic](doc/default/demographic.md) + - [Faker::Dessert](doc/default/dessert.md) + - [Faker::Device](doc/default/device.md) + - [Faker::DrivingLicence](doc/default/driving_licence.md) + - [Faker::Drone](doc/drone/drone.md) + - [Faker::Educator](doc/default/educator.md) + - [Faker::ElectricalComponents](doc/default/electrical_components.md) + - [Faker::Emotion](doc/default/emotion.md) + - [Faker::Esport](doc/default/esport.md) + - [Faker::File](doc/default/file.md) + - [Faker::Finance](doc/default/finance.md) + - [Faker::Food](doc/default/food.md) + - [Faker::FunnyName](doc/default/funny_name.md) + - [Faker::Gender](doc/default/gender.md) + - [Faker::GreekPhilosophers](doc/default/greek_philosophers.md) + - [Faker::Hacker](doc/default/hacker.md) + - [Faker::Hipster](doc/default/hipster.md) + - [Faker::Hobby](doc/default/hobby.md) + - [Faker::House](doc/default/house.md) + - [Faker::IdNumber](doc/default/id_number.md) + - [Faker::IndustrySegments](doc/default/industry_segments.md) + - [Faker::Internet](doc/default/internet.md) + - [Faker::Invoice](doc/default/invoice.md) + - [Faker::Job](doc/default/job.md) + - [Faker::Json](doc/default/json.md) + - [Faker::Kpop](doc/default/kpop.md) + - [Faker::Lorem](doc/default/lorem.md) + - [Faker::LoremFlickr](doc/default/lorem_flickr.md) + - [Faker::Markdown](doc/default/markdown.md) + - [Faker::Marketing](doc/default/marketing.md) + - [Faker::Measurement](doc/default/measurement.md) + - [Faker::Military](doc/default/military.md) + - [Faker::Mountain](doc/default/mountain.md) + - [Faker::Name](doc/default/name.md) + - [Faker::Nation](doc/default/nation.md) + - [Faker::NatoPhoneticAlphabet](doc/default/nato_phonetic_alphabet.md) + - [Faker::NationalHealthService](doc/default/national_health_service.md) + - [Faker::Number](doc/default/number.md) + - [Faker::Omniauth](doc/default/omniauth.md) + - [Faker::PhoneNumber](doc/default/phone_number.md) + - [Faker::Placeholdit](doc/default/placeholdit.md) + - [Faker::ProgrammingLanguage](doc/default/programming_language.md) + - [Faker::Relationship](doc/default/relationship.md) + - [Faker::Restaurant](doc/default/restaurant.md) + - [Faker::Science](doc/default/science.md) + - [Faker::SlackEmoji](doc/default/slack_emoji.md) + - [Faker::Source](doc/default/source.md) + - [Faker::SouthAfrica](doc/default/south_africa.md) + - [Faker::Space](doc/default/space.md) + - [Faker::String](doc/default/string.md) + - [Faker::Stripe](doc/default/stripe.md) + - [Faker::Subscription](doc/default/subscription.md) + - [Faker::Superhero](doc/default/superhero.md) + - [Faker::Tea](doc/default/tea.md) + - [Faker::Team](doc/default/team.md) + - [Faker::Theater](doc/default/theater.md) + - [Faker::Time](doc/default/time.md) + - [Faker::Types](doc/default/types.md) + - [Faker::University](doc/default/university.md) + - [Faker::Vehicle](doc/default/vehicle.md) + - [Faker::Verbs](doc/default/verbs.md) + - [Faker::VulnerabilityIdentifier](doc/default/vulnerability_identifier.md) + - [Faker::WorldCup](doc/default/world_cup.md) + - [Faker::X](doc/default/x.md) +
+ +
+ Blockchain + + - [Faker::Blockchain::Aeternity](doc/blockchain/aeternity.md) + - [Faker::Blockchain::Bitcoin](doc/blockchain/bitcoin.md) + - [Faker::Blockchain::Ethereum](doc/blockchain/ethereum.md) + - [Faker::Blockchain::Tezos](doc/blockchain/tezos.md) +
+ +
+ Books + + - [Faker::Book](doc/books/book.md) + - [Faker::Books::CultureSeries](doc/books/culture_series.md) + - [Faker::Books::Dune](doc/books/dune.md) + - [Faker::Books::Lovecraft](doc/books/lovecraft.md) + - [Faker::Books::TheKingkillerChronicle](doc/books/the_kingkiller_chronicle.md) +
+ +
+ Fantasy + + - [Faker::Fantasy::Tolkien](doc/fantasy/tolkien.md) +
+ +
+ Travel + + - [Faker:Travel::Airport](doc/travel/airport.md) + - [Faker:Travel::TrainStation](doc/travel/train_station.md) +
+ +
+ Creature + + - [Faker::Creature::Animal](doc/creature/animal.md) + - [Faker::Creature::Bird](doc/creature/bird.md) + - [Faker::Creature::Cat](doc/creature/cat.md) + - [Faker::Creature::Dog](doc/creature/dog.md) + - [Faker::Creature::Horse](doc/creature/horse.md) +
+ +
+ Games + + - [Faker::Game](doc/games/game.md) + - [Faker::Games::ClashOfClans](doc/games/clash_of_clans.md) + - [Faker::Games::DnD](doc/games/dnd.md) + - [Faker::Games::Dota](doc/games/dota.md) + - [Faker::Games::ElderScrolls](doc/games/elder_scrolls.md) + - [Faker::Games::Fallout](doc/games/fallout.md) + - [Faker::Games::FinalFantasyXIV](doc/games/final_fantasy_xiv.md) + - [Faker::Games::HalfLife](doc/games/half_life.md) + - [Faker::Games::Heroes](doc/games/heroes.md) + - [Faker::Games::HeroesOfTheStorm](doc/games/heroes_of_the_storm.md) + - [Faker::Games::LeagueOfLegends](doc/games/league_of_legends.md) + - [Faker::Games::Minecraft](doc/games/minecraft.md) + - [Faker::Games::Myst](doc/games/myst.md) + - [Faker::Games::Overwatch](doc/games/overwatch.md) + - [Faker::Games::Pokemon](doc/games/pokemon.md) + - [Faker::Games::SonicTheHedgehog](doc/games/sonic_the_hedgehog.md) + - [Faker::Games::StreetFighter](doc/games/street_fighter.md) + - [Faker::Games::SuperMario](doc/games/super_mario.md) + - [Faker::Games::SuperSmashBros](doc/games/super_smash_bros.md) + - [Faker::Games::Touhou](doc/games/touhou.md) + - [Faker::Games::WarhammerFantasy](doc/games/warhammer_fantasy.md) + - [Faker::Games::Witcher](doc/games/witcher.md) + - [Faker::Games::WorldOfWarcraft](doc/games/world_of_warcraft.md) + - [Faker::Games::Zelda](doc/games/zelda.md) +
+ +
+ Japanese Media + + - [Faker::JapaneseMedia::CowboyBebop](doc/japanese_media/cowboy_bebop.md) + - [Faker::JapaneseMedia::DragonBall](doc/japanese_media/dragon_ball.md) + - [Faker::JapaneseMedia::OnePiece](doc/japanese_media/one_piece.md) + - [Faker::JapaneseMedia::StudioGhibli](doc/japanese_media/studio_ghibli.md) + - [Faker::JapaneseMedia::SwordArtOnline](doc/japanese_media/sword_art_online.md) + - [Faker::JapaneseMedia::Naruto](doc/japanese_media/naruto.md) + - [Faker::JapaneseMedia::Doraemon](doc/japanese_media/doraemon.md) + - [Faker::JapaneseMedia::Conan](doc/japanese_media/conan.md) + - [Faker::JapaneseMedia::FullmetalAlchemistBrotherhood](doc/japanese_media/fullmetal_alchemist_brotherhood.md) +
+ +
+ Movies + + - [Faker::Movie](doc/movies/movie.md) + - [Faker::Movies::Avatar](doc/movies/avatar.md) + - [Faker::Movies::BackToTheFuture](doc/movies/back_to_the_future.md) + - [Faker::Movies::Departed](doc/movies/departed.md) + - [Faker::Movies::Ghostbusters](doc/movies/ghostbusters.md) + - [Faker::Movies::HarryPotter](doc/movies/harry_potter.md) + - [Faker::Movies::HitchhikersGuideToTheGalaxy](doc/movies/hitchhikers_guide_to_the_galaxy.md) + - [Faker::Movies::Hobbit](doc/movies/hobbit.md) + - [Faker::Movies::HowToTrainYourDragon](doc/movies/how_to_train_your_dragon.md) + - [Faker::Movies::Lebowski](doc/movies/lebowski.md) + - [Faker::Movies::LordOfTheRings](doc/movies/lord_of_the_rings.md) + - [Faker::Movies::PrincessBride](doc/movies/princess_bride.md) + - [Faker::Movies::StarWars](doc/movies/star_wars.md) + - [Faker::Movies::TRON](doc/movies/tron.md) + - [Faker::Movies::VForVendetta](doc/movies/v_for_vendetta.md) +
+ +
+ Music + + - [Faker::Music](doc/music/music.md) + - [Faker::Music::GratefulDead](doc/music/grateful_dead.md) + - [Faker::Music::Hiphop](doc/music/hiphop.md) + - [Faker::Music::Opera](doc/music/opera.md) + - [Faker::Music::PearlJam](doc/music/pearl_jam.md) + - [Faker::Music::Phish](doc/music/phish.md) + - [Faker::Music::Prince](doc/music/prince.md) + - [Faker::Music::RockBand](doc/music/rock_band.md) + - [Faker::Music::Rush](doc/music/rush.md) + - [Faker::Music::SmashingPumpkins](doc/music/smashing_pumpkins.md) + - [Faker::Music::UmphreysMcgee](doc/music/umphreys_mcgee.md) + - [Faker::Music::BossaNova](doc/music/bossa_nova.md) +
+ +
+ Quotes + + - [Faker::Quote](doc/quotes/quote.md) + - [Faker::Quotes::Chiquito](doc/quotes/chiquito.md) + - [Faker::Quotes::Rajnikanth](doc/quotes/rajnikanth.md) + - [Faker::Quotes::Shakespeare](doc/quotes/shakespeare.md) +
+ +
+ Sports + + - [Faker::Sport](doc/sports/sport.md) + - [Faker::Sports::Basketball](doc/sports/basketball.md) + - [Faker::Sports::Chess](doc/sports/chess.md) + - [Faker::Sports::Football](doc/sports/football.md) + - [Faker::Sports::Mountaineering](doc/sports/mountaineering.md) + - [Faker::Sports::Volleyball](doc/sports/volleyball.md) +
+ +
+ Tv Shows + + - [Faker::TvShows::AquaTeenHungerForce](doc/tv_shows/aqua_teen_hunger_force.md) + - [Faker::TvShows::Archer](doc/tv_shows/archer.md) + - [Faker::TvShows::BigBangTheory](doc/tv_shows/big_bang_theory.md) + - [Faker::TvShows::BojackHorseman](doc/tv_shows/bojack_horseman.md) + - [Faker::TvShows::BreakingBad](doc/tv_shows/breaking_bad.md) + - [Faker::TvShows::BrooklynNineNine](doc/tv_shows/brooklyn_nine_nine.md) + - [Faker::TvShows::Buffy](doc/tv_shows/buffy.md) + - [Faker::TvShows::Community](doc/tv_shows/community.md) + - [Faker::TvShows::DrWho](doc/tv_shows/dr_who.md) + - [Faker::TvShows::DumbAndDumber](doc/tv_shows/dumb_and_dumber.md) + - [Faker::TvShows::FamilyGuy](doc/tv_shows/family_guy.md) + - [Faker::TvShows::FinalSpace](doc/tv_shows/final_space.md) + - [Faker::TvShows::Friends](doc/tv_shows/friends.md) + - [Faker::TvShows::GameOfThrones](doc/tv_shows/game_of_thrones.md) + - [Faker::TvShows::HeyArnold](doc/tv_shows/hey_arnold.md) + - [Faker::TvShows::HowIMetYourMother](doc/tv_shows/how_i_met_your_mother.md) + - [Faker::TvShows::MichaelScott](doc/tv_shows/michael_scott.md) + - [Faker::TvShows::NewGirl](doc/tv_shows/new_girl.md) + - [Faker::TvShows::ParksAndRec](doc/tv_shows/parks_and_rec.md) + - [Faker::TvShows::RickAndMorty](doc/tv_shows/rick_and_morty.md) + - [Faker::TvShows::RuPaul](doc/tv_shows/rupaul.md) + - [Faker::TvShows::Seinfeld](doc/tv_shows/seinfeld.md) + - [Faker::TvShows::SiliconValley](doc/tv_shows/silicon_valley.md) + - [Faker::TvShows::Simpsons](doc/tv_shows/simpsons.md) + - [Faker::TvShows::SouthPark](doc/tv_shows/south_park.md) + - [Faker::TvShows::Spongebob](doc/tv_shows/spongebob.md) + - [Faker::TvShows::StarTrek](doc/tv_shows/star_trek.md) + - [Faker::TvShows::Stargate](doc/tv_shows/stargate.md) + - [Faker::TvShows::StrangerThings](doc/tv_shows/stranger_things.md) + - [Faker::TvShows::Suits](doc/tv_shows/suits.md) + - [Faker::TvShows::Supernatural](doc/tv_shows/supernatural.md) + - [Faker::TvShows::TheExpanse](doc/tv_shows/the_expanse.md) + - [Faker::TvShows::TheFreshPrinceOfBelAir](doc/tv_shows/the_fresh_prince_of_bel_air.md) + - [Faker::TvShows::TheITCrowd](doc/tv_shows/the_it_crowd.md) + - [Faker::TvShows::TheThickOfIt](doc/tv_shows/the_thick_of_it.md) + - [Faker::TvShows::TwinPeaks](doc/tv_shows/twin_peaks.md) + - [Faker::TvShows::VentureBros](doc/tv_shows/venture_bros.md) +
+ +
+ Locations + + - [Faker::Locations::Australia](doc/locations/australia.md) +
+ +### A note about the Generators versions + +If you get a `uninitialized constant Faker::[some_class]` error, your version of +the gem is behind main. + +To make sure that your gem is the one +documented here, change the line in your Gemfile to: + +```ruby +gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'main' +``` + +The generators have the `@faker.version` tag on top of their implementation. +From the tags, you can identify the version the generator was added: + +```ruby +# Faker::TvShows::ParksAndRec.character + +# @faker.version 1.9.0 +def character + fetch('parks_and_rec.characters') +end +``` diff --git a/README.md b/README.md index 929ca184cd..dac01b5917 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,17 @@ -![logotype a happy-07](https://user-images.githubusercontent.com/36028424/40263395-4318481e-5b44-11e8-92e5-3dcc1ce169b3.png) +# Faker [![Gem Version][version-badge]][rubygems] [![Build Status][github-actions-badge]][github-actions] [![Total Downloads][downloads-total]][rubygems] [![Downloads][downloads-badge]][rubygems] -# Faker -[![Tests](https://github.com/faker-ruby/faker/workflows/Tests/badge.svg)](https://github.com/faker-ruby/faker/actions?query=workflow%3ATests) -[![Gem Version](https://badge.fury.io/rb/faker.svg)](https://badge.fury.io/rb/faker) -[![Inline docs](https://inch-ci.org/github/faker-ruby/faker.svg?branch=main)](https://inch-ci.org/github/faker-ruby/faker) +
+ +

Generate (almost) realistic fake data for testing, demos, and populating your database during development.

+
-Faker is a port of [Perl's Data::Faker library](https://metacpan.org/pod/Data::Faker). -It's a library for generating fake data such as names, addresses, and phone numbers. - -Faker helps you generate realistic test data, and populate your -database with more than a couple of records while you're doing development. - -It comes in very handy for taking screenshots (taking screenshots for a personal project) -and it was the original impetus for the creation of this gem. +[version-badge]: https://img.shields.io/gem/v/faker.svg +[rubygems]: https://rubygems.org/gems/faker +[github-actions-badge]: https://img.shields.io/github/actions/workflow/status/faker-ruby/faker/.github/workflows/ruby.yml?branch=main +[github-actions]: https://github.com/faker-ruby/faker/actions +[downloads-total]: https://img.shields.io/gem/dt/faker.svg +[downloads-badge]: https://img.shields.io/gem/dtv/faker.svg +[downloads-badge]: https://img.shields.io/gem/dtv/faker.svg ## Quick links @@ -22,41 +21,19 @@ and it was the original impetus for the creation of this gem. [rubydocs]: https://www.rubydoc.info/gems/faker/ [changelog]: CHANGELOG.md -## In the media +## Features -- 📰 [With Great Humor Comes Great Developer Engagement] - KTH Royal Institute of Technology research -- 🎧 [Computer und Kommunikation 4.5.2024, komplette Sendung] - Deutschland Funk Radio Interview +- Internet: Generate Email addresses, Passwords, Domains, etc. +- Date and Time: Travel back in time or to the future. +- Person: Generate Names, Genders, Bios, Job titles, and more. +- Number and String: Generate random numbers and strings. +- Location: Generate Addresses, Zip Codes, Street Names, States, and Countries. +- Finance: Create Account Details, Transactions, and Crypto Addresses. +- Localization - Pick from over 40 locales to generate realistic looking Names, Addresses, and Phone Numbers. -[With Great Humor Comes Great Developer Engagement]: https://arxiv.org/pdf/2312.01680 -[Computer und Kommunikation 4.5.2024, komplette Sendung]: https://www.deutschlandfunk.de/computer-und-kommunikation-4-5-2024-komplette-sendung-dlf-16492b03-100.html +> [!IMPORTANT] The generated names, addresses, emails, phone numbers, and/or other data might be coincidentally valid information. Please be careful when using faker for testing. -## Table of Contents - -- [Faker](#faker) - - [Quick links](#quick-links) - - [In the media](#in-the-media) - - [Table of Contents](#table-of-contents) - - [Notes](#notes) - - [Getting Started](#getting-started) - - [Usage](#usage) - - [A note about the Generators versions](#a-note-about-the-generators-versions) - - [Ensuring unique values](#ensuring-unique-values) - - [Deterministic Random](#deterministic-random) - - [Customization](#customization) - - [Minitest and Faker \>= 2.22](#minitest-and-faker--222) - - [Generators](#generators) - - [Contributing](#contributing) - - [Versioning](#versioning) - - [License](#license) - -### Notes - -* While Faker generates data at random, returned values are not guaranteed to be unique by default. - To explicitly specify when you require unique values, see [Ensuring Unique Values](#ensuring-unique-values). - Values also can be deterministic if you use the deterministic feature, see [Deterministic Random](#deterministic-random) -* This is the `main` branch of Faker and may contain changes that are not yet released. - Please refer to the README of your version for the available methods. - The list of all versions is [available here](https://github.com/stympy/faker/releases). +For a complete list of the generators, see [Generators](./GENERATORS.md). ## Getting Started @@ -70,49 +47,44 @@ Then run `bundle install`. ## Usage -Here are some examples of how to use Faker: - ```ruby require 'faker' -Faker::Name.name #=> "Christophe Bartell" - -Faker::Address.full_address #=> "5479 William Way, East Sonnyhaven, LA 63637" - -Faker::Markdown.emphasis #=> "Quo qui aperiam. Amet corrupti distinctio. Sit quia *dolor.*" - -Faker::TvShows::RuPaul.queen #=> "Violet Chachki" - +Faker::Name.name #=> "Christophe Bartell" +Faker::Internet.password #=> "Vg5mSvY1UeRg7" +Faker::Internet.email #=> "eliza@mann.test" +Faker::Address.full_address #=> "5479 William Way, East Sonnyhaven, LA 63637" +Faker::Markdown.emphasis #=> "Quo qui aperiam. Amet corrupti distinctio. Sit quia *dolor.*" +Faker::Lorem.paragraph #=> "Recusandae minima consequatur. Expedita sequi blanditiis. Ut fuga et." Faker::Alphanumeric.alpha(number: 10) #=> "zlvubkrwga" - -Faker::ProgrammingLanguage.name #=> "Ruby" +Faker::ProgrammingLanguage.name #=> "Ruby" ``` -For a complete list of the generators, see [Generators](#generators). - -### A note about the Generators versions - -If you get a `uninitialized constant Faker::[some_class]` error, your version of -the gem is behind main. - -To make sure that your gem is the one -documented here, change the line in your Gemfile to: - -```ruby -gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'main' -``` +## Table of Contents -The generators have the `@faker.version` tag on top of their implementation. -From the tags, you can identify the version the generator was added: +- [Faker ](#faker----) + - [Quick links](#quick-links) + - [Features](#features) + - [Getting Started](#getting-started) + - [Usage](#usage) + - [Table of Contents](#table-of-contents) + - [Notes](#notes) + - [Ensuring unique values](#ensuring-unique-values) + - [Deterministic Random](#deterministic-random) + - [Customization](#customization) + - [Minitest and Faker \>= 2.22](#minitest-and-faker--222) + - [Generators](#generators) + - [Contributing](#contributing) + - [Versioning](#versioning) + - [Inspiration](#inspiration) + - [In the media](#in-the-media) + - [License](#license) -```ruby -# Faker::TvShows::ParksAndRec.character +### Notes -# @faker.version 1.9.0 -def character - fetch('parks_and_rec.characters') -end -``` +* While Faker generates data at random, returned values are not guaranteed to be unique by default. To explicitly specify when you require unique values, see [Ensuring Unique Values](#ensuring-unique-values). +* Values also can be deterministic if you use the deterministic feature, see [Deterministic Random](#deterministic-random). +* This is the `main` branch of Faker and may contain changes that are not yet released. The list of all versions is [available here](https://github.com/stympy/faker/releases). ### Ensuring unique values @@ -128,7 +100,7 @@ exception may be raised. It is possible to clear the record of unique values that have been returned, for example between tests. ```ruby -Faker::Name.unique.clear # Clears used values for Faker::Name +Faker::Name.unique.clear # Clears used values for Faker::Name Faker::UniqueGenerator.clear # Clears used values for all generators ``` @@ -137,7 +109,6 @@ collisions with the generated data (i.e: using FactoryBot with random and manually set values). ```ruby -# Usage: # Faker::.unique.exclude(method, arguments, list) # Add 'azerty' and 'wxcvbn' to the string generator with 6 char length @@ -151,15 +122,16 @@ to provide deterministic output of repeated method calls. ```ruby Faker::Config.random = Random.new(42) -Faker::Company.bs #=> "seize collaborative mindshare" -Faker::Company.bs #=> "engage strategic platforms" +Faker::Lorem.word #=> "velit" +Faker::Lorem.word #=> "quisquam" + Faker::Config.random = Random.new(42) -Faker::Company.bs #=> "seize collaborative mindshare" -Faker::Company.bs #=> "engage strategic platforms" +Faker::Lorem.word #=> "velit" +Faker::Lorem.word #=> "quisquam" Faker::Config.random = nil # seeds the PRNG using default entropy sources Faker::Config.random.seed #=> 185180369676275068918401850258677722187 -Faker::Company.bs #=> "cultivate viral synergies" +Faker::Lorem.word #=> "ipsam" ``` ### Customization @@ -181,315 +153,16 @@ check out the [locales README](lib/locales/README.md). ### Minitest and Faker >= 2.22 -To prevent Faker (version >= 2.22) from generating duplicate values when using Minitest, +To prevent Faker (version >= 2.22) from [generating duplicate values]((https://github.com/faker-ruby/faker/issues/2534)) when using Minitest, you might need to add the following to the `test_helper.rb` or `rails_helper.rb` file: ```ruby Faker::Config.random = Random.new ``` -See [Issue #2534](https://github.com/faker-ruby/faker/issues/2534) for more details. - ## Generators -This is the full list of generators available with this gem. If you need details about any of them, make sure to consult the documentation. - -**NOTE: Some of the generators below aren't released yet. If you want to use them, change the line in your gemfile to:** - -```ruby -gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'main' -``` - -
- Default - - - [Faker::Address](doc/default/address.md) - - [Faker::Alphanumeric](doc/default/alphanumeric.md) - - [Faker::Ancient](doc/default/ancient.md) - - [Faker::App](doc/default/app.md) - - [Faker::Appliance](doc/default/appliance.md) - - [Faker::Artist](doc/default/artist.md) - - [Faker::Avatar](doc/default/avatar.md) - - [Faker::Bank](doc/default/bank.md) - - [Faker::Barcode](doc/default/barcode.md) - - [Faker::Beer](doc/default/beer.md) - - [Faker::Blood](doc/default/blood.md) - - [Faker::Boolean](doc/default/boolean.md) - - [Faker::Business](doc/default/business.md) - - [Faker::Camera](doc/default/camera.md) - - [Faker::Cannabis](doc/default/cannabis.md) - - [Faker::ChileRut](doc/default/chile_rut.md) - - [Faker::ChuckNorris](doc/default/chuck_norris.md) - - [Faker::Code](doc/default/code.md) - - [Faker::Coffee](doc/default/coffee.md) - - [Faker::Coin](doc/default/coin.md) - - [Faker::Color](doc/default/color.md) - - [Faker::Commerce](doc/default/commerce.md) - - [Faker::Company](doc/default/company.md) - - [Faker::Compass](doc/default/compass.md) - - [Faker::Computer](doc/default/computer.md) - - [Faker::Construction](doc/default/construction.md) - - [Faker::Cosmere](doc/default/cosmere.md) - - [Faker::Crypto](doc/default/crypto.md) - - [Faker::CryptoCoin](doc/default/crypto_coin.md) - - [Faker::Currency](doc/default/currency.md) - - [Faker::Date](doc/default/date.md) - - [Faker::DcComics](doc/default/dc_comics.md) - - [Faker::Demographic](doc/default/demographic.md) - - [Faker::Dessert](doc/default/dessert.md) - - [Faker::Device](doc/default/device.md) - - [Faker::DrivingLicence](doc/default/driving_licence.md) - - [Faker::Drone](doc/drone/drone.md) - - [Faker::Educator](doc/default/educator.md) - - [Faker::ElectricalComponents](doc/default/electrical_components.md) - - [Faker::Emotion](doc/default/emotion.md) - - [Faker::Esport](doc/default/esport.md) - - [Faker::File](doc/default/file.md) - - [Faker::Finance](doc/default/finance.md) - - [Faker::Food](doc/default/food.md) - - [Faker::FunnyName](doc/default/funny_name.md) - - [Faker::Gender](doc/default/gender.md) - - [Faker::GreekPhilosophers](doc/default/greek_philosophers.md) - - [Faker::Hacker](doc/default/hacker.md) - - [Faker::Hipster](doc/default/hipster.md) - - [Faker::Hobby](doc/default/hobby.md) - - [Faker::House](doc/default/house.md) - - [Faker::IdNumber](doc/default/id_number.md) - - [Faker::IndustrySegments](doc/default/industry_segments.md) - - [Faker::Internet](doc/default/internet.md) - - [Faker::Invoice](doc/default/invoice.md) - - [Faker::Job](doc/default/job.md) - - [Faker::Json](doc/default/json.md) - - [Faker::Kpop](doc/default/kpop.md) - - [Faker::Lorem](doc/default/lorem.md) - - [Faker::LoremFlickr](doc/default/lorem_flickr.md) - - [Faker::Markdown](doc/default/markdown.md) - - [Faker::Marketing](doc/default/marketing.md) - - [Faker::Measurement](doc/default/measurement.md) - - [Faker::Military](doc/default/military.md) - - [Faker::Mountain](doc/default/mountain.md) - - [Faker::Name](doc/default/name.md) - - [Faker::Nation](doc/default/nation.md) - - [Faker::NatoPhoneticAlphabet](doc/default/nato_phonetic_alphabet.md) - - [Faker::NationalHealthService](doc/default/national_health_service.md) - - [Faker::Number](doc/default/number.md) - - [Faker::Omniauth](doc/default/omniauth.md) - - [Faker::PhoneNumber](doc/default/phone_number.md) - - [Faker::Placeholdit](doc/default/placeholdit.md) - - [Faker::ProgrammingLanguage](doc/default/programming_language.md) - - [Faker::Relationship](doc/default/relationship.md) - - [Faker::Restaurant](doc/default/restaurant.md) - - [Faker::Science](doc/default/science.md) - - [Faker::SlackEmoji](doc/default/slack_emoji.md) - - [Faker::Source](doc/default/source.md) - - [Faker::SouthAfrica](doc/default/south_africa.md) - - [Faker::Space](doc/default/space.md) - - [Faker::String](doc/default/string.md) - - [Faker::Stripe](doc/default/stripe.md) - - [Faker::Subscription](doc/default/subscription.md) - - [Faker::Superhero](doc/default/superhero.md) - - [Faker::Tea](doc/default/tea.md) - - [Faker::Team](doc/default/team.md) - - [Faker::Theater](doc/default/theater.md) - - [Faker::Time](doc/default/time.md) - - [Faker::Types](doc/default/types.md) - - [Faker::University](doc/default/university.md) - - [Faker::Vehicle](doc/default/vehicle.md) - - [Faker::Verbs](doc/default/verbs.md) - - [Faker::VulnerabilityIdentifier](doc/default/vulnerability_identifier.md) - - [Faker::WorldCup](doc/default/world_cup.md) - - [Faker::X](doc/default/x.md) -
- -
- Blockchain - - - [Faker::Blockchain::Aeternity](doc/blockchain/aeternity.md) - - [Faker::Blockchain::Bitcoin](doc/blockchain/bitcoin.md) - - [Faker::Blockchain::Ethereum](doc/blockchain/ethereum.md) - - [Faker::Blockchain::Tezos](doc/blockchain/tezos.md) -
- -
- Books - - - [Faker::Book](doc/books/book.md) - - [Faker::Books::CultureSeries](doc/books/culture_series.md) - - [Faker::Books::Dune](doc/books/dune.md) - - [Faker::Books::Lovecraft](doc/books/lovecraft.md) - - [Faker::Books::TheKingkillerChronicle](doc/books/the_kingkiller_chronicle.md) -
- -
- Fantasy - - - [Faker::Fantasy::Tolkien](doc/fantasy/tolkien.md) -
- -
- Travel - - - [Faker:Travel::Airport](doc/travel/airport.md) - - [Faker:Travel::TrainStation](doc/travel/train_station.md) -
- -
- Creature - - - [Faker::Creature::Animal](doc/creature/animal.md) - - [Faker::Creature::Bird](doc/creature/bird.md) - - [Faker::Creature::Cat](doc/creature/cat.md) - - [Faker::Creature::Dog](doc/creature/dog.md) - - [Faker::Creature::Horse](doc/creature/horse.md) -
- -
- Games - - - [Faker::Game](doc/games/game.md) - - [Faker::Games::ClashOfClans](doc/games/clash_of_clans.md) - - [Faker::Games::DnD](doc/games/dnd.md) - - [Faker::Games::Dota](doc/games/dota.md) - - [Faker::Games::ElderScrolls](doc/games/elder_scrolls.md) - - [Faker::Games::Fallout](doc/games/fallout.md) - - [Faker::Games::FinalFantasyXIV](doc/games/final_fantasy_xiv.md) - - [Faker::Games::HalfLife](doc/games/half_life.md) - - [Faker::Games::Heroes](doc/games/heroes.md) - - [Faker::Games::HeroesOfTheStorm](doc/games/heroes_of_the_storm.md) - - [Faker::Games::LeagueOfLegends](doc/games/league_of_legends.md) - - [Faker::Games::Minecraft](doc/games/minecraft.md) - - [Faker::Games::Myst](doc/games/myst.md) - - [Faker::Games::Overwatch](doc/games/overwatch.md) - - [Faker::Games::Pokemon](doc/games/pokemon.md) - - [Faker::Games::SonicTheHedgehog](doc/games/sonic_the_hedgehog.md) - - [Faker::Games::StreetFighter](doc/games/street_fighter.md) - - [Faker::Games::SuperMario](doc/games/super_mario.md) - - [Faker::Games::SuperSmashBros](doc/games/super_smash_bros.md) - - [Faker::Games::Touhou](doc/games/touhou.md) - - [Faker::Games::WarhammerFantasy](doc/games/warhammer_fantasy.md) - - [Faker::Games::Witcher](doc/games/witcher.md) - - [Faker::Games::WorldOfWarcraft](doc/games/world_of_warcraft.md) - - [Faker::Games::Zelda](doc/games/zelda.md) -
- -
- Japanese Media - - - [Faker::JapaneseMedia::CowboyBebop](doc/japanese_media/cowboy_bebop.md) - - [Faker::JapaneseMedia::DragonBall](doc/japanese_media/dragon_ball.md) - - [Faker::JapaneseMedia::OnePiece](doc/japanese_media/one_piece.md) - - [Faker::JapaneseMedia::StudioGhibli](doc/japanese_media/studio_ghibli.md) - - [Faker::JapaneseMedia::SwordArtOnline](doc/japanese_media/sword_art_online.md) - - [Faker::JapaneseMedia::Naruto](doc/japanese_media/naruto.md) - - [Faker::JapaneseMedia::Doraemon](doc/japanese_media/doraemon.md) - - [Faker::JapaneseMedia::Conan](doc/japanese_media/conan.md) - - [Faker::JapaneseMedia::FullmetalAlchemistBrotherhood](doc/japanese_media/fullmetal_alchemist_brotherhood.md) -
- -
- Movies - - - [Faker::Movie](doc/movies/movie.md) - - [Faker::Movies::Avatar](doc/movies/avatar.md) - - [Faker::Movies::BackToTheFuture](doc/movies/back_to_the_future.md) - - [Faker::Movies::Departed](doc/movies/departed.md) - - [Faker::Movies::Ghostbusters](doc/movies/ghostbusters.md) - - [Faker::Movies::HarryPotter](doc/movies/harry_potter.md) - - [Faker::Movies::HitchhikersGuideToTheGalaxy](doc/movies/hitchhikers_guide_to_the_galaxy.md) - - [Faker::Movies::Hobbit](doc/movies/hobbit.md) - - [Faker::Movies::HowToTrainYourDragon](doc/movies/how_to_train_your_dragon.md) - - [Faker::Movies::Lebowski](doc/movies/lebowski.md) - - [Faker::Movies::LordOfTheRings](doc/movies/lord_of_the_rings.md) - - [Faker::Movies::PrincessBride](doc/movies/princess_bride.md) - - [Faker::Movies::StarWars](doc/movies/star_wars.md) - - [Faker::Movies::TRON](doc/movies/tron.md) - - [Faker::Movies::VForVendetta](doc/movies/v_for_vendetta.md) -
- -
- Music - - - [Faker::Music](doc/music/music.md) - - [Faker::Music::GratefulDead](doc/music/grateful_dead.md) - - [Faker::Music::Hiphop](doc/music/hiphop.md) - - [Faker::Music::Opera](doc/music/opera.md) - - [Faker::Music::PearlJam](doc/music/pearl_jam.md) - - [Faker::Music::Phish](doc/music/phish.md) - - [Faker::Music::Prince](doc/music/prince.md) - - [Faker::Music::RockBand](doc/music/rock_band.md) - - [Faker::Music::Rush](doc/music/rush.md) - - [Faker::Music::SmashingPumpkins](doc/music/smashing_pumpkins.md) - - [Faker::Music::UmphreysMcgee](doc/music/umphreys_mcgee.md) - - [Faker::Music::BossaNova](doc/music/bossa_nova.md) -
- -
- Quotes - - - [Faker::Quote](doc/quotes/quote.md) - - [Faker::Quotes::Chiquito](doc/quotes/chiquito.md) - - [Faker::Quotes::Rajnikanth](doc/quotes/rajnikanth.md) - - [Faker::Quotes::Shakespeare](doc/quotes/shakespeare.md) -
- -
- Sports - - - [Faker::Sport](doc/sports/sport.md) - - [Faker::Sports::Basketball](doc/sports/basketball.md) - - [Faker::Sports::Chess](doc/sports/chess.md) - - [Faker::Sports::Football](doc/sports/football.md) - - [Faker::Sports::Mountaineering](doc/sports/mountaineering.md) - - [Faker::Sports::Volleyball](doc/sports/volleyball.md) -
- -
- Tv Shows - - - [Faker::TvShows::AquaTeenHungerForce](doc/tv_shows/aqua_teen_hunger_force.md) - - [Faker::TvShows::Archer](doc/tv_shows/archer.md) - - [Faker::TvShows::BigBangTheory](doc/tv_shows/big_bang_theory.md) - - [Faker::TvShows::BojackHorseman](doc/tv_shows/bojack_horseman.md) - - [Faker::TvShows::BreakingBad](doc/tv_shows/breaking_bad.md) - - [Faker::TvShows::BrooklynNineNine](doc/tv_shows/brooklyn_nine_nine.md) - - [Faker::TvShows::Buffy](doc/tv_shows/buffy.md) - - [Faker::TvShows::Community](doc/tv_shows/community.md) - - [Faker::TvShows::DrWho](doc/tv_shows/dr_who.md) - - [Faker::TvShows::DumbAndDumber](doc/tv_shows/dumb_and_dumber.md) - - [Faker::TvShows::FamilyGuy](doc/tv_shows/family_guy.md) - - [Faker::TvShows::FinalSpace](doc/tv_shows/final_space.md) - - [Faker::TvShows::Friends](doc/tv_shows/friends.md) - - [Faker::TvShows::GameOfThrones](doc/tv_shows/game_of_thrones.md) - - [Faker::TvShows::HeyArnold](doc/tv_shows/hey_arnold.md) - - [Faker::TvShows::HowIMetYourMother](doc/tv_shows/how_i_met_your_mother.md) - - [Faker::TvShows::MichaelScott](doc/tv_shows/michael_scott.md) - - [Faker::TvShows::NewGirl](doc/tv_shows/new_girl.md) - - [Faker::TvShows::ParksAndRec](doc/tv_shows/parks_and_rec.md) - - [Faker::TvShows::RickAndMorty](doc/tv_shows/rick_and_morty.md) - - [Faker::TvShows::RuPaul](doc/tv_shows/rupaul.md) - - [Faker::TvShows::Seinfeld](doc/tv_shows/seinfeld.md) - - [Faker::TvShows::SiliconValley](doc/tv_shows/silicon_valley.md) - - [Faker::TvShows::Simpsons](doc/tv_shows/simpsons.md) - - [Faker::TvShows::SouthPark](doc/tv_shows/south_park.md) - - [Faker::TvShows::Spongebob](doc/tv_shows/spongebob.md) - - [Faker::TvShows::StarTrek](doc/tv_shows/star_trek.md) - - [Faker::TvShows::Stargate](doc/tv_shows/stargate.md) - - [Faker::TvShows::StrangerThings](doc/tv_shows/stranger_things.md) - - [Faker::TvShows::Suits](doc/tv_shows/suits.md) - - [Faker::TvShows::Supernatural](doc/tv_shows/supernatural.md) - - [Faker::TvShows::TheExpanse](doc/tv_shows/the_expanse.md) - - [Faker::TvShows::TheFreshPrinceOfBelAir](doc/tv_shows/the_fresh_prince_of_bel_air.md) - - [Faker::TvShows::TheITCrowd](doc/tv_shows/the_it_crowd.md) - - [Faker::TvShows::TheThickOfIt](doc/tv_shows/the_thick_of_it.md) - - [Faker::TvShows::TwinPeaks](doc/tv_shows/twin_peaks.md) - - [Faker::TvShows::VentureBros](doc/tv_shows/venture_bros.md) -
- -
- Locations - - - [Faker::Locations::Australia](doc/locations/australia.md) -
+To see the full list, check out the [GENERATORS](./GENERATORS.md) document. ## Contributing @@ -500,7 +173,7 @@ instructions on setting up the repo on your machine, opening bug reports, unders and creating a good pull request. There is a [Discord channel](https://discord.gg/RMumTwB) to discuss anything -regarding improvements or feature requests. +regarding improvements or feature requests. This is not actively monitored by the current maintainers. Thank you, contributors! @@ -508,6 +181,18 @@ Thank you, contributors! Faker follows Semantic Versioning 2.0 as defined at https://semver.org. +## Inspiration + +Faker was inspired by [Perl's Data::Faker library](https://metacpan.org/pod/Data::Faker). + +## In the media + +- 📰 [With Great Humor Comes Great Developer Engagement] - KTH Royal Institute of Technology research +- 🎧 [Computer und Kommunikation 4.5.2024, komplette Sendung] - Deutschland Funk Radio Interview + +[With Great Humor Comes Great Developer Engagement]: https://arxiv.org/pdf/2312.01680 +[Computer und Kommunikation 4.5.2024, komplette Sendung]: https://www.deutschlandfunk.de/computer-und-kommunikation-4-5-2024-komplette-sendung-dlf-16492b03-100.html + ## License This code is free to use under the terms of the MIT license. From 2db50b46e4f849b075ea52185e3d47297841534e Mon Sep 17 00:00:00 2001 From: Stefanni Brasil Date: Mon, 1 Dec 2025 16:46:49 -0700 Subject: [PATCH 02/10] Add one more example of contributions we're accepting For locales updates, we review them to avoid merging harmful/offensive words. But for older locales, it's possible there might be some lingering. --- CONTRIBUTING.md | 3 +-- README.md | 32 ++++++++++++++++---------------- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c17312b7fd..013313c26c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -24,6 +24,7 @@ faker-ruby already has lots of generators and locales. We appreciate any efforts - adding new translations - updating the existing translations - fixing any outdated/wrong translations +- removing harmful/offensive words from locales > [!NOTE] > Please include the console output of the translations in the PR description. Run `bundle exec rake console` to confirm the translations are working as expected. [Here's an example](https://github.com/faker-ruby/faker/pull/2960#issuecomment-2159698291). @@ -192,7 +193,6 @@ DEPRECATION WARNING: Faker::IDNumber is deprecated. Use Faker::IdNumber instead. We recommend adding tests for both the deprecated and new generators to ensure that the deprecation process is working as expected. Check out this [PR](https://github.com/faker-ruby/faker/pull/2856) for reference. - ## YAML files Please use dash syntax for YAML arrays. The dash syntax facilitates code reviews by making it easier to see what items were added or removed from the lists. @@ -236,7 +236,6 @@ What happens if the build fails in some way? Don't fear! Click on a failed job a There is a custom git hooks pre-push file. Before the push occurs, it runs the tests and Rubocop. If there are any tests failures, or Rubocop offenses, the push is aborted. - To set up: - Copy the file `pre-push.sample` located in the `custom-hooks` folder. - Paste it in your `.git/hooks` folder without the `.sample` extension. diff --git a/README.md b/README.md index dac01b5917..f860c41582 100644 --- a/README.md +++ b/README.md @@ -23,15 +23,15 @@ ## Features -- Internet: Generate Email addresses, Passwords, Domains, etc. +- Internet: Email addresses, Passwords, Domains, etc. - Date and Time: Travel back in time or to the future. -- Person: Generate Names, Genders, Bios, Job titles, and more. -- Number and String: Generate random numbers and strings. -- Location: Generate Addresses, Zip Codes, Street Names, States, and Countries. -- Finance: Create Account Details, Transactions, and Crypto Addresses. -- Localization - Pick from over 40 locales to generate realistic looking Names, Addresses, and Phone Numbers. +- Person: Names, Genders, Bios, Job titles, and more. +- Number add String: Random numbers and strings. +- Location: Addresses, Zip Codes, Street Names, States, and Countries. +- Finance: Account Details, Transactions, and Crypto Addresses. +- Localization - Customize faker with over 40 locales to generate realistic-looking Names, Addresses, and Phone Numbers. -> [!IMPORTANT] The generated names, addresses, emails, phone numbers, and/or other data might be coincidentally valid information. Please be careful when using faker for testing. +> **Note** The generated names, addresses, emails, phone numbers, and/or other data might return valid information. Please be careful when using faker in your tests. For a complete list of the generators, see [Generators](./GENERATORS.md). @@ -71,7 +71,7 @@ Faker::ProgrammingLanguage.name #=> "Ruby" - [Notes](#notes) - [Ensuring unique values](#ensuring-unique-values) - [Deterministic Random](#deterministic-random) - - [Customization](#customization) + - [Localization](#localization) - [Minitest and Faker \>= 2.22](#minitest-and-faker--222) - [Generators](#generators) - [Contributing](#contributing) @@ -122,19 +122,19 @@ to provide deterministic output of repeated method calls. ```ruby Faker::Config.random = Random.new(42) -Faker::Lorem.word #=> "velit" -Faker::Lorem.word #=> "quisquam" +Faker::Lorem.word #=> "velit" +Faker::Lorem.word #=> "quisquam" Faker::Config.random = Random.new(42) -Faker::Lorem.word #=> "velit" -Faker::Lorem.word #=> "quisquam" +Faker::Lorem.word #=> "velit" +Faker::Lorem.word #=> "quisquam" -Faker::Config.random = nil # seeds the PRNG using default entropy sources -Faker::Config.random.seed #=> 185180369676275068918401850258677722187 -Faker::Lorem.word #=> "ipsam" +Faker::Config.random = nil # seeds the PRNG using default entropy sources +Faker::Config.random.seed #=> 185180369676275068918401850258677722187 +Faker::Lorem.word #=> "ipsam" ``` -### Customization +### Localization You may want Faker to print information depending on your location in the world. To assist you in this, Faker uses the `I18n` gem to store strings and formats to From 84a3166ea2708fd22b626f8d8f305e3ff70462c3 Mon Sep 17 00:00:00 2001 From: Stefanni Brasil Date: Tue, 2 Dec 2025 14:45:08 -0700 Subject: [PATCH 03/10] Update GENERATORS.md Co-authored-by: Benjamin Curtis --- GENERATORS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GENERATORS.md b/GENERATORS.md index b184498a21..1e2751baab 100644 --- a/GENERATORS.md +++ b/GENERATORS.md @@ -241,7 +241,7 @@ Generate titles, characters, quotes and more from a variety of TV Shows. ## All generators -Want to see a compreheensive list of all generators? Expand the sections below to find **all** the available generators, categorized by their namespaces. +Want to see a comprehensive list of all generators? Expand the sections below to find **all** the available generators, categorized by their namespaces.
Default From 3dea9eb140b68c15dbe7f10ed78485f8fc2fa1f2 Mon Sep 17 00:00:00 2001 From: Stefanni Brasil Date: Tue, 2 Dec 2025 14:45:36 -0700 Subject: [PATCH 04/10] Update GENERATORS.md Co-authored-by: Benjamin Curtis --- GENERATORS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GENERATORS.md b/GENERATORS.md index 1e2751baab..9a507f4b96 100644 --- a/GENERATORS.md +++ b/GENERATORS.md @@ -487,7 +487,7 @@ Want to see a comprehensive list of all generators? Expand the sections below to
- Tv Shows + TV Shows - [Faker::TvShows::AquaTeenHungerForce](doc/tv_shows/aqua_teen_hunger_force.md) - [Faker::TvShows::Archer](doc/tv_shows/archer.md) From d1e200689153d53ee3e41795a5550cf917ae7579 Mon Sep 17 00:00:00 2001 From: Stefanni Brasil Date: Tue, 2 Dec 2025 14:45:44 -0700 Subject: [PATCH 05/10] Update GENERATORS.md Co-authored-by: Benjamin Curtis --- GENERATORS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GENERATORS.md b/GENERATORS.md index 9a507f4b96..eabc3f3f3c 100644 --- a/GENERATORS.md +++ b/GENERATORS.md @@ -9,7 +9,7 @@ This is the full list of generators available, organized by most popular [use ca ### Internet -Generate Email addresses, Passwords, Domains, etc. +Generate email addresses, passwords, domains, etc. - [Faker::App](doc/default/app.md) - [Faker::Boolean](doc/default/boolean.md) From 0d85e813020ce3beff112e6e94633fc9618c44cf Mon Sep 17 00:00:00 2001 From: Stefanni Brasil Date: Tue, 2 Dec 2025 14:45:49 -0700 Subject: [PATCH 06/10] Update GENERATORS.md Co-authored-by: Benjamin Curtis --- GENERATORS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GENERATORS.md b/GENERATORS.md index eabc3f3f3c..bb30f1c804 100644 --- a/GENERATORS.md +++ b/GENERATORS.md @@ -40,7 +40,7 @@ Travel back in time or to future. ### Person -Generate Names, Genders, Bios, Job titles, and more. +Generate names, genders, bios, job titles, and more. - [Faker::Artist](doc/default/artist.md) - [Faker::Blood](doc/default/blood.md) From 1c18dfdb940a1cfff9d1664b9faeb89a977a0552 Mon Sep 17 00:00:00 2001 From: Stefanni Brasil Date: Tue, 2 Dec 2025 14:45:55 -0700 Subject: [PATCH 07/10] Update GENERATORS.md Co-authored-by: Benjamin Curtis --- GENERATORS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GENERATORS.md b/GENERATORS.md index bb30f1c804..4334e71310 100644 --- a/GENERATORS.md +++ b/GENERATORS.md @@ -78,7 +78,7 @@ Generate random numbers and strings. ### Location -Generate Addresses, Zip Codes, Street Names, States, and Countries. +Generate addresses, zip codes, street names, states, and countries. - [Faker::Address](doc/default/address.md) - [Faker::Compass](doc/default/compass.md) From c2dafd83c9b79626557b249028f78c302ae8528d Mon Sep 17 00:00:00 2001 From: Stefanni Brasil Date: Tue, 2 Dec 2025 14:46:01 -0700 Subject: [PATCH 08/10] Update GENERATORS.md Co-authored-by: Benjamin Curtis --- GENERATORS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GENERATORS.md b/GENERATORS.md index 4334e71310..cebccbe4ea 100644 --- a/GENERATORS.md +++ b/GENERATORS.md @@ -90,7 +90,7 @@ Generate addresses, zip codes, street names, states, and countries. ### Finance -Create Account Details, Transactions, and Crypto Addresses. +Create account details, transactions, and crypto addresses. - [Faker::Bank](doc/default/bank.md) - [Faker::Blockchain::Aeternity](doc/blockchain/aeternity.md) From 71e00e7dc465b8a9a5567f8f44b42dd33faac0eb Mon Sep 17 00:00:00 2001 From: Stefanni Brasil Date: Tue, 2 Dec 2025 14:46:07 -0700 Subject: [PATCH 09/10] Update GENERATORS.md Co-authored-by: Benjamin Curtis --- GENERATORS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GENERATORS.md b/GENERATORS.md index cebccbe4ea..bba3480d7b 100644 --- a/GENERATORS.md +++ b/GENERATORS.md @@ -141,7 +141,7 @@ Generate breeds, names, sizes, etc. ### Arts and Media -Generate entries for artistic needs, from TV Shows to Japanese Media. +Generate entries for artistic needs, from TV Shows to Japanese media. - [Faker::DcComics](doc/default/dc_comics.md) - [Faker::Superhero](doc/default/superhero.md) From de6e845c44266d0ea481f3a0a47379aeb138fc6f Mon Sep 17 00:00:00 2001 From: Stefanni Brasil Date: Tue, 2 Dec 2025 14:46:14 -0700 Subject: [PATCH 10/10] Update GENERATORS.md Co-authored-by: Benjamin Curtis --- GENERATORS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GENERATORS.md b/GENERATORS.md index bba3480d7b..9d5c739a46 100644 --- a/GENERATORS.md +++ b/GENERATORS.md @@ -199,7 +199,7 @@ Generate genres, titles, authors, etc. #### TV Shows -Generate titles, characters, quotes and more from a variety of TV Shows. +Generate titles, characters, quotes and more from a variety of TV shows. - [Faker::TvShows::AquaTeenHungerForce](doc/tv_shows/aqua_teen_hunger_force.md) - [Faker::TvShows::Archer](doc/tv_shows/archer.md)