faker 2.13.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 +1277 -24
- data/README.md +138 -320
- data/lib/faker/blockchain/aeternity.rb +5 -5
- data/lib/faker/blockchain/bitcoin.rb +1 -2
- data/lib/faker/blockchain/ethereum.rb +1 -1
- data/lib/faker/blockchain/tezos.rb +30 -3
- data/lib/faker/blockchain.rb +9 -0
- data/lib/faker/books/dune.rb +17 -12
- data/lib/faker/books/lovecraft.rb +16 -44
- data/lib/faker/books/the_kingkiller_chronicle.rb +61 -0
- data/lib/faker/books.rb +9 -0
- data/lib/faker/creature/bird.rb +203 -0
- data/lib/faker/creature.rb +9 -0
- data/lib/faker/default/address.rb +11 -31
- data/lib/faker/default/adjective.rb +35 -0
- data/lib/faker/default/alphanumeric.rb +3 -9
- data/lib/faker/default/app.rb +1 -10
- data/lib/faker/default/avatar.rb +2 -13
- data/lib/faker/default/bank.rb +28 -26
- data/lib/faker/default/barcode.rb +165 -0
- data/lib/faker/default/beer.rb +3 -3
- data/lib/faker/default/boolean.rb +2 -4
- data/lib/faker/default/camera.rb +46 -0
- data/lib/faker/default/cannabis.rb +10 -0
- data/lib/faker/default/chile_rut.rb +28 -27
- data/lib/faker/default/chuck_norris.rb +1 -0
- data/lib/faker/default/code.rb +166 -52
- data/lib/faker/default/color.rb +77 -6
- data/lib/faker/default/commerce.rb +32 -18
- data/lib/faker/default/company.rb +175 -30
- data/lib/faker/default/crypto.rb +25 -5
- data/lib/faker/default/crypto_coin.rb +3 -15
- data/lib/faker/default/date.rb +65 -42
- data/lib/faker/default/demographic.rb +1 -5
- data/lib/faker/default/driving_licence.rb +45 -20
- data/lib/faker/default/drone.rb +332 -0
- data/lib/faker/default/educator.rb +13 -0
- data/lib/faker/default/emotion.rb +33 -0
- data/lib/faker/default/file.rb +5 -22
- data/lib/faker/default/finance.rb +51 -7
- data/lib/faker/default/food.rb +28 -2
- data/lib/faker/default/hipster.rb +15 -52
- data/lib/faker/default/hobby.rb +22 -0
- data/lib/faker/default/html.rb +230 -0
- data/lib/faker/default/id_number.rb +176 -31
- data/lib/faker/default/invoice.rb +8 -21
- data/lib/faker/default/json.rb +15 -27
- data/lib/faker/default/lorem.rb +179 -77
- data/lib/faker/default/lorem_flickr.rb +5 -38
- data/lib/faker/default/markdown.rb +14 -17
- data/lib/faker/default/marketing.rb +1 -1
- data/lib/faker/default/measurement.rb +19 -50
- data/lib/faker/default/military.rb +26 -0
- data/lib/faker/default/mountain.rb +33 -0
- data/lib/faker/default/name.rb +1 -5
- data/lib/faker/default/nation.rb +0 -3
- data/lib/faker/default/{nhs.rb → national_health_service.rb} +10 -10
- data/lib/faker/default/number.rb +34 -62
- data/lib/faker/default/omniauth.rb +102 -97
- data/lib/faker/default/phone_number.rb +36 -21
- data/lib/faker/default/placeholdit.rb +12 -22
- data/lib/faker/{quotes → default}/quote.rb +39 -0
- data/lib/faker/default/relationship.rb +2 -6
- data/lib/faker/default/science.rb +108 -0
- data/lib/faker/default/source.rb +3 -16
- data/lib/faker/default/south_africa.rb +3 -3
- data/lib/faker/default/space.rb +1 -1
- data/lib/faker/default/sport.rb +116 -0
- data/lib/faker/default/string.rb +2 -8
- data/lib/faker/default/stripe.rb +7 -23
- data/lib/faker/default/tea.rb +41 -0
- data/lib/faker/{music/show.rb → default/theater.rb} +8 -8
- data/lib/faker/default/time.rb +4 -34
- data/lib/faker/default/types.rb +14 -36
- data/lib/faker/default/vehicle.rb +45 -55
- data/lib/faker/default/vulnerability_identifier.rb +23 -0
- data/lib/faker/default/world_cup.rb +2 -11
- 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 +1 -1
- data/lib/faker/games/dnd.rb +131 -14
- data/lib/faker/games/dota.rb +14 -5
- data/lib/faker/games/elder_scrolls.rb +26 -0
- data/lib/faker/games/final_fantasy_xiv.rb +73 -0
- data/lib/faker/games/heroes.rb +13 -0
- data/lib/faker/games/heroes_of_the_storm.rb +0 -11
- data/lib/faker/games/minecraft.rb +66 -1
- data/lib/faker/games/myst.rb +1 -1
- data/lib/faker/games/street_fighter.rb +61 -0
- data/lib/faker/games/super_mario.rb +48 -0
- data/lib/faker/games/tarkov.rb +205 -0
- data/lib/faker/games/touhou.rb +75 -0
- data/lib/faker/games/witcher.rb +39 -0
- data/lib/faker/games/world_of_warcraft.rb +26 -1
- data/lib/faker/games.rb +9 -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 +26 -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 +1 -1
- data/lib/faker/japanese_media/studio_ghibli.rb +48 -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/hackers.rb +48 -0
- data/lib/faker/movies/hobbit.rb +4 -4
- data/lib/faker/movies/how_to_train_your_dragon.rb +48 -0
- data/lib/faker/movies/lord_of_the_rings.rb +3 -3
- data/lib/faker/movies/star_wars.rb +75 -7
- data/lib/faker/movies/the_room.rb +63 -0
- data/lib/faker/movies/tron.rb +161 -0
- data/lib/faker/movies.rb +9 -0
- data/lib/faker/music/bossa_nova.rb +35 -0
- data/lib/faker/music/grateful_dead.rb +0 -2
- data/lib/faker/music/hiphop.rb +48 -0
- data/lib/faker/music/opera.rb +237 -1
- data/lib/faker/music/pearl_jam.rb +0 -2
- data/lib/faker/music/rock_band.rb +12 -0
- data/lib/faker/music/rush.rb +0 -2
- data/lib/faker/music/smashing_pumpkins.rb +62 -0
- data/lib/faker/{music/music.rb → music.rb} +16 -0
- data/lib/faker/quotes/rajnikanth.rb +1 -0
- data/lib/faker/quotes/shakespeare.rb +34 -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/chess.rb +90 -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/archer.rb +51 -0
- data/lib/faker/tv_shows/big_bang_theory.rb +1 -1
- data/lib/faker/tv_shows/brooklyn_nine_nine.rb +38 -0
- data/lib/faker/tv_shows/buffy.rb +5 -5
- data/lib/faker/tv_shows/dr_who.rb +0 -13
- data/lib/faker/tv_shows/final_space.rb +51 -0
- data/lib/faker/tv_shows/michael_scott.rb +0 -3
- data/lib/faker/tv_shows/south_park.rb +15 -0
- data/lib/faker/tv_shows/spongebob.rb +50 -0
- data/lib/faker/tv_shows/suits.rb +1 -1
- data/lib/faker/tv_shows/supernatural.rb +48 -0
- data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +5 -5
- data/lib/faker/tv_shows/the_office.rb +37 -0
- data/lib/faker/tv_shows.rb +9 -0
- data/lib/faker/version.rb +2 -2
- data/lib/faker.rb +96 -79
- data/lib/helpers/base58.rb +1 -1
- data/lib/helpers/deprecator.rb +118 -0
- data/lib/helpers/positional_generator.rb +478 -0
- data/lib/helpers/unique_generator.rb +14 -14
- data/lib/locales/README.md +18 -2
- data/lib/locales/ar.yml +1608 -46
- data/lib/locales/bg.yml +935 -19
- data/lib/locales/ca-CAT.yml +347 -12
- data/lib/locales/ca.yml +580 -7
- data/lib/locales/da-DK.yml +529 -35
- data/lib/locales/de-AT.yml +3487 -25
- data/lib/locales/de-CH.yml +4359 -10
- data/lib/locales/de.yml +7185 -97
- data/lib/locales/ee.yml +1185 -27
- data/lib/locales/en/address.yml +1826 -562
- 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 +31 -31
- 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 +34 -35
- data/lib/locales/en/bird.yml +1280 -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 +60 -61
- 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 +23 -4
- data/lib/locales/en/conan.yml +169 -0
- data/lib/locales/en/construction.yml +416 -422
- 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 +40 -44
- data/lib/locales/en/dessert.yml +78 -3
- data/lib/locales/en/device.yml +112 -4
- data/lib/locales/en/dnd.yml +615 -33
- 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 +6 -0
- 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 +7 -15
- 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 -3
- 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 +273 -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 +188 -175
- data/lib/locales/en/music.yml +461 -29
- data/lib/locales/en/myst.yml +87 -31
- data/lib/locales/en/name.yml +6068 -6
- 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 -2622
- data/lib/locales/en/parks_and_rec.yml +33 -4
- data/lib/locales/en/pearl_jam.yml +207 -207
- data/lib/locales/en/phish.yml +388 -389
- data/lib/locales/en/phone_number.yml +78 -3
- data/lib/locales/en/pokemon.yml +417 -4
- data/lib/locales/en/prince.yml +219 -219
- 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 +74 -74
- 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/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 -691
- 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 +525 -528
- 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/studio_ghibli.yml +107 -0
- data/lib/locales/en/subscription.yml +47 -5
- data/lib/locales/en/super_mario.yml +58 -0
- data/lib/locales/en/super_smash_bros.yml +23 -6
- 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 +540 -573
- 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 +725 -48
- data/lib/locales/en-BORK.yml +104 -1
- data/lib/locales/en-CA.yml +373 -18
- 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 +212 -35
- data/lib/locales/en-NG.yml +737 -65
- data/lib/locales/en-NZ.yml +1153 -121
- data/lib/locales/en-PAK.yml +392 -9
- data/lib/locales/en-SG.yml +581 -15
- data/lib/locales/en-TH.yml +1 -1
- data/lib/locales/en-UG.yml +374 -75
- data/lib/locales/en-US.yml +6921 -81
- data/lib/locales/en-ZA.yml +1394 -13
- data/lib/locales/en-au-ocker.yml +266 -21
- data/lib/locales/en.yml +0 -3
- data/lib/locales/es-AR.yml +4570 -0
- data/lib/locales/es-MX.yml +1907 -41
- data/lib/locales/es.yml +2172 -52
- data/lib/locales/fa.yml +1624 -5
- 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 +2754 -45
- data/lib/locales/fr-CH.yml +2455 -42
- data/lib/locales/fr.yml +2 -112
- data/lib/locales/he.yml +255 -9
- data/lib/locales/hy.yml +3630 -119
- data/lib/locales/id.yml +839 -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 +1380 -29
- 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 +8207 -660
- data/lib/locales/pt.yml +844 -43
- 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 +375 -375
- data/lib/locales/tr.yml +77 -19
- data/lib/locales/uk.yml +1810 -44
- data/lib/locales/vi.yml +392 -48
- data/lib/locales/zh-CN/bank.yml +17 -0
- data/lib/locales/zh-CN.yml +540 -18
- data/lib/locales/zh-TW.yml +1030 -14
- metadata +188 -141
- data/History.md +0 -176
- data/lib/faker/default/bossa_nova.rb +0 -33
- data/lib/faker/default/fillmurray.rb +0 -45
- data/lib/faker/default/internet.rb +0 -358
- data/lib/faker/default/lorem_pixel.rb +0 -69
- data/lib/faker/default/twitter.rb +0 -223
- data/lib/locales/en/hobbit.yml +0 -19
- data/lib/locales/en/lord_of_the_rings.yml +0 -6
- data/lib/locales/en/show.yml +0 -597
- data/lib/locales/ja.yml +0 -101
- /data/lib/faker/{books → default}/book.rb +0 -0
- /data/lib/faker/{games → default}/game.rb +0 -0
- /data/lib/faker/{movies → default}/movie.rb +0 -0
- /data/lib/faker/{default/internet_http.rb → internet/http.rb} +0 -0
|
@@ -9,8 +9,10 @@ module Faker
|
|
|
9
9
|
:email
|
|
10
10
|
|
|
11
11
|
def initialize(name: nil, email: nil)
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
super()
|
|
13
|
+
|
|
14
|
+
@name = name || "#{Faker::Name.first_name} #{Faker::Name.last_name}"
|
|
15
|
+
@email = email || Faker::Internet.email(name: self.name)
|
|
14
16
|
@first_name, @last_name = self.name.split
|
|
15
17
|
end
|
|
16
18
|
|
|
@@ -25,16 +27,8 @@ module Faker
|
|
|
25
27
|
# @return [Hash] An auth hash in the format provided by omniauth-google.
|
|
26
28
|
#
|
|
27
29
|
# @faker.version 1.8.0
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
# rubocop:enable Metrics/ParameterLists
|
|
31
|
-
warn_for_deprecated_arguments do |keywords|
|
|
32
|
-
keywords << :name if legacy_name != NOT_GIVEN
|
|
33
|
-
keywords << :email if legacy_email != NOT_GIVEN
|
|
34
|
-
keywords << :uid if legacy_uid != NOT_GIVEN
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
auth = Omniauth.new(name: name, email: email)
|
|
30
|
+
def google(name: nil, email: nil, uid: Faker::Number.number(digits: 9).to_s)
|
|
31
|
+
auth = new(name: name, email: email)
|
|
38
32
|
{
|
|
39
33
|
provider: 'google_oauth2',
|
|
40
34
|
uid: uid,
|
|
@@ -46,9 +40,9 @@ module Faker
|
|
|
46
40
|
image: image
|
|
47
41
|
},
|
|
48
42
|
credentials: {
|
|
49
|
-
token: Crypto.md5,
|
|
50
|
-
refresh_token: Crypto.md5,
|
|
51
|
-
expires_at: Time.forward.to_i,
|
|
43
|
+
token: Faker::Crypto.md5,
|
|
44
|
+
refresh_token: Faker::Crypto.md5,
|
|
45
|
+
expires_at: Faker::Time.forward.to_i,
|
|
52
46
|
expires: true
|
|
53
47
|
},
|
|
54
48
|
extra: {
|
|
@@ -62,20 +56,20 @@ module Faker
|
|
|
62
56
|
profile: "https://plus.google.com/#{uid}",
|
|
63
57
|
picture: image,
|
|
64
58
|
gender: gender,
|
|
65
|
-
birthday: Date.backward(days: 36_400).strftime('%Y-%m-%d'),
|
|
66
|
-
|
|
67
|
-
hd: "#{Company.name.downcase}.com"
|
|
59
|
+
birthday: Faker::Date.backward(days: 36_400).strftime('%Y-%m-%d'),
|
|
60
|
+
locale: 'en',
|
|
61
|
+
hd: "#{Faker::Company.name.downcase}.com"
|
|
68
62
|
},
|
|
69
63
|
id_info: {
|
|
70
64
|
iss: 'accounts.google.com',
|
|
71
|
-
at_hash: Crypto.md5,
|
|
65
|
+
at_hash: Faker::Crypto.md5,
|
|
72
66
|
email_verified: true,
|
|
73
|
-
sub: Number.number(digits: 28).to_s,
|
|
67
|
+
sub: Faker::Number.number(digits: 28).to_s,
|
|
74
68
|
azp: 'APP_ID',
|
|
75
69
|
email: auth.email,
|
|
76
70
|
aud: 'APP_ID',
|
|
77
|
-
iat: Time.forward.to_i,
|
|
78
|
-
exp: Time.forward.to_i,
|
|
71
|
+
iat: Faker::Time.forward.to_i,
|
|
72
|
+
exp: Faker::Time.forward.to_i,
|
|
79
73
|
openid_id: "https://www.google.com/accounts/o8/id?id=#{uid}"
|
|
80
74
|
}
|
|
81
75
|
}
|
|
@@ -93,17 +87,8 @@ module Faker
|
|
|
93
87
|
# @return [Hash] An auth hash in the format provided by omniauth-facebook.
|
|
94
88
|
#
|
|
95
89
|
# @faker.version 1.8.0
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
# rubocop:enable Metrics/ParameterLists
|
|
99
|
-
warn_for_deprecated_arguments do |keywords|
|
|
100
|
-
keywords << :name if legacy_name != NOT_GIVEN
|
|
101
|
-
keywords << :email if legacy_email != NOT_GIVEN
|
|
102
|
-
keywords << :username if legacy_username != NOT_GIVEN
|
|
103
|
-
keywords << :uid if legacy_uid != NOT_GIVEN
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
auth = Omniauth.new(name: name, email: email)
|
|
90
|
+
def facebook(name: nil, email: nil, username: nil, uid: Faker::Number.number(digits: 7).to_s)
|
|
91
|
+
auth = new(name: name, email: email)
|
|
107
92
|
username ||= "#{auth.first_name.downcase[0]}#{auth.last_name.downcase}"
|
|
108
93
|
{
|
|
109
94
|
provider: 'facebook',
|
|
@@ -117,7 +102,7 @@ module Faker
|
|
|
117
102
|
verified: random_boolean
|
|
118
103
|
},
|
|
119
104
|
credentials: {
|
|
120
|
-
token: Crypto.md5,
|
|
105
|
+
token: Faker::Crypto.md5,
|
|
121
106
|
expires_at: Time.forward.to_i,
|
|
122
107
|
expires: true
|
|
123
108
|
},
|
|
@@ -130,7 +115,7 @@ module Faker
|
|
|
130
115
|
link: "http://www.facebook.com/#{username}",
|
|
131
116
|
username: username,
|
|
132
117
|
location: {
|
|
133
|
-
id: Number.number(digits: 9).to_s,
|
|
118
|
+
id: Faker::Number.number(digits: 9).to_s,
|
|
134
119
|
name: city_state
|
|
135
120
|
},
|
|
136
121
|
gender: gender,
|
|
@@ -138,7 +123,7 @@ module Faker
|
|
|
138
123
|
timezone: timezone,
|
|
139
124
|
locale: 'en_US',
|
|
140
125
|
verified: random_boolean,
|
|
141
|
-
updated_time: Time.backward.iso8601
|
|
126
|
+
updated_time: Faker::Time.backward.iso8601
|
|
142
127
|
}
|
|
143
128
|
}
|
|
144
129
|
}
|
|
@@ -154,19 +139,11 @@ module Faker
|
|
|
154
139
|
# @return [Hash] An auth hash in the format provided by omniauth-twitter.
|
|
155
140
|
#
|
|
156
141
|
# @faker.version 1.8.0
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
# rubocop:enable Metrics/ParameterLists
|
|
160
|
-
warn_for_deprecated_arguments do |keywords|
|
|
161
|
-
keywords << :name if legacy_name != NOT_GIVEN
|
|
162
|
-
keywords << :nickname if legacy_nickname != NOT_GIVEN
|
|
163
|
-
keywords << :uid if legacy_uid != NOT_GIVEN
|
|
164
|
-
end
|
|
165
|
-
|
|
166
|
-
auth = Omniauth.new(name: name)
|
|
142
|
+
def twitter(name: nil, nickname: nil, uid: Faker::Number.number(digits: 6).to_s)
|
|
143
|
+
auth = new(name: name)
|
|
167
144
|
nickname ||= auth.name.downcase.delete(' ')
|
|
168
145
|
location = city_state
|
|
169
|
-
description = Lorem.sentence
|
|
146
|
+
description = Faker::Lorem.sentence
|
|
170
147
|
{
|
|
171
148
|
provider: 'twitter',
|
|
172
149
|
uid: uid,
|
|
@@ -182,26 +159,26 @@ module Faker
|
|
|
182
159
|
}
|
|
183
160
|
},
|
|
184
161
|
credentials: {
|
|
185
|
-
token: Crypto.md5,
|
|
186
|
-
secret: Crypto.md5
|
|
162
|
+
token: Faker::Crypto.md5,
|
|
163
|
+
secret: Faker::Crypto.md5
|
|
187
164
|
},
|
|
188
165
|
extra: {
|
|
189
166
|
access_token: '',
|
|
190
167
|
raw_info: {
|
|
191
168
|
name: auth.name,
|
|
192
169
|
listed_count: random_number_from_range(1..10),
|
|
193
|
-
profile_sidebar_border_color: Color.hex_color,
|
|
170
|
+
profile_sidebar_border_color: Faker::Color.hex_color,
|
|
194
171
|
url: nil,
|
|
195
172
|
lang: 'en',
|
|
196
173
|
statuses_count: random_number_from_range(1..1000),
|
|
197
174
|
profile_image_url: image,
|
|
198
175
|
profile_background_image_url_https: image,
|
|
199
176
|
location: location,
|
|
200
|
-
time_zone: Address.city,
|
|
177
|
+
time_zone: Faker::Address.city,
|
|
201
178
|
follow_request_sent: random_boolean,
|
|
202
179
|
id: uid,
|
|
203
180
|
profile_background_tile: random_boolean,
|
|
204
|
-
profile_sidebar_fill_color: Color.hex_color,
|
|
181
|
+
profile_sidebar_fill_color: Faker::Color.hex_color,
|
|
205
182
|
followers_count: random_number_from_range(1..10_000),
|
|
206
183
|
default_profile_image: random_boolean,
|
|
207
184
|
screen_name: '',
|
|
@@ -209,7 +186,7 @@ module Faker
|
|
|
209
186
|
utc_offset: timezone,
|
|
210
187
|
verified: random_boolean,
|
|
211
188
|
favourites_count: random_number_from_range(1..10),
|
|
212
|
-
profile_background_color: Color.hex_color,
|
|
189
|
+
profile_background_color: Faker::Color.hex_color,
|
|
213
190
|
is_translator: random_boolean,
|
|
214
191
|
friends_count: random_number_from_range(1..10_000),
|
|
215
192
|
notifications: random_boolean,
|
|
@@ -217,8 +194,8 @@ module Faker
|
|
|
217
194
|
profile_background_image_url: image,
|
|
218
195
|
protected: random_boolean,
|
|
219
196
|
description: description,
|
|
220
|
-
profile_link_color: Color.hex_color,
|
|
221
|
-
created_at: Time.backward.strftime('%a %b %d %H:%M:%S %z %Y'),
|
|
197
|
+
profile_link_color: Faker::Color.hex_color,
|
|
198
|
+
created_at: Faker::Time.backward.strftime('%a %b %d %H:%M:%S %z %Y'),
|
|
222
199
|
id_str: uid,
|
|
223
200
|
profile_image_url_https: image,
|
|
224
201
|
default_profile: random_boolean,
|
|
@@ -245,23 +222,15 @@ module Faker
|
|
|
245
222
|
# @return [Hash] An auth hash in the format provided by omniauth-linkedin.
|
|
246
223
|
#
|
|
247
224
|
# @faker.version 1.8.0
|
|
248
|
-
|
|
249
|
-
def linkedin(legacy_name = NOT_GIVEN, legacy_email = NOT_GIVEN, legacy_uid = NOT_GIVEN, name: nil, email: nil, uid: Number.number(digits: 6).to_s)
|
|
250
|
-
# rubocop:enable Metrics/ParameterLists
|
|
251
|
-
warn_for_deprecated_arguments do |keywords|
|
|
252
|
-
keywords << :name if legacy_name != NOT_GIVEN
|
|
253
|
-
keywords << :email if legacy_email != NOT_GIVEN
|
|
254
|
-
keywords << :uid if legacy_uid != NOT_GIVEN
|
|
255
|
-
end
|
|
256
|
-
|
|
225
|
+
def linkedin(name: nil, email: nil, uid: Faker::Number.number(digits: 6).to_s)
|
|
257
226
|
auth = Omniauth.new(name: name, email: email)
|
|
258
227
|
first_name = auth.first_name.downcase
|
|
259
228
|
last_name = auth.last_name.downcase
|
|
260
229
|
location = city_state
|
|
261
|
-
description = Lorem.sentence
|
|
262
|
-
token = Crypto.md5
|
|
263
|
-
secret = Crypto.md5
|
|
264
|
-
industry = Commerce.department
|
|
230
|
+
description = Faker::Lorem.sentence
|
|
231
|
+
token = Faker::Crypto.md5
|
|
232
|
+
secret = Faker::Crypto.md5
|
|
233
|
+
industry = Faker::Commerce.department
|
|
265
234
|
url = "http://www.linkedin.com/in/#{first_name}#{last_name}"
|
|
266
235
|
{
|
|
267
236
|
provider: 'linkedin',
|
|
@@ -275,7 +244,7 @@ module Faker
|
|
|
275
244
|
location: location,
|
|
276
245
|
description: description,
|
|
277
246
|
image: image,
|
|
278
|
-
phone: PhoneNumber.phone_number,
|
|
247
|
+
phone: Faker::PhoneNumber.phone_number,
|
|
279
248
|
headline: description,
|
|
280
249
|
industry: industry,
|
|
281
250
|
urls: {
|
|
@@ -306,7 +275,7 @@ module Faker
|
|
|
306
275
|
industry: industry,
|
|
307
276
|
lastName: auth.last_name,
|
|
308
277
|
location: {
|
|
309
|
-
country: { code: Address.country_code.downcase },
|
|
278
|
+
country: { code: Faker::Address.country_code.downcase },
|
|
310
279
|
name: city_state.split(', ').first
|
|
311
280
|
},
|
|
312
281
|
pictureUrl: image,
|
|
@@ -326,16 +295,8 @@ module Faker
|
|
|
326
295
|
# @return [Hash] An auth hash in the format provided by omniauth-github.
|
|
327
296
|
#
|
|
328
297
|
# @faker.version 1.8.0
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
# rubocop:enable Metrics/ParameterLists
|
|
332
|
-
warn_for_deprecated_arguments do |keywords|
|
|
333
|
-
keywords << :name if legacy_name != NOT_GIVEN
|
|
334
|
-
keywords << :email if legacy_email != NOT_GIVEN
|
|
335
|
-
keywords << :uid if legacy_uid != NOT_GIVEN
|
|
336
|
-
end
|
|
337
|
-
|
|
338
|
-
auth = Omniauth.new(name: name, email: email)
|
|
298
|
+
def github(name: nil, email: nil, uid: Faker::Number.number(digits: 8).to_s)
|
|
299
|
+
auth = new(name: name, email: email)
|
|
339
300
|
login = auth.name.downcase.tr(' ', '-')
|
|
340
301
|
html_url = "https://github.com/#{login}"
|
|
341
302
|
api_url = "https://api.github.com/users/#{login}"
|
|
@@ -385,8 +346,8 @@ module Faker
|
|
|
385
346
|
public_gists: random_number_from_range(1..1000),
|
|
386
347
|
followers: random_number_from_range(1..1000),
|
|
387
348
|
following: random_number_from_range(1..1000),
|
|
388
|
-
created_at: Time.backward(days: 36_400).iso8601,
|
|
389
|
-
updated_at: Time.backward(days: 2).iso8601
|
|
349
|
+
created_at: Faker::Time.backward(days: 36_400).iso8601,
|
|
350
|
+
updated_at: Faker::Time.backward(days: 2).iso8601
|
|
390
351
|
}
|
|
391
352
|
}
|
|
392
353
|
}
|
|
@@ -403,8 +364,8 @@ module Faker
|
|
|
403
364
|
#
|
|
404
365
|
# @faker.version 2.3.0
|
|
405
366
|
def apple(name: nil, email: nil, uid: nil)
|
|
406
|
-
uid ||= "#{Number.number(digits: 6)}.#{Number.hexadecimal(digits: 32)}.#{Number.number(digits: 4)}"
|
|
407
|
-
auth =
|
|
367
|
+
uid ||= "#{Faker::Number.number(digits: 6)}.#{Faker::Number.hexadecimal(digits: 32)}.#{Faker::Number.number(digits: 4)}"
|
|
368
|
+
auth = new(name: name, email: email)
|
|
408
369
|
{
|
|
409
370
|
provider: 'apple',
|
|
410
371
|
uid: uid,
|
|
@@ -415,20 +376,20 @@ module Faker
|
|
|
415
376
|
last_name: auth.last_name
|
|
416
377
|
},
|
|
417
378
|
credentials: {
|
|
418
|
-
token: Crypto.md5,
|
|
419
|
-
refresh_token: Crypto.md5,
|
|
420
|
-
expires_at: Time.forward.to_i,
|
|
379
|
+
token: Faker::Crypto.md5,
|
|
380
|
+
refresh_token: Faker::Crypto.md5,
|
|
381
|
+
expires_at: Faker::Time.forward.to_i,
|
|
421
382
|
expires: true
|
|
422
383
|
},
|
|
423
384
|
extra: {
|
|
424
385
|
raw_info: {
|
|
425
386
|
iss: 'https://appleid.apple.com',
|
|
426
387
|
aud: 'CLIENT_ID',
|
|
427
|
-
exp: Time.forward.to_i,
|
|
428
|
-
iat: Time.forward.to_i,
|
|
388
|
+
exp: Faker::Time.forward.to_i,
|
|
389
|
+
iat: Faker::Time.forward.to_i,
|
|
429
390
|
sub: uid,
|
|
430
|
-
at_hash: Crypto.md5,
|
|
431
|
-
auth_time: Time.forward.to_i,
|
|
391
|
+
at_hash: Faker::Crypto.md5,
|
|
392
|
+
auth_time: Faker::Time.forward.to_i,
|
|
432
393
|
email: auth.email,
|
|
433
394
|
email_verified: true
|
|
434
395
|
}
|
|
@@ -436,30 +397,74 @@ module Faker
|
|
|
436
397
|
}
|
|
437
398
|
end
|
|
438
399
|
|
|
400
|
+
##
|
|
401
|
+
# Generate a mock Omniauth response from Auth0.
|
|
402
|
+
#
|
|
403
|
+
# @param name [String] A specific name to return in the response.
|
|
404
|
+
# @param email [String] A specific email to return in the response.
|
|
405
|
+
# @param uid [String] A specific UID to return in the response.
|
|
406
|
+
#
|
|
407
|
+
# @return [Hash] An auth hash in the format provided by omniauth-auth0.
|
|
408
|
+
#
|
|
409
|
+
# @faker.version next
|
|
410
|
+
def auth0(name: nil, email: nil, uid: nil)
|
|
411
|
+
uid ||= "auth0|#{Faker::Number.hexadecimal(digits: 24)}"
|
|
412
|
+
auth = new(name: name, email: email)
|
|
413
|
+
{
|
|
414
|
+
provider: 'auth0',
|
|
415
|
+
uid: uid,
|
|
416
|
+
info: {
|
|
417
|
+
name: uid,
|
|
418
|
+
nickname: auth.name,
|
|
419
|
+
email: auth.email,
|
|
420
|
+
image: image
|
|
421
|
+
},
|
|
422
|
+
credentials: {
|
|
423
|
+
expires_at: Time.forward.to_i,
|
|
424
|
+
expires: true,
|
|
425
|
+
token_type: 'Bearer',
|
|
426
|
+
id_token: Faker::Crypto.sha256,
|
|
427
|
+
token: Faker::Crypto.md5,
|
|
428
|
+
refresh_token: Faker::Crypto.md5
|
|
429
|
+
},
|
|
430
|
+
extra: {
|
|
431
|
+
raw_info: {
|
|
432
|
+
email: auth.email,
|
|
433
|
+
email_verified: true,
|
|
434
|
+
iss: 'https://auth0.com/',
|
|
435
|
+
sub: uid,
|
|
436
|
+
aud: 'Auth012345',
|
|
437
|
+
iat: Faker::Time.forward.to_i,
|
|
438
|
+
exp: Faker::Time.forward.to_i
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
end
|
|
443
|
+
|
|
439
444
|
private
|
|
440
445
|
|
|
441
446
|
def gender
|
|
442
|
-
|
|
447
|
+
sample(%w[male female])
|
|
443
448
|
end
|
|
444
449
|
|
|
445
450
|
def timezone
|
|
446
|
-
|
|
451
|
+
sample((-12..12).to_a)
|
|
447
452
|
end
|
|
448
453
|
|
|
449
454
|
def image
|
|
450
|
-
Placeholdit.image
|
|
455
|
+
Faker::Placeholdit.image
|
|
451
456
|
end
|
|
452
457
|
|
|
453
458
|
def city_state
|
|
454
|
-
"#{Address.city}, #{Address.state}"
|
|
459
|
+
"#{Faker::Address.city}, #{Faker::Address.state}"
|
|
455
460
|
end
|
|
456
461
|
|
|
457
462
|
def random_number_from_range(range)
|
|
458
|
-
|
|
463
|
+
sample(range.to_a)
|
|
459
464
|
end
|
|
460
465
|
|
|
461
466
|
def random_boolean
|
|
462
|
-
|
|
467
|
+
sample([true, false])
|
|
463
468
|
end
|
|
464
469
|
end
|
|
465
470
|
end
|
|
@@ -4,12 +4,14 @@ module Faker
|
|
|
4
4
|
class PhoneNumber < Base
|
|
5
5
|
class << self
|
|
6
6
|
##
|
|
7
|
-
# Produces a
|
|
7
|
+
# Produces a phone number in a random format without the country code and it can have different dividers.
|
|
8
8
|
#
|
|
9
9
|
# @return [String]
|
|
10
10
|
#
|
|
11
11
|
# @example
|
|
12
|
-
# Faker::PhoneNumber.phone_number #=> "
|
|
12
|
+
# Faker::PhoneNumber.phone_number #=> "(504) 113-1705"
|
|
13
|
+
# Faker::PhoneNumber.phone_number #=> "662.291.7201"
|
|
14
|
+
# Faker::PhoneNumber.phone_number #=> "9415283713"
|
|
13
15
|
#
|
|
14
16
|
# @faker.version 0.3.0
|
|
15
17
|
def phone_number
|
|
@@ -17,12 +19,14 @@ module Faker
|
|
|
17
19
|
end
|
|
18
20
|
|
|
19
21
|
##
|
|
20
|
-
# Produces a random cell phone number in a random format
|
|
22
|
+
# Produces a random cell phone number in a random format without the country code and it can have different dividers.
|
|
21
23
|
#
|
|
22
24
|
# @return [String]
|
|
23
25
|
#
|
|
24
26
|
# @example
|
|
25
|
-
# Faker::PhoneNumber.cell_phone #=> "(
|
|
27
|
+
# Faker::PhoneNumber.cell_phone #=> "(836) 115-8995"
|
|
28
|
+
# Faker::PhoneNumber.cell_phone #=> "382-597-5739"
|
|
29
|
+
# Faker::PhoneNumber.cell_phone #=> "316.828.1822"
|
|
26
30
|
#
|
|
27
31
|
# @faker.version 1.0.0
|
|
28
32
|
def cell_phone
|
|
@@ -36,10 +40,12 @@ module Faker
|
|
|
36
40
|
#
|
|
37
41
|
# @example
|
|
38
42
|
# Faker::PhoneNumber.country_code #=> "+20"
|
|
43
|
+
# Faker::PhoneNumber.country_code #=> "+39"
|
|
44
|
+
# Faker::PhoneNumber.country_code #=> "+852"
|
|
39
45
|
#
|
|
40
46
|
# @faker.version 1.9.2
|
|
41
47
|
def country_code
|
|
42
|
-
"+#{fetch('country_code')}"
|
|
48
|
+
"+#{fetch('phone_number.country_code')}"
|
|
43
49
|
end
|
|
44
50
|
|
|
45
51
|
##
|
|
@@ -48,7 +54,9 @@ module Faker
|
|
|
48
54
|
# @return [String]
|
|
49
55
|
#
|
|
50
56
|
# @example
|
|
51
|
-
# Faker::PhoneNumber.phone_number_with_country_code #=> "+
|
|
57
|
+
# Faker::PhoneNumber.phone_number_with_country_code #=> "+55 466-746-6882"
|
|
58
|
+
# Faker::PhoneNumber.phone_number_with_country_code #=> "+81 3718219558"
|
|
59
|
+
# Faker::PhoneNumber.phone_number_with_country_code #=> "+49 140 957 9846"
|
|
52
60
|
#
|
|
53
61
|
# @faker.version 1.9.2
|
|
54
62
|
def phone_number_with_country_code
|
|
@@ -61,7 +69,9 @@ module Faker
|
|
|
61
69
|
# @return [String]
|
|
62
70
|
#
|
|
63
71
|
# @example
|
|
64
|
-
# Faker::PhoneNumber.cell_phone_with_country_code #=> "+
|
|
72
|
+
# Faker::PhoneNumber.cell_phone_with_country_code #=> "+852 (190) 987-9034"
|
|
73
|
+
# Faker::PhoneNumber.cell_phone_with_country_code #=> "+64 (820) 583-6474"
|
|
74
|
+
# Faker::PhoneNumber.cell_phone_with_country_code #=> "+1 591.871.7985"
|
|
65
75
|
#
|
|
66
76
|
# @faker.version 1.9.2
|
|
67
77
|
def cell_phone_with_country_code
|
|
@@ -69,12 +79,14 @@ module Faker
|
|
|
69
79
|
end
|
|
70
80
|
|
|
71
81
|
##
|
|
72
|
-
# Produces a random phone number in e164 format.
|
|
82
|
+
# Produces a random phone number in e164 format, i.e., without any dividers.
|
|
73
83
|
#
|
|
74
84
|
# @return [String]
|
|
75
85
|
#
|
|
76
86
|
# @example
|
|
77
|
-
# Faker::PhoneNumber.cell_phone_in_e164 #=> "+
|
|
87
|
+
# Faker::PhoneNumber.cell_phone_in_e164 #=> "+542024834991"
|
|
88
|
+
# Faker::PhoneNumber.cell_phone_in_e164 #=> "+8522846847703"
|
|
89
|
+
# Faker::PhoneNumber.cell_phone_in_e164 #=> "+649477546575"
|
|
78
90
|
#
|
|
79
91
|
# @faker.version 1.9.2
|
|
80
92
|
def cell_phone_in_e164
|
|
@@ -82,53 +94,56 @@ module Faker
|
|
|
82
94
|
end
|
|
83
95
|
|
|
84
96
|
##
|
|
85
|
-
# Produces a random
|
|
97
|
+
# Produces a random area code.
|
|
86
98
|
#
|
|
87
99
|
# @return [String]
|
|
88
100
|
#
|
|
89
101
|
# @example
|
|
90
102
|
# Faker::PhoneNumber.area_code #=> "201"
|
|
103
|
+
# Faker::PhoneNumber.area_code #=> "613"
|
|
104
|
+
# Faker::PhoneNumber.area_code #=> "321"
|
|
91
105
|
#
|
|
92
106
|
# @faker.version 1.3.0
|
|
93
107
|
def area_code
|
|
94
108
|
fetch('phone_number.area_code')
|
|
95
|
-
rescue I18n::MissingTranslationData
|
|
96
|
-
nil
|
|
97
109
|
end
|
|
98
110
|
|
|
99
111
|
##
|
|
100
|
-
# Produces a random
|
|
112
|
+
# Produces a random exchange code.
|
|
101
113
|
#
|
|
102
114
|
# @return [String]
|
|
103
115
|
#
|
|
104
116
|
# @example
|
|
105
117
|
# Faker::PhoneNumber.exchange_code #=> "208"
|
|
118
|
+
# Faker::PhoneNumber.exchange_code #=> "415"
|
|
119
|
+
# Faker::PhoneNumber.exchange_code #=> "652"
|
|
106
120
|
#
|
|
107
121
|
# @faker.version 1.3.0
|
|
108
122
|
def exchange_code
|
|
109
123
|
fetch('phone_number.exchange_code')
|
|
110
|
-
rescue I18n::MissingTranslationData
|
|
111
|
-
nil
|
|
112
124
|
end
|
|
113
125
|
|
|
114
126
|
##
|
|
115
|
-
# Produces a random
|
|
127
|
+
# Produces a random extension / subscriber number. Can be used for both extensions and last four digits of phone number.
|
|
116
128
|
#
|
|
117
|
-
# @param length [Integer]
|
|
129
|
+
# @param length [Integer] Specifies the length of the return value. Defaults to 4.
|
|
118
130
|
# @return [String]
|
|
119
131
|
#
|
|
120
132
|
# @example
|
|
121
133
|
# Faker::PhoneNumber.subscriber_number #=> "3873"
|
|
122
134
|
# Faker::PhoneNumber.subscriber_number(length: 2) #=> "39"
|
|
123
135
|
# Faker::PhoneNumber.extension #=> "3764"
|
|
136
|
+
# Faker::PhoneNumber.extension(length: 2) => "37"
|
|
124
137
|
#
|
|
125
138
|
# @faker.version 1.3.0
|
|
126
|
-
def subscriber_number(
|
|
127
|
-
|
|
128
|
-
|
|
139
|
+
def subscriber_number(length: 4)
|
|
140
|
+
if !length.is_a?(Integer) || length > 10
|
|
141
|
+
raise ArgumentError, 'length must be an Integer and be lesser than 10'
|
|
129
142
|
end
|
|
130
143
|
|
|
131
|
-
|
|
144
|
+
generate(:string) do |g|
|
|
145
|
+
g.int(length: length)
|
|
146
|
+
end
|
|
132
147
|
end
|
|
133
148
|
|
|
134
149
|
alias extension subscriber_number
|
|
@@ -6,7 +6,7 @@ module Faker
|
|
|
6
6
|
SUPPORTED_FORMATS = %w[png jpg gif jpeg].freeze
|
|
7
7
|
|
|
8
8
|
##
|
|
9
|
-
# Produces a random placeholder image from https://
|
|
9
|
+
# Produces a random placeholder image from https://via.placeholder.com.
|
|
10
10
|
#
|
|
11
11
|
# @param size [String] Specifies the image's size, dimensions separated by 'x'.
|
|
12
12
|
# @param format [String] Specifies the image's extension.
|
|
@@ -17,35 +17,25 @@ module Faker
|
|
|
17
17
|
#
|
|
18
18
|
# @example
|
|
19
19
|
# # Keyword arguments: size, format, background_color, text_color, text
|
|
20
|
-
# Faker::Placeholdit.image #=> "https://
|
|
21
|
-
# Faker::Placeholdit.image(size: '50x50') #=> "https://
|
|
22
|
-
# Faker::Placeholdit.image(size: '50x50', format: 'jpg') #=> "https://
|
|
23
|
-
# Faker::Placeholdit.image(size: '50x50', format: 'gif', background_color: 'ffffff') #=> "https://
|
|
24
|
-
# Faker::Placeholdit.image(size: '50x50', format: 'jpeg', background_color: :random) #=> "https://
|
|
25
|
-
# Faker::Placeholdit.image(size: '50x50', format: 'jpeg', background_color: 'ffffff', text_color: '000') #=> "https://
|
|
26
|
-
# Faker::Placeholdit.image(size: '50x50', format: 'jpg', background_color: 'ffffff', text_color: '000', text: 'Some Custom Text') #=> "https://
|
|
20
|
+
# Faker::Placeholdit.image #=> "https://via.placeholder.com/300x300.png"
|
|
21
|
+
# Faker::Placeholdit.image(size: '50x50') #=> "https://via.placeholder.com/50x50.png"
|
|
22
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'jpg') #=> "https://via.placeholder.com/50x50.jpg"
|
|
23
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'gif', background_color: 'ffffff') #=> "https://via.placeholder.com/50x50.gif/ffffff"
|
|
24
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'jpeg', background_color: :random) #=> "https://via.placeholder.com/50x50.jpeg/39eba7"
|
|
25
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'jpeg', background_color: 'ffffff', text_color: '000') #=> "https://via.placeholder.com/50x50.jpeg/ffffff/000"
|
|
26
|
+
# Faker::Placeholdit.image(size: '50x50', format: 'jpg', background_color: 'ffffff', text_color: '000', text: 'Some Custom Text') #=> "https://via.placeholder.com/50x50.jpg/ffffff/000?text=Some Custom Text"
|
|
27
27
|
#
|
|
28
28
|
# @faker.version 1.6.0
|
|
29
|
-
|
|
30
|
-
def image(legacy_size = NOT_GIVEN, legacy_format = NOT_GIVEN, legacy_background_color = NOT_GIVEN, legacy_text_color = NOT_GIVEN, legacy_text = NOT_GIVEN, size: '300x300', format: 'png', background_color: nil, text_color: nil, text: nil)
|
|
31
|
-
# rubocop:enable Metrics/ParameterLists
|
|
32
|
-
warn_for_deprecated_arguments do |keywords|
|
|
33
|
-
keywords << :size if legacy_size != NOT_GIVEN
|
|
34
|
-
keywords << :format if legacy_format != NOT_GIVEN
|
|
35
|
-
keywords << :background_color if legacy_background_color != NOT_GIVEN
|
|
36
|
-
keywords << :text_color if legacy_text_color != NOT_GIVEN
|
|
37
|
-
keywords << :text if legacy_text != NOT_GIVEN
|
|
38
|
-
end
|
|
39
|
-
|
|
29
|
+
def image(size: '300x300', format: 'png', background_color: nil, text_color: nil, text: nil)
|
|
40
30
|
background_color = generate_color if background_color == :random
|
|
41
31
|
text_color = generate_color if text_color == :random
|
|
42
32
|
|
|
43
|
-
raise ArgumentError, 'Size should be specified in format 300x300' unless size =~
|
|
33
|
+
raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /\A[0-9]+x[0-9]+\z$/
|
|
44
34
|
raise ArgumentError, "Supported formats are #{SUPPORTED_FORMATS.join(', ')}" unless SUPPORTED_FORMATS.include?(format)
|
|
45
35
|
raise ArgumentError, "background_color must be a hex value without '#'" unless background_color.nil? || background_color =~ /((?:^\h{3}$)|(?:^\h{6}$)){1}(?!.*\H)/
|
|
46
36
|
raise ArgumentError, "text_color must be a hex value without '#'" unless text_color.nil? || text_color =~ /((?:^\h{3}$)|(?:^\h{6}$)){1}(?!.*\H)/
|
|
47
37
|
|
|
48
|
-
image_url = "https://
|
|
38
|
+
image_url = "https://via.placeholder.com/#{size}.#{format}"
|
|
49
39
|
image_url += "/#{background_color}" if background_color
|
|
50
40
|
image_url += "/#{text_color}" if text_color
|
|
51
41
|
image_url += "?text=#{text}" if text
|
|
@@ -55,7 +45,7 @@ module Faker
|
|
|
55
45
|
private
|
|
56
46
|
|
|
57
47
|
def generate_color
|
|
58
|
-
format('%06x',
|
|
48
|
+
format('%06x', rand * 0xffffff)
|
|
59
49
|
end
|
|
60
50
|
end
|
|
61
51
|
end
|
|
@@ -16,6 +16,19 @@ module Faker
|
|
|
16
16
|
fetch('quote.famous_last_words')
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
+
##
|
|
20
|
+
# Produces a quote from Deep Thoughts by Jack Handey.
|
|
21
|
+
#
|
|
22
|
+
# @return [String]
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
# Faker::Quote.jack_handey # => "I hope life isn't a big joke, because I don't get it."
|
|
26
|
+
#
|
|
27
|
+
# @faker.version next
|
|
28
|
+
def jack_handey
|
|
29
|
+
fetch('quote.jack_handey')
|
|
30
|
+
end
|
|
31
|
+
|
|
19
32
|
##
|
|
20
33
|
# Produces a quote from Matz.
|
|
21
34
|
#
|
|
@@ -80,6 +93,32 @@ module Faker
|
|
|
80
93
|
def yoda
|
|
81
94
|
fetch('quote.yoda')
|
|
82
95
|
end
|
|
96
|
+
|
|
97
|
+
##
|
|
98
|
+
# Produces a quote from a fortune cookie.
|
|
99
|
+
#
|
|
100
|
+
# @return [String]
|
|
101
|
+
#
|
|
102
|
+
# @example
|
|
103
|
+
# Faker::Quote.fortune_cookie #=> "This cookie senses that you are superstitious; it is an inclination that is bad for your mental health."
|
|
104
|
+
#
|
|
105
|
+
# @faker.version next
|
|
106
|
+
def fortune_cookie
|
|
107
|
+
fetch('quote.fortune_cookie')
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
##
|
|
111
|
+
# Produces a quote from comedian Mitch Hedberg.
|
|
112
|
+
#
|
|
113
|
+
# @return [String]
|
|
114
|
+
#
|
|
115
|
+
# @example
|
|
116
|
+
# Faker::Quote.mitch_hedberg # => "I like Kit-Kats, unless I'm with four or more people."
|
|
117
|
+
#
|
|
118
|
+
# @faker.version next
|
|
119
|
+
def mitch_hedberg
|
|
120
|
+
fetch('quote.mitch_hedberg')
|
|
121
|
+
end
|
|
83
122
|
end
|
|
84
123
|
end
|
|
85
124
|
end
|