faker 2.0.0 → 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1896 -11
- data/README.md +140 -307
- data/lib/faker/blockchain/aeternity.rb +70 -0
- data/lib/faker/blockchain/bitcoin.rb +27 -2
- data/lib/faker/blockchain/ethereum.rb +11 -1
- data/lib/faker/blockchain/tezos.rb +92 -9
- data/lib/faker/blockchain.rb +9 -0
- data/lib/faker/books/culture_series.rb +49 -0
- data/lib/faker/books/dune.rb +71 -5
- data/lib/faker/books/lovecraft.rb +182 -7
- data/lib/faker/books/the_kingkiller_chronicle.rb +61 -0
- data/lib/faker/books.rb +9 -0
- data/lib/faker/creature/animal.rb +9 -0
- data/lib/faker/creature/bird.rb +203 -0
- data/lib/faker/creature/cat.rb +27 -0
- data/lib/faker/creature/dog.rb +72 -0
- data/lib/faker/creature/horse.rb +18 -0
- data/lib/faker/creature.rb +9 -0
- data/lib/faker/default/address.rb +251 -6
- data/lib/faker/default/adjective.rb +35 -0
- data/lib/faker/default/alphanumeric.rb +49 -6
- data/lib/faker/default/ancient.rb +36 -0
- data/lib/faker/default/app.rb +45 -0
- data/lib/faker/default/appliance.rb +18 -0
- data/lib/faker/default/artist.rb +9 -0
- data/lib/faker/default/avatar.rb +32 -1
- data/lib/faker/default/bank.rb +117 -22
- data/lib/faker/default/barcode.rb +165 -0
- data/lib/faker/default/beer.rb +75 -3
- data/lib/faker/default/blood.rb +48 -0
- data/lib/faker/default/book.rb +61 -0
- data/lib/faker/default/boolean.rb +14 -1
- data/lib/faker/default/business.rb +27 -0
- data/lib/faker/default/camera.rb +46 -0
- data/lib/faker/default/cannabis.rb +90 -0
- data/lib/faker/default/chile_rut.rb +62 -8
- data/lib/faker/default/chuck_norris.rb +13 -2
- data/lib/faker/default/code.rb +165 -38
- data/lib/faker/default/coffee.rb +45 -0
- data/lib/faker/default/coin.rb +18 -0
- data/lib/faker/default/color.rb +123 -5
- data/lib/faker/default/commerce.rb +102 -11
- data/lib/faker/default/company.rb +445 -23
- data/lib/faker/default/compass.rb +135 -0
- data/lib/faker/default/computer.rb +63 -0
- data/lib/faker/default/construction.rb +54 -0
- data/lib/faker/default/cosmere.rb +90 -0
- data/lib/faker/default/crypto.rb +52 -5
- data/lib/faker/default/crypto_coin.rb +45 -0
- data/lib/faker/default/currency.rb +27 -0
- data/lib/faker/default/date.rb +145 -5
- data/lib/faker/default/dc_comics.rb +45 -0
- data/lib/faker/default/demographic.rb +57 -0
- data/lib/faker/default/dessert.rb +27 -0
- data/lib/faker/default/device.rb +54 -0
- data/lib/faker/default/driving_licence.rb +87 -14
- data/lib/faker/default/drone.rb +332 -0
- data/lib/faker/default/educator.rb +73 -6
- data/lib/faker/default/electrical_components.rb +27 -0
- data/lib/faker/default/emotion.rb +33 -0
- data/lib/faker/default/esport.rb +45 -0
- data/lib/faker/default/file.rb +53 -4
- data/lib/faker/default/finance.rb +74 -2
- data/lib/faker/default/food.rb +93 -3
- data/lib/faker/default/funny_name.rb +45 -0
- data/lib/faker/default/game.rb +48 -0
- data/lib/faker/default/gender.rb +31 -0
- data/lib/faker/default/greek_philosophers.rb +18 -0
- data/lib/faker/default/hacker.rb +59 -1
- data/lib/faker/default/hipster.rb +103 -7
- data/lib/faker/default/hobby.rb +22 -0
- data/lib/faker/default/house.rb +18 -0
- data/lib/faker/default/html.rb +230 -0
- data/lib/faker/default/id_number.rb +313 -8
- data/lib/faker/default/industry_segments.rb +36 -0
- data/lib/faker/default/invoice.rb +34 -7
- data/lib/faker/default/job.rb +36 -0
- data/lib/faker/default/json.rb +68 -8
- data/lib/faker/default/kpop.rb +54 -0
- data/lib/faker/default/lorem.rb +194 -21
- data/lib/faker/default/lorem_flickr.rb +67 -2
- data/lib/faker/default/markdown.rb +100 -9
- data/lib/faker/default/marketing.rb +9 -0
- data/lib/faker/default/measurement.rb +93 -2
- data/lib/faker/default/military.rb +71 -0
- data/lib/faker/default/mountain.rb +33 -0
- data/lib/faker/default/movie.rb +33 -0
- data/lib/faker/default/name.rb +98 -0
- data/lib/faker/default/nation.rb +45 -5
- data/lib/faker/default/{nhs.rb → national_health_service.rb} +27 -4
- data/lib/faker/default/nato_phonetic_alphabet.rb +9 -0
- data/lib/faker/default/number.rb +151 -12
- data/lib/faker/default/omniauth.rb +233 -92
- data/lib/faker/default/phone_number.rb +113 -11
- data/lib/faker/default/placeholdit.rb +24 -3
- data/lib/faker/default/programming_language.rb +18 -0
- data/lib/faker/default/quote.rb +124 -0
- data/lib/faker/default/relationship.rb +46 -1
- data/lib/faker/default/restaurant.rb +54 -2
- data/lib/faker/default/science.rb +135 -0
- data/lib/faker/default/slack_emoji.rb +81 -0
- data/lib/faker/default/source.rb +43 -0
- data/lib/faker/default/south_africa.rb +93 -3
- data/lib/faker/default/space.rb +128 -1
- data/lib/faker/default/sport.rb +116 -0
- data/lib/faker/default/string.rb +18 -4
- data/lib/faker/default/stripe.rb +64 -3
- data/lib/faker/default/subscription.rb +45 -0
- data/lib/faker/default/superhero.rb +45 -0
- data/lib/faker/default/tea.rb +41 -0
- data/lib/faker/default/team.rb +45 -0
- data/lib/faker/default/theater.rb +49 -0
- data/lib/faker/default/time.rb +80 -0
- data/lib/faker/default/types.rb +91 -11
- data/lib/faker/default/university.rb +45 -0
- data/lib/faker/default/vehicle.rb +225 -42
- data/lib/faker/default/verb.rb +45 -0
- data/lib/faker/default/vulnerability_identifier.rb +23 -0
- data/lib/faker/default/world_cup.rb +50 -0
- data/lib/faker/default/x.rb +189 -0
- data/lib/faker/default.rb +9 -0
- data/lib/faker/fantasy/tolkien.rb +67 -0
- data/lib/faker/fantasy.rb +9 -0
- data/lib/faker/games/clash_of_clans.rb +48 -0
- data/lib/faker/games/control.rb +113 -0
- data/lib/faker/games/dnd.rb +178 -0
- data/lib/faker/games/dota.rb +60 -0
- data/lib/faker/games/elder_scrolls.rb +98 -0
- data/lib/faker/games/fallout.rb +37 -0
- data/lib/faker/games/final_fantasy_xiv.rb +73 -0
- data/lib/faker/games/half_life.rb +27 -0
- data/lib/faker/games/heroes.rb +40 -0
- data/lib/faker/games/heroes_of_the_storm.rb +38 -2
- data/lib/faker/games/league_of_legends.rb +54 -0
- data/lib/faker/games/minecraft.rb +113 -0
- data/lib/faker/games/myst.rb +45 -0
- data/lib/faker/games/overwatch.rb +27 -0
- data/lib/faker/games/pokemon.rb +27 -0
- data/lib/faker/games/sonic_the_hedgehog.rb +27 -0
- data/lib/faker/games/street_fighter.rb +61 -0
- data/lib/faker/games/super_mario.rb +48 -0
- data/lib/faker/games/super_smash_bros.rb +18 -0
- data/lib/faker/games/tarkov.rb +205 -0
- data/lib/faker/games/touhou.rb +75 -0
- data/lib/faker/games/warhammer_fantasy.rb +74 -0
- data/lib/faker/games/witcher.rb +93 -0
- data/lib/faker/games/world_of_warcraft.rb +44 -1
- data/lib/faker/games/zelda.rb +37 -1
- data/lib/faker/games.rb +9 -0
- data/lib/faker/internet/http.rb +48 -0
- data/lib/faker/internet.rb +582 -0
- data/lib/faker/japanese_media/conan.rb +48 -0
- data/lib/faker/japanese_media/cowboy_bebop.rb +61 -0
- data/lib/faker/japanese_media/doraemon.rb +48 -0
- data/lib/faker/japanese_media/dragon_ball.rb +35 -0
- data/lib/faker/japanese_media/fullmetal_alchemist_brotherhood.rb +48 -0
- data/lib/faker/japanese_media/kamen_rider.rb +102 -0
- data/lib/faker/japanese_media/naruto.rb +61 -0
- data/lib/faker/japanese_media/one_piece.rb +55 -1
- data/lib/faker/japanese_media/studio_ghibli.rb +48 -0
- data/lib/faker/japanese_media/sword_art_online.rb +36 -0
- data/lib/faker/japanese_media.rb +9 -0
- data/lib/faker/locations/australia.rb +49 -0
- data/lib/faker/locations.rb +9 -0
- data/lib/faker/movies/avatar.rb +49 -0
- data/lib/faker/movies/back_to_the_future.rb +28 -0
- data/lib/faker/movies/departed.rb +49 -0
- data/lib/faker/movies/ghostbusters.rb +28 -0
- data/lib/faker/movies/hackers.rb +48 -0
- data/lib/faker/movies/harry_potter.rb +54 -0
- data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +69 -0
- data/lib/faker/movies/hobbit.rb +41 -4
- data/lib/faker/movies/how_to_train_your_dragon.rb +48 -0
- data/lib/faker/movies/lebowski.rb +27 -0
- data/lib/faker/movies/lord_of_the_rings.rb +31 -3
- data/lib/faker/movies/princess_bride.rb +19 -0
- data/lib/faker/movies/star_wars.rb +169 -5
- data/lib/faker/movies/the_room.rb +63 -0
- data/lib/faker/movies/tron.rb +161 -0
- data/lib/faker/movies/v_for_vendetta.rb +29 -0
- data/lib/faker/movies.rb +9 -0
- data/lib/faker/music/bossa_nova.rb +35 -0
- data/lib/faker/music/grateful_dead.rb +18 -2
- data/lib/faker/music/hiphop.rb +48 -0
- data/lib/faker/music/opera.rb +273 -1
- data/lib/faker/music/pearl_jam.rb +48 -0
- data/lib/faker/music/phish.rb +36 -1
- data/lib/faker/music/prince.rb +64 -0
- data/lib/faker/music/rock_band.rb +21 -0
- data/lib/faker/music/rush.rb +35 -0
- data/lib/faker/music/smashing_pumpkins.rb +62 -0
- data/lib/faker/music/umphreys_mcgee.rb +9 -0
- data/lib/faker/music.rb +149 -0
- data/lib/faker/quotes/chiquito.rb +80 -0
- data/lib/faker/quotes/rajnikanth.rb +27 -0
- data/lib/faker/quotes/shakespeare.rb +70 -0
- data/lib/faker/quotes.rb +9 -0
- data/lib/faker/religion/bible.rb +50 -0
- data/lib/faker/religion.rb +9 -0
- data/lib/faker/sports/basketball.rb +36 -0
- data/lib/faker/sports/chess.rb +90 -0
- data/lib/faker/sports/football.rb +45 -0
- data/lib/faker/sports/mountaineering.rb +22 -0
- data/lib/faker/sports/volleyball.rb +74 -0
- data/lib/faker/sports.rb +9 -0
- data/lib/faker/travel/airport.rb +43 -0
- data/lib/faker/travel/train_station.rb +54 -0
- data/lib/faker/travel.rb +9 -0
- data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +22 -0
- data/lib/faker/tv_shows/archer.rb +51 -0
- data/lib/faker/tv_shows/big_bang_theory.rb +37 -0
- data/lib/faker/tv_shows/bojack_horseman.rb +28 -0
- data/lib/faker/tv_shows/breaking_bad.rb +18 -0
- data/lib/faker/tv_shows/brooklyn_nine_nine.rb +38 -0
- data/lib/faker/tv_shows/buffy.rb +47 -2
- data/lib/faker/tv_shows/community.rb +19 -0
- data/lib/faker/tv_shows/dr_who.rb +65 -2
- data/lib/faker/tv_shows/dumb_and_dumber.rb +28 -0
- data/lib/faker/tv_shows/family_guy.rb +28 -0
- data/lib/faker/tv_shows/final_space.rb +51 -0
- data/lib/faker/tv_shows/friends.rb +27 -0
- data/lib/faker/tv_shows/futurama.rb +65 -0
- data/lib/faker/tv_shows/game_of_thrones.rb +46 -0
- data/lib/faker/tv_shows/hey_arnold.rb +27 -0
- data/lib/faker/tv_shows/how_i_met_your_mother.rb +37 -0
- data/lib/faker/tv_shows/michael_scott.rb +10 -0
- data/lib/faker/tv_shows/new_girl.rb +19 -0
- data/lib/faker/tv_shows/parks_and_rec.rb +18 -0
- data/lib/faker/tv_shows/rick_and_morty.rb +28 -0
- data/lib/faker/tv_shows/ru_paul.rb +18 -0
- data/lib/faker/tv_shows/seinfeld.rb +28 -0
- data/lib/faker/tv_shows/silicon_valley.rb +75 -0
- data/lib/faker/tv_shows/simpsons.rb +42 -0
- data/lib/faker/tv_shows/south_park.rb +34 -0
- data/lib/faker/tv_shows/spongebob.rb +50 -0
- data/lib/faker/tv_shows/star_trek.rb +36 -0
- data/lib/faker/tv_shows/stargate.rb +28 -0
- data/lib/faker/tv_shows/stranger_things.rb +19 -0
- data/lib/faker/tv_shows/suits.rb +37 -0
- data/lib/faker/tv_shows/supernatural.rb +48 -0
- data/lib/faker/tv_shows/the_expanse.rb +36 -0
- data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +30 -2
- data/lib/faker/tv_shows/the_it_crowd.rb +37 -0
- data/lib/faker/tv_shows/the_office.rb +37 -0
- data/lib/faker/tv_shows/the_thick_of_it.rb +28 -0
- data/lib/faker/tv_shows/twin_peaks.rb +28 -0
- data/lib/faker/tv_shows/venture_bros.rb +38 -0
- data/lib/faker/tv_shows.rb +9 -0
- data/lib/faker/version.rb +2 -2
- data/lib/faker.rb +125 -45
- data/lib/helpers/base58.rb +1 -1
- data/lib/helpers/char.rb +22 -27
- data/lib/helpers/deprecator.rb +118 -0
- data/lib/helpers/positional_generator.rb +478 -0
- data/lib/helpers/unique_generator.rb +18 -14
- data/lib/locales/README.md +18 -2
- data/lib/locales/ar.yml +1608 -46
- data/lib/locales/bg.yml +937 -21
- data/lib/locales/ca-CAT.yml +347 -12
- data/lib/locales/ca.yml +580 -15
- data/lib/locales/da-DK.yml +530 -36
- data/lib/locales/de-AT.yml +3487 -25
- data/lib/locales/de-CH.yml +6051 -9
- data/lib/locales/de.yml +7185 -97
- data/lib/locales/ee.yml +1185 -27
- data/lib/locales/en/address.yml +1829 -559
- data/lib/locales/en/adjective.yml +179 -0
- data/lib/locales/en/airport.yml +381 -0
- data/lib/locales/en/ancient.yml +128 -4
- data/lib/locales/en/animal.yml +141 -2
- data/lib/locales/en/app.yml +89 -2
- data/lib/locales/en/appliance.yml +81 -2
- data/lib/locales/en/aqua_teen_hunger_force.yml +33 -1
- data/lib/locales/en/archer.yml +75 -0
- data/lib/locales/en/artist.yml +43 -1
- data/lib/locales/en/australia.yml +108 -0
- data/lib/locales/en/avatar.yml +57 -0
- data/lib/locales/en/back_to_the_future.yml +145 -117
- data/lib/locales/en/bank.yml +92 -3
- data/lib/locales/en/barcode.yml +24 -0
- data/lib/locales/en/beer.yml +232 -6
- data/lib/locales/en/bible.yml +87 -0
- data/lib/locales/en/big_bang_theory.yml +37 -0
- data/lib/locales/en/bird.yml +1280 -0
- data/lib/locales/en/blood.yml +13 -0
- data/lib/locales/en/bojack_horseman.yml +63 -3
- data/lib/locales/en/book.yml +486 -3
- data/lib/locales/en/bossa_nova.yml +110 -3
- data/lib/locales/en/breaking_bad.yml +110 -25
- data/lib/locales/en/brooklyn_nine_nine.yml +34 -0
- data/lib/locales/en/buffy.yml +239 -257
- data/lib/locales/en/business.yml +18 -2
- data/lib/locales/en/camera.yml +611 -0
- data/lib/locales/en/cannabis.yml +344 -10
- data/lib/locales/en/cat.yml +155 -3
- data/lib/locales/en/chess.yml +102 -0
- data/lib/locales/en/chiquito.yml +63 -0
- data/lib/locales/en/chuck_norris.yml +78 -79
- data/lib/locales/en/clash_of_clan.yml +99 -0
- data/lib/locales/en/code.yml +501 -1
- data/lib/locales/en/coffee.yml +450 -25
- data/lib/locales/en/color.yml +73 -1
- data/lib/locales/en/commerce.yml +117 -6
- data/lib/locales/en/community.yml +55 -30
- data/lib/locales/en/company.yml +1756 -13
- data/lib/locales/en/compass.yml +108 -12
- data/lib/locales/en/computer.yml +55 -0
- data/lib/locales/en/conan.yml +169 -0
- data/lib/locales/en/construction.yml +416 -422
- data/lib/locales/en/control.yml +247 -0
- data/lib/locales/en/cosmere.yml +219 -54
- data/lib/locales/en/cowboy_bebop.yml +160 -0
- data/lib/locales/en/culture_series.yml +298 -298
- data/lib/locales/en/currency.yml +358 -3
- data/lib/locales/en/dc_comics.yml +178 -49
- data/lib/locales/en/demographic.yml +218 -5
- data/lib/locales/en/departed.yml +46 -0
- data/lib/locales/en/dessert.yml +78 -3
- data/lib/locales/en/device.yml +112 -4
- data/lib/locales/en/dnd.yml +636 -0
- data/lib/locales/en/dog.yml +262 -7
- data/lib/locales/en/doraemon.yml +284 -0
- data/lib/locales/en/dota.yml +704 -63
- data/lib/locales/en/dr_who.yml +468 -93
- data/lib/locales/en/dragon_ball.yml +243 -1
- data/lib/locales/en/driving_license.yml +181 -0
- data/lib/locales/en/drone.yml +95 -0
- data/lib/locales/en/dumb_and_dumber.yml +72 -56
- data/lib/locales/en/dune.yml +270 -131
- data/lib/locales/en/educator.yml +75 -6
- data/lib/locales/en/elder_scrolls.yml +582 -9
- data/lib/locales/en/electrical_components.yml +49 -3
- data/lib/locales/en/emotion.yml +480 -0
- data/lib/locales/en/esport.yml +58 -5
- data/lib/locales/en/fallout.yml +311 -133
- data/lib/locales/en/family_guy.yml +54 -4
- data/lib/locales/en/file.yml +109 -2
- data/lib/locales/en/final_fantasy_xiv.yml +754 -0
- data/lib/locales/en/final_space.yml +35 -0
- data/lib/locales/en/finance.yml +80 -4
- data/lib/locales/en/food.yml +1067 -10
- data/lib/locales/en/football.yml +121 -5
- data/lib/locales/en/fresh_prince_of_bel_air.yml +119 -70
- data/lib/locales/en/friends.yml +162 -3
- data/lib/locales/en/fullmetal_alchemist_brotherhood.yml +78 -0
- data/lib/locales/en/funny_name.yml +752 -1
- data/lib/locales/en/futurama.yml +336 -0
- data/lib/locales/en/game.yml +11 -0
- data/lib/locales/en/game_of_thrones.yml +2487 -5
- data/lib/locales/en/gender.yml +15 -2
- data/lib/locales/en/ghostbusters.yml +101 -88
- data/lib/locales/en/grateful_dead.yml +47 -45
- data/lib/locales/en/greek_philosophers.yml +44 -23
- data/lib/locales/en/hacker.yml +110 -5
- data/lib/locales/en/hackers.yml +53 -0
- data/lib/locales/en/half_life.yml +84 -3
- data/lib/locales/en/harry_potter.yml +323 -6
- data/lib/locales/en/heroes.yml +408 -3
- data/lib/locales/en/heroes_of_the_storm.yml +131 -4
- data/lib/locales/en/hey_arnold.yml +104 -21
- data/lib/locales/en/hipster.yml +203 -1
- data/lib/locales/en/hitchhikers_guide_to_the_galaxy.yml +243 -42
- data/lib/locales/en/hobby.yml +170 -0
- data/lib/locales/en/horse.yml +446 -2
- data/lib/locales/en/house.yml +34 -2
- data/lib/locales/en/how_i_met_your_mother.yml +97 -25
- data/lib/locales/en/how_to_train_your_dragon.yml +173 -0
- data/lib/locales/en/id_number.yml +7 -2
- data/lib/locales/en/industry_segments.yml +188 -4
- data/lib/locales/en/internet.yml +136 -3
- data/lib/locales/en/jack_handey.yml +54 -0
- data/lib/locales/en/job.yml +98 -7
- data/lib/locales/en/kamen_rider.yml +718 -0
- data/lib/locales/en/kpop.yml +954 -80
- data/lib/locales/en/league_of_legends.yml +285 -6
- data/lib/locales/en/lebowski.yml +58 -40
- data/lib/locales/en/lorem.yml +1095 -6
- data/lib/locales/en/lovecraft.yml +76 -6
- data/lib/locales/en/markdown.yml +12 -2
- data/lib/locales/en/marketing.yml +54 -1
- data/lib/locales/en/measurement.yml +42 -8
- data/lib/locales/en/michael_scott.yml +41 -42
- data/lib/locales/en/military.yml +179 -5
- data/lib/locales/en/minecraft.yml +663 -0
- data/lib/locales/en/mitch_hedberg.yml +46 -0
- data/lib/locales/en/mountain.yml +171 -0
- data/lib/locales/en/mountaineering.yml +14 -0
- data/lib/locales/en/movie.yml +206 -2
- data/lib/locales/en/music.yml +461 -29
- data/lib/locales/en/myst.yml +87 -31
- data/lib/locales/en/name.yml +6068 -5
- data/lib/locales/en/naruto.yml +230 -0
- data/lib/locales/en/nato_phonetic_alphabet.yml +27 -1
- data/lib/locales/en/new_girl.yml +35 -37
- data/lib/locales/en/one_piece.yml +359 -6
- data/lib/locales/en/opera.yml +169 -1
- data/lib/locales/en/overwatch.yml +2648 -37
- data/lib/locales/en/parks_and_rec.yml +33 -4
- data/lib/locales/en/pearl_jam.yml +213 -0
- data/lib/locales/en/phish.yml +391 -1
- data/lib/locales/en/phone_number.yml +78 -3
- data/lib/locales/en/pokemon.yml +417 -4
- data/lib/locales/en/prince.yml +227 -0
- data/lib/locales/en/princess_bride.yml +48 -2
- data/lib/locales/en/programming_language.yml +753 -3
- data/lib/locales/en/quote.yml +606 -163
- data/lib/locales/en/rajnikanth.yml +77 -0
- data/lib/locales/en/relationship.yml +29 -6
- data/lib/locales/en/restaurant.yml +31 -31
- data/lib/locales/en/rick_and_morty.yml +116 -3
- data/lib/locales/en/rock_band.yml +228 -1
- data/lib/locales/en/rupaul.yml +120 -122
- data/lib/locales/en/rush.yml +32 -0
- data/lib/locales/en/science.yml +481 -3
- data/lib/locales/en/seinfeld.yml +110 -3
- data/lib/locales/en/shakespeare.yml +46 -53
- data/lib/locales/en/silicon_valley.yml +122 -50
- data/lib/locales/en/simpsons.yml +897 -23
- data/lib/locales/en/slack_emoji.yml +874 -8
- data/lib/locales/en/smashing_pumpkins.yml +382 -0
- data/lib/locales/en/source.yml +35 -0
- data/lib/locales/en/south_park.yml +360 -2
- data/lib/locales/en/space.yml +373 -14
- data/lib/locales/en/spongebob.yml +489 -0
- data/lib/locales/en/sport.yml +130 -0
- data/lib/locales/en/star_trek.yml +105 -4
- data/lib/locales/en/star_wars.yml +564 -219
- data/lib/locales/en/stargate.yml +65 -18
- data/lib/locales/en/stranger_thing.yml +31 -33
- data/lib/locales/en/street_fighter.yml +1524 -0
- data/lib/locales/en/stripe.yml +3 -3
- data/lib/locales/en/studio_ghibli.yml +107 -0
- data/lib/locales/en/subscription.yml +47 -5
- data/lib/locales/en/suits.yml +45 -0
- data/lib/locales/en/super_mario.yml +58 -0
- data/lib/locales/en/super_smash_bros.yml +23 -5
- data/lib/locales/en/superhero.yml +574 -4
- data/lib/locales/en/supernatural.yml +141 -0
- data/lib/locales/en/sword_art_online.yml +327 -331
- data/lib/locales/en/tarkov.yml +593 -0
- data/lib/locales/en/tea.yml +172 -0
- data/lib/locales/en/team.yml +125 -3
- data/lib/locales/en/the_expanse.yml +92 -4
- data/lib/locales/en/the_it_crowd.yml +148 -152
- data/lib/locales/en/the_kingkiller_chronicle.yml +56 -0
- data/lib/locales/en/the_office.yml +82 -0
- data/lib/locales/en/the_room.yml +68 -0
- data/lib/locales/en/the_thick_of_it.yml +83 -3
- data/lib/locales/en/theater.yml +597 -0
- data/lib/locales/en/tolkien.yml +2453 -0
- data/lib/locales/en/touhou.yml +839 -0
- data/lib/locales/en/train_station.yml +280 -0
- data/lib/locales/en/tron.yml +227 -0
- data/lib/locales/en/twin_peaks.yml +130 -3
- data/lib/locales/en/umphreys_mcgee.yml +266 -1
- data/lib/locales/en/university.yml +15 -2
- data/lib/locales/en/v_for_vendetta.yml +157 -160
- data/lib/locales/en/vehicle.yml +2809 -75
- data/lib/locales/en/venture_bros.yml +225 -4
- data/lib/locales/en/verbs.yml +3785 -5
- data/lib/locales/en/volleyball.yml +501 -0
- data/lib/locales/en/warhammer_fantasy.yml +549 -0
- data/lib/locales/en/witcher.yml +426 -7
- data/lib/locales/en/world_cup.yml +1132 -235
- data/lib/locales/en/world_of_warcraft.yml +122 -4
- data/lib/locales/en/yoda.yml +38 -1
- data/lib/locales/en/zelda.yml +962 -4
- data/lib/locales/en-AU.yml +728 -17
- data/lib/locales/en-BORK.yml +104 -1
- data/lib/locales/en-CA.yml +373 -15
- data/lib/locales/en-GB.yml +118 -8
- data/lib/locales/en-IND.yml +1259 -16
- data/lib/locales/en-KE.yml +212 -0
- data/lib/locales/en-MS.yml +364 -16
- data/lib/locales/en-NEP.yml +213 -36
- data/lib/locales/en-NG.yml +737 -65
- data/lib/locales/en-NZ.yml +1183 -27
- data/lib/locales/en-PAK.yml +392 -9
- data/lib/locales/en-SG.yml +581 -15
- data/lib/locales/en-TH.yml +360 -0
- data/lib/locales/en-UG.yml +374 -75
- data/lib/locales/en-US.yml +6937 -71
- data/lib/locales/en-ZA.yml +1394 -13
- data/lib/locales/en-au-ocker.yml +266 -21
- data/lib/locales/en.yml +0 -50
- data/lib/locales/es-AR.yml +4570 -0
- data/lib/locales/es-MX.yml +1910 -41
- data/lib/locales/es.yml +2172 -52
- data/lib/locales/fa.yml +1624 -3
- data/lib/locales/fi-FI.yml +316 -16
- data/lib/locales/fr/address.yml +773 -0
- data/lib/locales/fr/adjective.yml +266 -0
- data/lib/locales/fr/ancient.yml +141 -0
- data/lib/locales/fr/animal.yml +122 -0
- data/lib/locales/fr/appliance.yml +69 -0
- data/lib/locales/fr/book.yml +31 -0
- data/lib/locales/fr/color.yml +34 -0
- data/lib/locales/fr/company.yml +497 -0
- data/lib/locales/fr/compass.yml +71 -0
- data/lib/locales/fr/demographic.yml +6 -0
- data/lib/locales/fr/gender.yml +21 -0
- data/lib/locales/fr/internet.yml +15 -0
- data/lib/locales/fr/lorem.yml +1094 -0
- data/lib/locales/fr/measurement.yml +34 -0
- data/lib/locales/fr/name.yml +1193 -0
- data/lib/locales/fr/phone_number.yml +38 -0
- data/lib/locales/fr/pokemon.yml +421 -0
- data/lib/locales/fr-CA.yml +2756 -44
- data/lib/locales/fr-CH.yml +2455 -42
- data/lib/locales/fr.yml +2 -111
- data/lib/locales/he.yml +255 -9
- data/lib/locales/hy.yml +3630 -124
- data/lib/locales/id.yml +840 -10
- data/lib/locales/it.yml +1310 -31
- data/lib/locales/ja/README.md +13 -0
- data/lib/locales/ja/address.yml +363 -0
- data/lib/locales/ja/adjective.yml +148 -0
- data/lib/locales/ja/ancient.yml +18 -0
- data/lib/locales/ja/animal.yml +87 -0
- data/lib/locales/ja/artist.yml +46 -0
- data/lib/locales/ja/bank.yml +139 -0
- data/lib/locales/ja/book.yml +496 -0
- data/lib/locales/ja/cat.yml +79 -0
- data/lib/locales/ja/coffee.yml +22 -0
- data/lib/locales/ja/color.yml +35 -0
- data/lib/locales/ja/commerce.yml +103 -0
- data/lib/locales/ja/company.yml +26 -0
- data/lib/locales/ja/dog.yml +339 -0
- data/lib/locales/ja/emotion.yml +49 -0
- data/lib/locales/ja/food.yml +41 -0
- data/lib/locales/ja/football.yml +115 -0
- data/lib/locales/ja/gender.yml +6 -0
- data/lib/locales/ja/lorem.yml +1020 -0
- data/lib/locales/ja/name.yml +213 -0
- data/lib/locales/ja/naruto.yml +230 -0
- data/lib/locales/ja/overwatch.yml +37 -0
- data/lib/locales/ja/phone_number.yml +13 -0
- data/lib/locales/ja/pokemon.yml +441 -0
- data/lib/locales/ja/relationship.yml +33 -0
- data/lib/locales/ja/restaurant.yml +82 -0
- data/lib/locales/ja/space.yml +23 -0
- data/lib/locales/ja/sport.yml +130 -0
- data/lib/locales/ja/studio_ghibli.yml +112 -0
- data/lib/locales/ja/subscription.yml +50 -0
- data/lib/locales/ja/super_mario.yml +73 -0
- data/lib/locales/ja/super_smash_bros.yml +8 -0
- data/lib/locales/ja/touhou.yml +466 -0
- data/lib/locales/ja/university.yml +22 -0
- data/lib/locales/ja/zelda.yml +19 -0
- data/lib/locales/ko.yml +1450 -17
- data/lib/locales/lt.yml +315 -0
- data/lib/locales/lv.yml +1221 -27
- data/lib/locales/mi-NZ.yml +283 -0
- data/lib/locales/nb-NO.yml +518 -27
- data/lib/locales/nl.yml +33514 -55
- data/lib/locales/pl.yml +4008 -38
- data/lib/locales/pt-BR.yml +8210 -641
- data/lib/locales/pt.yml +846 -45
- data/lib/locales/ru.yml +1355 -30
- data/lib/locales/sk.yml +4416 -41
- data/lib/locales/sv.yml +731 -41
- data/lib/locales/th.yml +380 -0
- data/lib/locales/tr.yml +77 -19
- data/lib/locales/uk.yml +1814 -48
- data/lib/locales/vi.yml +392 -48
- data/lib/locales/zh-CN/bank.yml +17 -0
- data/lib/locales/zh-CN.yml +541 -19
- data/lib/locales/zh-TW.yml +1031 -15
- metadata +230 -125
- data/History.md +0 -176
- data/lib/faker/books/book.rb +0 -25
- data/lib/faker/default/bossa_nova.rb +0 -15
- data/lib/faker/default/fillmurray.rb +0 -15
- data/lib/faker/default/internet.rb +0 -207
- data/lib/faker/default/lorem_pixel.rb +0 -38
- data/lib/faker/default/twitter.rb +0 -174
- data/lib/faker/games/game.rb +0 -21
- data/lib/faker/movies/movie.rb +0 -11
- data/lib/faker/music/music.rb +0 -47
- data/lib/faker/quotes/quote.rb +0 -32
- data/lib/locales/en/hobbit.yml +0 -19
- data/lib/locales/en/lord_of_the_rings.yml +0 -6
- data/lib/locales/ja.yml +0 -98
data/History.md
DELETED
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
## v1.6.5 (2016-07-08)
|
|
2
|
-
* Removed Faker::ChuckNorris.name
|
|
3
|
-
|
|
4
|
-
## v1.6.4 (2016-07-06)
|
|
5
|
-
* Removed support for Ruby 1.9.3
|
|
6
|
-
* Added Faker::ChuckNorris, Faker::Crypto, Faker::Educator, Faker::File, Faker::Music, Faker::Space, Faker::Vehicle, and Faker::Yoda
|
|
7
|
-
* Fixed bug with credit card types
|
|
8
|
-
* DST fixes in Faker::Time
|
|
9
|
-
* Added Faker::Name.name_with_middle
|
|
10
|
-
* Added Faker::Code.imei
|
|
11
|
-
* Added Faker::Code.asin
|
|
12
|
-
* Added Faker::Lorem.question and Faker::Lorem.questions
|
|
13
|
-
* Added Faker::Internet.private_ip_v4_address
|
|
14
|
-
* Added Faker::Company.australian_business_number
|
|
15
|
-
* Other miscellaneous fixes and locale updates
|
|
16
|
-
|
|
17
|
-
## v1.6.3 (2016-02-23)
|
|
18
|
-
* Fix for UTF problem in Ruby 1.9.3
|
|
19
|
-
* Fix for Faker::StarWars.character
|
|
20
|
-
* Updated sv locale
|
|
21
|
-
|
|
22
|
-
## v1.6.2 (2016-02-20)
|
|
23
|
-
* Fix for locale-switching (Russian email addresses)
|
|
24
|
-
* Added Faker::Beer, Faker::Boolean, Faker::Cat, Faker::StarWars, and Faker::Superhero
|
|
25
|
-
* Added Faker::Color.color_name
|
|
26
|
-
* Added Faker::Date.between_except
|
|
27
|
-
* Fixed Faker::Internet.ip_v4_cidr and Faker::Internet.ip_v6_cidr
|
|
28
|
-
* Added locales: ca, ca-CAT, da-DK, fi-FI, and pt
|
|
29
|
-
|
|
30
|
-
## v1.6.1 (2015-11-23)
|
|
31
|
-
* Fix for locale issues in tests
|
|
32
|
-
|
|
33
|
-
## v1.6.0 (2015-11-23)
|
|
34
|
-
* Lots of bug fixes -- most notably, a fix for email addresses and domains in non-en locales
|
|
35
|
-
* Updated locales: de, en-AU, en-NZ, en-SG, en-US, en-au-ocker, en, es, fr, he, it, ja, nb-NO, pl, pt-BR, sk, and zh-CN
|
|
36
|
-
* Updated classes: Address, Avatar, Book, Code, Commerce, Company, Hipster, IDNumber, Internet, Number, Placeholdit, Shakespeare, and Time
|
|
37
|
-
|
|
38
|
-
## v1.5.0 (2015-08-17)
|
|
39
|
-
* Added logos
|
|
40
|
-
* Added Slack Emoji
|
|
41
|
-
* Updated image generators
|
|
42
|
-
* Updated Dutch Locale
|
|
43
|
-
* Added support for generating RGB values, HSL colors, alpha channel, and HSLA colors
|
|
44
|
-
* Added locale for Uganda
|
|
45
|
-
* Added basic Ukrainian support
|
|
46
|
-
* Added university name generator
|
|
47
|
-
* Updated documentation
|
|
48
|
-
* Updated a variety of locales
|
|
49
|
-
* Various fixes
|
|
50
|
-
|
|
51
|
-
## v1.4.3 (2014-08-15)
|
|
52
|
-
* Updated Russian locale
|
|
53
|
-
* Added EIN generator
|
|
54
|
-
* Fixed Swedish locale
|
|
55
|
-
* Added birthday to Faker::Date
|
|
56
|
-
* Added Faker::App
|
|
57
|
-
|
|
58
|
-
## v1.4.2 (2014-07-15)
|
|
59
|
-
* Added Swedish locale
|
|
60
|
-
* README update
|
|
61
|
-
|
|
62
|
-
## v1.4.1 (2014-07-04)
|
|
63
|
-
* Bugfix and cleanup
|
|
64
|
-
|
|
65
|
-
## v1.4.0 (2014-07-03)
|
|
66
|
-
* Many enhancements and bugfixes
|
|
67
|
-
|
|
68
|
-
## v1.3.0 (2014-03-08)
|
|
69
|
-
* Many enhancements and few bugfixes
|
|
70
|
-
|
|
71
|
-
## v1.2.0 (2013-07-27)
|
|
72
|
-
* Many major and minor enhancements :)
|
|
73
|
-
|
|
74
|
-
## v1.1.2 (2012-09-18)
|
|
75
|
-
* 1 minor change:
|
|
76
|
-
* Fixed Ruby 1.8 compatibility
|
|
77
|
-
|
|
78
|
-
## v1.1.1 (2012-09-17)
|
|
79
|
-
* 1 minor change:
|
|
80
|
-
* Removed ja locale because of parse errors
|
|
81
|
-
|
|
82
|
-
## v1.1.0 (2012-09-15)
|
|
83
|
-
* 1 major change:
|
|
84
|
-
* Removed deprecated methods from Address: earth_country, us_state, us_state_abbr, uk_postcode, uk_county
|
|
85
|
-
* Many minor changes (please see github pull requests for credits)
|
|
86
|
-
* Added many localizations
|
|
87
|
-
* Added range and array support for Lorem
|
|
88
|
-
|
|
89
|
-
## v1.0.1 (2011-09-27)
|
|
90
|
-
* 1 minor enhancement
|
|
91
|
-
* Added safe_email method to get someaddress@example.com [Kazimierz Kiełkowicz]
|
|
92
|
-
* 1 bug fix:
|
|
93
|
-
* Use the locale fallback properly when parsing string formats
|
|
94
|
-
|
|
95
|
-
## v1.0.0 (2011-09-08)
|
|
96
|
-
* 2 major enhancements
|
|
97
|
-
* Moved all formats to locale files
|
|
98
|
-
* Stopped interfering with I18n's global settings for fallbacks
|
|
99
|
-
* 3 minor bug fixes:
|
|
100
|
-
* Ruby 1.9.2 fixes [eMxyzptlk]
|
|
101
|
-
* UTF8 fixes [maxmiliano]
|
|
102
|
-
* Updated IPv4 generator to return valid addresses [Sylvain Desbureaux]
|
|
103
|
-
* Many minor enhancements:
|
|
104
|
-
* Added bork locale for bork-ified lorem [johnbentcope]
|
|
105
|
-
* Added IPv6 address generator [jc00ke]
|
|
106
|
-
* Removed deprecation warnings for Array#rand [chrismarshall]
|
|
107
|
-
* Added German translation and I18n improvments [Matthias Kühnert]
|
|
108
|
-
* Added Dutch translation [moretea]
|
|
109
|
-
* Added Lat/Long generator [Andy Callaghan]
|
|
110
|
-
* Added buzzword-laden title generator [supercleanse]
|
|
111
|
-
* Added optional extended wordlist for lorem [chriskottom]
|
|
112
|
-
* Updated German translation [Jan Schwenzien]
|
|
113
|
-
* Locale improvements [suweller]
|
|
114
|
-
* Added limit to lorem generator [darrenterhune]
|
|
115
|
-
* Added Brazilian Portuguese translation [maxmiliano]
|
|
116
|
-
* Added Australian translation [madeindata]
|
|
117
|
-
* Added Canadian translation [igbanam]
|
|
118
|
-
* Added Norwegian translation [kytrinyx]
|
|
119
|
-
* Lots of translation-related cleanup [kytrinyx]
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
## v0.9.5 (2011-01-27)
|
|
123
|
-
* 1 minor bug fix:
|
|
124
|
-
* Fixed YAML [Aaron Patterson]
|
|
125
|
-
* 3 minor enhancements:
|
|
126
|
-
* Added default rake task to run all tests [Aaron Patterson]
|
|
127
|
-
* Removed shuffle method [Aaron Patterson]
|
|
128
|
-
* Use psych if present [Aaron Patterson]
|
|
129
|
-
|
|
130
|
-
## v0.9.4 (2010-12-29)
|
|
131
|
-
* 1 minor bug fix:
|
|
132
|
-
* Stopped getting in the way of Rails' late locale loading
|
|
133
|
-
|
|
134
|
-
## v0.9.3 (2010-12-28)
|
|
135
|
-
* 1 minor enhancement:
|
|
136
|
-
* Added a faker namespace for translations
|
|
137
|
-
|
|
138
|
-
## v0.9.2 (2010-12-22)
|
|
139
|
-
* 1 bug fix:
|
|
140
|
-
* Stopped stomping on I18n load path
|
|
141
|
-
|
|
142
|
-
## v0.9.1 (2010-12-22)
|
|
143
|
-
* 1 bug fix:
|
|
144
|
-
* Stopped setting I18n default locale
|
|
145
|
-
* 1 major enhancement:
|
|
146
|
-
* Added method_missing to Address to add methods based on data in locale files
|
|
147
|
-
* 1 minor enhancement:
|
|
148
|
-
* Added Swiss locale [Lukas Westermann]
|
|
149
|
-
|
|
150
|
-
## v0.9.0 (2010-12-21)
|
|
151
|
-
* 1 major enhancement:
|
|
152
|
-
* Moved strings and some formats to locale files
|
|
153
|
-
|
|
154
|
-
## v0.3.1 (2008-04-03)
|
|
155
|
-
* 1 minor enhancement:
|
|
156
|
-
* Added city to Address
|
|
157
|
-
|
|
158
|
-
## v0.3.0 (2008-01-01)
|
|
159
|
-
* 3 major enhancements:
|
|
160
|
-
* Added Lorem to generate fake Latin
|
|
161
|
-
* Added secondary_address to Address, and made inclusion of
|
|
162
|
-
secondary address in street_address optional (false by
|
|
163
|
-
default).
|
|
164
|
-
* Added UK address methods [Caius Durling]
|
|
165
|
-
|
|
166
|
-
## v0.2.1 (2007-12-05)
|
|
167
|
-
* 1 major enhancement:
|
|
168
|
-
* Dropped facets to avoid conflict with ActiveSupport
|
|
169
|
-
* 2 minor enhancements:
|
|
170
|
-
* Changed the output of user_name to randomly separate with a . or _
|
|
171
|
-
* Added a few tests
|
|
172
|
-
|
|
173
|
-
## v0.1.0 (2007-11-22)
|
|
174
|
-
|
|
175
|
-
* 1 major enhancement:
|
|
176
|
-
* Initial release
|
data/lib/faker/books/book.rb
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Faker
|
|
4
|
-
class Book < Base
|
|
5
|
-
flexible :book
|
|
6
|
-
|
|
7
|
-
class << self
|
|
8
|
-
def title
|
|
9
|
-
fetch('book.title')
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def author
|
|
13
|
-
parse('book.author')
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def publisher
|
|
17
|
-
fetch('book.publisher')
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def genre
|
|
21
|
-
fetch('book.genre')
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Faker
|
|
4
|
-
class Fillmurray < Base
|
|
5
|
-
class << self
|
|
6
|
-
def image(grayscale: false, width: 200, height: 200)
|
|
7
|
-
raise ArgumentError, 'Width should be a number' unless width.to_s =~ /^\d+$/
|
|
8
|
-
raise ArgumentError, 'Height should be a number' unless height.to_s =~ /^\d+$/
|
|
9
|
-
raise ArgumentError, 'Grayscale should be a boolean' unless [true, false].include?(grayscale)
|
|
10
|
-
|
|
11
|
-
"https://www.fillmurray.com#{'/g' if grayscale == true}/#{width}/#{height}"
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Faker
|
|
4
|
-
class Internet < Base
|
|
5
|
-
class << self
|
|
6
|
-
def email(name: nil, separators: nil)
|
|
7
|
-
if separators
|
|
8
|
-
[username(specifier: name, separators: separators), domain_name].join('@')
|
|
9
|
-
else
|
|
10
|
-
[username(specifier: name), domain_name].join('@')
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def free_email(name: nil)
|
|
15
|
-
[username(specifier: name), fetch('internet.free_email')].join('@')
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def safe_email(name: nil)
|
|
19
|
-
[username(specifier: name), 'example.' + sample(%w[org com net])].join('@')
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def username(specifier: nil, separators: %w[. _])
|
|
23
|
-
with_locale(:en) do
|
|
24
|
-
return shuffle(specifier.scan(/[[:word:]]+/)).join(sample(separators)).downcase if specifier.respond_to?(:scan)
|
|
25
|
-
|
|
26
|
-
if specifier.is_a?(Integer)
|
|
27
|
-
# If specifier is Integer and has large value, Argument error exception is raised to overcome memory full error
|
|
28
|
-
raise ArgumentError, 'Given argument is too large' if specifier > 10**6
|
|
29
|
-
|
|
30
|
-
tries = 0 # Don't try forever in case we get something like 1_000_000.
|
|
31
|
-
result = nil
|
|
32
|
-
loop do
|
|
33
|
-
result = username(specifier: nil, separators: separators)
|
|
34
|
-
tries += 1
|
|
35
|
-
break unless result.length < specifier && tries < 7
|
|
36
|
-
end
|
|
37
|
-
return result * (specifier / result.length + 1) if specifier.positive?
|
|
38
|
-
elsif specifier.is_a?(Range)
|
|
39
|
-
tries = 0
|
|
40
|
-
result = nil
|
|
41
|
-
loop do
|
|
42
|
-
result = username(specifier: specifier.min, separators: separators)
|
|
43
|
-
tries += 1
|
|
44
|
-
break unless !specifier.include?(result.length) && tries < 7
|
|
45
|
-
end
|
|
46
|
-
return result[0...specifier.max]
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
sample([
|
|
50
|
-
Char.prepare(Name.first_name),
|
|
51
|
-
[Name.first_name, Name.last_name].map do |name|
|
|
52
|
-
Char.prepare(name)
|
|
53
|
-
end.join(sample(separators))
|
|
54
|
-
])
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def password(min_length: 8, max_length: 16, mix_case: true, special_characters: false)
|
|
59
|
-
temp = Lorem.characters(number: min_length)
|
|
60
|
-
diff_length = max_length - min_length
|
|
61
|
-
|
|
62
|
-
if diff_length.positive?
|
|
63
|
-
diff_rand = rand(diff_length + 1)
|
|
64
|
-
temp += Lorem.characters(number: diff_rand)
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
if mix_case
|
|
68
|
-
temp.chars.each_with_index do |char, index|
|
|
69
|
-
temp[index] = char.upcase if index.even?
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
if special_characters
|
|
74
|
-
chars = %w[! @ # $ % ^ & *]
|
|
75
|
-
rand(1..min_length).times do |i|
|
|
76
|
-
temp[i] = chars[rand(chars.length)]
|
|
77
|
-
end
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
temp
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
def domain_name(subdomain: false)
|
|
84
|
-
with_locale(:en) do
|
|
85
|
-
domain_elements = [Char.prepare(domain_word), domain_suffix]
|
|
86
|
-
domain_elements.unshift(Char.prepare(domain_word)) if subdomain
|
|
87
|
-
domain_elements.join('.')
|
|
88
|
-
end
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
def fix_umlauts(string: '')
|
|
92
|
-
Char.fix_umlauts(string)
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
def domain_word
|
|
96
|
-
with_locale(:en) { Char.prepare(Company.name.split(' ').first) }
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
def domain_suffix
|
|
100
|
-
fetch('internet.domain_suffix')
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
def mac_address(prefix: '')
|
|
104
|
-
prefix_digits = prefix.split(':').map { |d| d.to_i(16) }
|
|
105
|
-
address_digits = Array.new((6 - prefix_digits.size)) { rand(256) }
|
|
106
|
-
(prefix_digits + address_digits).map { |d| format('%02x', d) }.join(':')
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
def ip_v4_address
|
|
110
|
-
[rand_in_range(0, 255), rand_in_range(0, 255),
|
|
111
|
-
rand_in_range(0, 255), rand_in_range(0, 255)].join('.')
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
def private_ip_v4_address
|
|
115
|
-
addr = nil
|
|
116
|
-
loop do
|
|
117
|
-
addr = ip_v4_address
|
|
118
|
-
break if private_net_checker[addr]
|
|
119
|
-
end
|
|
120
|
-
addr
|
|
121
|
-
end
|
|
122
|
-
|
|
123
|
-
def public_ip_v4_address
|
|
124
|
-
addr = nil
|
|
125
|
-
loop do
|
|
126
|
-
addr = ip_v4_address
|
|
127
|
-
break unless reserved_net_checker[addr]
|
|
128
|
-
end
|
|
129
|
-
addr
|
|
130
|
-
end
|
|
131
|
-
|
|
132
|
-
def private_nets_regex
|
|
133
|
-
[
|
|
134
|
-
/^10\./, # 10.0.0.0 - 10.255.255.255
|
|
135
|
-
/^100\.(6[4-9]|[7-9]\d|1[0-1]\d|12[0-7])\./, # 100.64.0.0 - 100.127.255.255
|
|
136
|
-
/^127\./, # 127.0.0.0 - 127.255.255.255
|
|
137
|
-
/^169\.254\./, # 169.254.0.0 - 169.254.255.255
|
|
138
|
-
/^172\.(1[6-9]|2\d|3[0-1])\./, # 172.16.0.0 - 172.31.255.255
|
|
139
|
-
/^192\.0\.0\./, # 192.0.0.0 - 192.0.0.255
|
|
140
|
-
/^192\.168\./, # 192.168.0.0 - 192.168.255.255
|
|
141
|
-
/^198\.(1[8-9])\./ # 198.18.0.0 - 198.19.255.255
|
|
142
|
-
]
|
|
143
|
-
end
|
|
144
|
-
|
|
145
|
-
def private_net_checker
|
|
146
|
-
->(addr) { private_nets_regex.any? { |net| net =~ addr } }
|
|
147
|
-
end
|
|
148
|
-
|
|
149
|
-
def reserved_nets_regex
|
|
150
|
-
[
|
|
151
|
-
/^0\./, # 0.0.0.0 - 0.255.255.255
|
|
152
|
-
/^192\.0\.2\./, # 192.0.2.0 - 192.0.2.255
|
|
153
|
-
/^192\.88\.99\./, # 192.88.99.0 - 192.88.99.255
|
|
154
|
-
/^198\.51\.100\./, # 198.51.100.0 - 198.51.100.255
|
|
155
|
-
/^203\.0\.113\./, # 203.0.113.0 - 203.0.113.255
|
|
156
|
-
/^(22[4-9]|23\d)\./, # 224.0.0.0 - 239.255.255.255
|
|
157
|
-
/^(24\d|25[0-5])\./ # 240.0.0.0 - 255.255.255.254 and 255.255.255.255
|
|
158
|
-
]
|
|
159
|
-
end
|
|
160
|
-
|
|
161
|
-
def reserved_net_checker
|
|
162
|
-
->(addr) { (private_nets_regex + reserved_nets_regex).any? { |net| net =~ addr } }
|
|
163
|
-
end
|
|
164
|
-
|
|
165
|
-
def ip_v4_cidr
|
|
166
|
-
"#{ip_v4_address}/#{rand(1..31)}"
|
|
167
|
-
end
|
|
168
|
-
|
|
169
|
-
def ip_v6_address
|
|
170
|
-
(1..8).map { rand(65_536).to_s(16) }.join(':')
|
|
171
|
-
end
|
|
172
|
-
|
|
173
|
-
def ip_v6_cidr
|
|
174
|
-
"#{ip_v6_address}/#{rand(1..127)}"
|
|
175
|
-
end
|
|
176
|
-
|
|
177
|
-
def url(host: domain_name, path: "/#{username}", scheme: 'http')
|
|
178
|
-
"#{scheme}://#{host}#{path}"
|
|
179
|
-
end
|
|
180
|
-
|
|
181
|
-
def slug(words: nil, glue: nil)
|
|
182
|
-
glue ||= sample(%w[- _])
|
|
183
|
-
(words || Faker::Lorem.words(number: 2).join(' ')).delete(',.').gsub(' ', glue).downcase
|
|
184
|
-
end
|
|
185
|
-
|
|
186
|
-
def device_token
|
|
187
|
-
shuffle(rand(16**64).to_s(16).rjust(64, '0').chars.to_a).join
|
|
188
|
-
end
|
|
189
|
-
|
|
190
|
-
def user_agent(vendor: nil)
|
|
191
|
-
agent_hash = translate('faker.internet.user_agent')
|
|
192
|
-
agents = vendor.respond_to?(:to_sym) && agent_hash[vendor.to_sym] || agent_hash[sample(agent_hash.keys)]
|
|
193
|
-
sample(agents)
|
|
194
|
-
end
|
|
195
|
-
|
|
196
|
-
def uuid
|
|
197
|
-
# borrowed from: https://github.com/ruby/ruby/blob/d48783bb0236db505fe1205d1d9822309de53a36/lib/securerandom.rb#L250
|
|
198
|
-
ary = Faker::Config.random.bytes(16).unpack('NnnnnN')
|
|
199
|
-
ary[2] = (ary[2] & 0x0fff) | 0x4000
|
|
200
|
-
ary[3] = (ary[3] & 0x3fff) | 0x8000
|
|
201
|
-
'%08x-%04x-%04x-%04x-%04x%08x' % ary # rubocop:disable Style/FormatString
|
|
202
|
-
end
|
|
203
|
-
|
|
204
|
-
alias user_name username
|
|
205
|
-
end
|
|
206
|
-
end
|
|
207
|
-
end
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Faker
|
|
4
|
-
class LoremPixel < Base
|
|
5
|
-
class << self
|
|
6
|
-
SUPPORTED_CATEGORIES = %w[abstract
|
|
7
|
-
animals
|
|
8
|
-
business
|
|
9
|
-
cats
|
|
10
|
-
city
|
|
11
|
-
food
|
|
12
|
-
nightlife
|
|
13
|
-
fashion
|
|
14
|
-
people
|
|
15
|
-
nature
|
|
16
|
-
sports
|
|
17
|
-
technics
|
|
18
|
-
transport].freeze
|
|
19
|
-
|
|
20
|
-
# rubocop:disable Metrics/ParameterLists
|
|
21
|
-
def image(size: '300x300', is_gray: false, category: nil, number: nil, text: nil, secure: true)
|
|
22
|
-
raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /^[0-9]+x[0-9]+$/
|
|
23
|
-
raise ArgumentError, "Supported categories are #{SUPPORTED_CATEGORIES.join(', ')}" unless category.nil? || SUPPORTED_CATEGORIES.include?(category)
|
|
24
|
-
raise ArgumentError, 'Category required when number is passed' if !number.nil? && category.nil?
|
|
25
|
-
raise ArgumentError, 'Number must be between 1 and 10' unless number.nil? || (1..10).cover?(number)
|
|
26
|
-
raise ArgumentError, 'Category and number must be passed when text is passed' if !text.nil? && number.nil? && category.nil?
|
|
27
|
-
|
|
28
|
-
url_parts = secure ? ['https:/'] : ['http:/']
|
|
29
|
-
url_parts << ['lorempixel.com']
|
|
30
|
-
url_parts << 'g' if is_gray
|
|
31
|
-
url_parts += size.split('x')
|
|
32
|
-
url_parts += [category, number, text].compact
|
|
33
|
-
url_parts.join('/')
|
|
34
|
-
end
|
|
35
|
-
# rubocop:enable Metrics/ParameterLists
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Faker
|
|
4
|
-
class Twitter < Base
|
|
5
|
-
class << self
|
|
6
|
-
def user(include_status: true, include_email: false)
|
|
7
|
-
user_id = id
|
|
8
|
-
background_image_url = Faker::LoremPixel.image(size: '600x400') # TODO: Make the dimensions change
|
|
9
|
-
profile_image_url = Faker::Avatar.image(slug: user_id, size: '48x48')
|
|
10
|
-
user = {
|
|
11
|
-
id: user_id,
|
|
12
|
-
id_str: user_id.to_s,
|
|
13
|
-
contributors_enabled: Faker::Boolean.boolean(true_ratio: 0.1),
|
|
14
|
-
created_at: created_at,
|
|
15
|
-
default_profile_image: Faker::Boolean.boolean(true_ratio: 0.1),
|
|
16
|
-
default_profile: Faker::Boolean.boolean(true_ratio: 0.1),
|
|
17
|
-
description: Faker::Lorem.sentence,
|
|
18
|
-
entities: user_entities,
|
|
19
|
-
favourites_count: Faker::Number.between(to: 1, from: 100_000),
|
|
20
|
-
follow_request_sent: false,
|
|
21
|
-
followers_count: Faker::Number.between(to: 1, from: 10_000_000),
|
|
22
|
-
following: false,
|
|
23
|
-
friends_count: Faker::Number.between(to: 1, from: 100_000),
|
|
24
|
-
geo_enabled: Faker::Boolean.boolean(true_ratio: 0.1),
|
|
25
|
-
is_translation_enabled: Faker::Boolean.boolean(true_ratio: 0.1),
|
|
26
|
-
is_translator: Faker::Boolean.boolean(true_ratio: 0.1),
|
|
27
|
-
lang: Faker::Address.country_code,
|
|
28
|
-
listed_count: Faker::Number.between(to: 1, from: 1000),
|
|
29
|
-
location: "#{Faker::Address.city}, #{Faker::Address.state_abbr}, #{Faker::Address.country_code}",
|
|
30
|
-
name: Faker::Name.name,
|
|
31
|
-
notifications: false,
|
|
32
|
-
profile_background_color: Faker::Color.hex_color,
|
|
33
|
-
profile_background_image_url_https: background_image_url,
|
|
34
|
-
profile_background_image_url: background_image_url.sub('https://', 'http://'),
|
|
35
|
-
profile_background_tile: Faker::Boolean.boolean(true_ratio: 0.1),
|
|
36
|
-
profile_banner_url: Faker::LoremPixel.image(size: '1500x500'),
|
|
37
|
-
profile_image_url_https: profile_image_url,
|
|
38
|
-
profile_image_url: profile_image_url.sub('https://', 'http://'),
|
|
39
|
-
profile_link_color: Faker::Color.hex_color,
|
|
40
|
-
profile_sidebar_border_color: Faker::Color.hex_color,
|
|
41
|
-
profile_sidebar_fill_color: Faker::Color.hex_color,
|
|
42
|
-
profile_text_color: Faker::Color.hex_color,
|
|
43
|
-
profile_use_background_image: Faker::Boolean.boolean(true_ratio: 0.4),
|
|
44
|
-
protected: Faker::Boolean.boolean(true_ratio: 0.1),
|
|
45
|
-
screen_name: screen_name,
|
|
46
|
-
statuses_count: Faker::Number.between(to: 1, from: 100_000),
|
|
47
|
-
time_zone: Faker::Address.time_zone,
|
|
48
|
-
url: Faker::Internet.url(host: 'example.com'),
|
|
49
|
-
utc_offset: utc_offset,
|
|
50
|
-
verified: Faker::Boolean.boolean(true_ratio: 0.1)
|
|
51
|
-
}
|
|
52
|
-
user[:status] = Faker::Twitter.status(include_user: false) if include_status
|
|
53
|
-
user[:email] = Faker::Internet.safe_email if include_email
|
|
54
|
-
user
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
def status(include_user: true, include_photo: false)
|
|
58
|
-
status_id = id
|
|
59
|
-
status = {
|
|
60
|
-
id: status_id,
|
|
61
|
-
id_str: status_id.to_s,
|
|
62
|
-
contributors: nil,
|
|
63
|
-
coordinates: nil,
|
|
64
|
-
created_at: created_at,
|
|
65
|
-
entities: status_entities(include_photo: include_photo),
|
|
66
|
-
favorite_count: Faker::Number.between(to: 1, from: 10_000),
|
|
67
|
-
favorited: false,
|
|
68
|
-
geo: nil,
|
|
69
|
-
in_reply_to_screen_name: nil,
|
|
70
|
-
in_reply_to_status_id: nil,
|
|
71
|
-
in_reply_to_user_id_str: nil,
|
|
72
|
-
in_reply_to_user_id: nil,
|
|
73
|
-
is_quote_status: false,
|
|
74
|
-
lang: Faker::Address.country_code,
|
|
75
|
-
nil: nil,
|
|
76
|
-
place: nil,
|
|
77
|
-
possibly_sensitive: Faker::Boolean.boolean(true_ratio: 0.1),
|
|
78
|
-
retweet_count: Faker::Number.between(to: 1, from: 10_000),
|
|
79
|
-
retweeted_status: nil,
|
|
80
|
-
retweeted: false,
|
|
81
|
-
source: "<a href=\"#{Faker::Internet.url(host: 'example.com')}\" rel=\"nofollow\">#{Faker::Company.name}</a>",
|
|
82
|
-
text: Faker::Lorem.sentence,
|
|
83
|
-
truncated: false
|
|
84
|
-
}
|
|
85
|
-
status[:user] = Faker::Twitter.user(include_status: false) if include_user
|
|
86
|
-
status[:text] = "#{status[:text]} #{status[:entities][:media].first[:url]}" if include_photo
|
|
87
|
-
status
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
def screen_name
|
|
91
|
-
Faker::Internet.username(specifier: nil, separators: ['_'])[0...20]
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
private
|
|
95
|
-
|
|
96
|
-
def id
|
|
97
|
-
Faker::Number.between(from: 1, to: 9_223_372_036_854_775_807)
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
def created_at
|
|
101
|
-
Faker::Date.between(from: '2006-03-21', to: ::Date.today).strftime('%a %b %d %H:%M:%S %z %Y')
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
def utc_offset
|
|
105
|
-
Faker::Number.between(to: -43_200, from: 50_400)
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
def user_entities
|
|
109
|
-
{
|
|
110
|
-
url: {
|
|
111
|
-
urls: []
|
|
112
|
-
},
|
|
113
|
-
description: {
|
|
114
|
-
urls: []
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
end
|
|
118
|
-
|
|
119
|
-
def status_entities(include_photo: false)
|
|
120
|
-
entities = {
|
|
121
|
-
hashtags: [],
|
|
122
|
-
symbols: [],
|
|
123
|
-
user_mentions: [],
|
|
124
|
-
urls: []
|
|
125
|
-
}
|
|
126
|
-
entities[:media] = [photo_entity] if include_photo
|
|
127
|
-
entities
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
def photo_entity
|
|
131
|
-
# TODO: Dynamic image sizes
|
|
132
|
-
# TODO: Return accurate indices
|
|
133
|
-
media_url = Faker::LoremPixel.image(size: '1064x600')
|
|
134
|
-
media_id = id
|
|
135
|
-
{
|
|
136
|
-
id: media_id,
|
|
137
|
-
id_str: media_id.to_s,
|
|
138
|
-
indices: [
|
|
139
|
-
103,
|
|
140
|
-
126
|
|
141
|
-
],
|
|
142
|
-
media_url: media_url.sub('https://', 'http://'),
|
|
143
|
-
media_url_https: media_url,
|
|
144
|
-
url: Faker::Internet.url(host: 'example.com'),
|
|
145
|
-
display_url: 'example.com',
|
|
146
|
-
expanded_url: Faker::Internet.url(host: 'example.com'),
|
|
147
|
-
type: 'photo',
|
|
148
|
-
sizes: {
|
|
149
|
-
medium: {
|
|
150
|
-
w: 1064,
|
|
151
|
-
h: 600,
|
|
152
|
-
resize: 'fit'
|
|
153
|
-
},
|
|
154
|
-
large: {
|
|
155
|
-
w: 1064,
|
|
156
|
-
h: 600,
|
|
157
|
-
resize: 'fit'
|
|
158
|
-
},
|
|
159
|
-
small: {
|
|
160
|
-
w: 680,
|
|
161
|
-
h: 383,
|
|
162
|
-
resize: 'fit'
|
|
163
|
-
},
|
|
164
|
-
thumb: {
|
|
165
|
-
w: 150,
|
|
166
|
-
h: 150,
|
|
167
|
-
resize: 'crop'
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
end
|
|
172
|
-
end
|
|
173
|
-
end
|
|
174
|
-
end
|
data/lib/faker/games/game.rb
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Faker
|
|
4
|
-
class Game < Base
|
|
5
|
-
flexible :game
|
|
6
|
-
|
|
7
|
-
class << self
|
|
8
|
-
def title
|
|
9
|
-
fetch('game.title')
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def genre
|
|
13
|
-
fetch('game.genre')
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def platform
|
|
17
|
-
fetch('game.platform')
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|