faker 1.1.2 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +2383 -0
- data/History.md +176 -0
- data/License.txt +2 -2
- data/README.md +487 -47
- data/bin/faker +5 -0
- data/lib/faker/blockchain/aeternity.rb +70 -0
- data/lib/faker/blockchain/bitcoin.rb +60 -0
- data/lib/faker/blockchain/ethereum.rb +26 -0
- data/lib/faker/blockchain/tezos.rb +135 -0
- data/lib/faker/books/book.rb +61 -0
- data/lib/faker/books/culture_series.rb +83 -0
- data/lib/faker/books/dune.rb +124 -0
- data/lib/faker/books/lovecraft.rb +249 -0
- data/lib/faker/books/the_kingkiller_chronicle.rb +61 -0
- data/lib/faker/creature/animal.rb +22 -0
- data/lib/faker/creature/bird.rb +203 -0
- data/lib/faker/creature/cat.rb +50 -0
- data/lib/faker/creature/dog.rb +115 -0
- data/lib/faker/creature/horse.rb +37 -0
- data/lib/faker/default/address.rb +348 -0
- data/lib/faker/default/adjective.rb +35 -0
- data/lib/faker/default/alphanumeric.rb +67 -0
- data/lib/faker/default/ancient.rb +59 -0
- data/lib/faker/default/app.rb +68 -0
- data/lib/faker/default/appliance.rb +33 -0
- data/lib/faker/default/artist.rb +20 -0
- data/lib/faker/default/avatar.rb +49 -0
- data/lib/faker/default/bank.rb +199 -0
- data/lib/faker/default/barcode.rb +165 -0
- data/lib/faker/default/beer.rb +113 -0
- data/lib/faker/default/blood.rb +48 -0
- data/lib/faker/default/boolean.rb +23 -0
- data/lib/faker/default/bossa_nova.rb +33 -0
- data/lib/faker/default/business.rb +50 -0
- data/lib/faker/default/camera.rb +46 -0
- data/lib/faker/default/cannabis.rb +135 -0
- data/lib/faker/default/chile_rut.rb +92 -0
- data/lib/faker/default/chuck_norris.rb +25 -0
- data/lib/faker/default/code.rb +269 -0
- data/lib/faker/default/coffee.rb +82 -0
- data/lib/faker/default/coin.rb +33 -0
- data/lib/faker/default/color.rb +150 -0
- data/lib/faker/default/commerce.rb +157 -0
- data/lib/faker/default/company.rb +571 -0
- data/lib/faker/default/compass.rb +202 -0
- data/lib/faker/default/computer.rb +63 -0
- data/lib/faker/default/construction.rb +83 -0
- data/lib/faker/default/cosmere.rb +138 -0
- data/lib/faker/default/crypto.rb +61 -0
- data/lib/faker/default/crypto_coin.rb +82 -0
- data/lib/faker/default/currency.rb +46 -0
- data/lib/faker/default/date.rb +153 -0
- data/lib/faker/default/dc_comics.rb +70 -0
- data/lib/faker/default/demographic.rb +94 -0
- data/lib/faker/default/dessert.rb +48 -0
- data/lib/faker/default/device.rb +85 -0
- data/lib/faker/default/driving_licence.rb +121 -0
- data/lib/faker/default/drone.rb +332 -0
- data/lib/faker/default/educator.rb +102 -0
- data/lib/faker/default/electrical_components.rb +48 -0
- data/lib/faker/default/emotion.rb +33 -0
- data/lib/faker/default/esport.rb +72 -0
- data/lib/faker/default/file.rb +81 -0
- data/lib/faker/default/fillmurray.rb +38 -0
- data/lib/faker/default/finance.rb +112 -0
- data/lib/faker/default/food.rb +126 -0
- data/lib/faker/default/funny_name.rb +90 -0
- data/lib/faker/default/gender.rb +46 -0
- data/lib/faker/default/greek_philosophers.rb +33 -0
- data/lib/faker/default/hacker.rb +103 -0
- data/lib/faker/default/hipster.rb +155 -0
- data/lib/faker/default/hobby.rb +22 -0
- data/lib/faker/default/house.rb +33 -0
- data/lib/faker/default/id_number.rb +410 -0
- data/lib/faker/default/industry_segments.rb +61 -0
- data/lib/faker/default/internet.rb +582 -0
- data/lib/faker/default/internet_http.rb +48 -0
- data/lib/faker/default/invoice.rb +123 -0
- data/lib/faker/default/job.rb +61 -0
- data/lib/faker/default/json.rb +125 -0
- data/lib/faker/default/kpop.rb +85 -0
- data/lib/faker/default/lorem.rb +250 -0
- data/lib/faker/default/lorem_flickr.rb +110 -0
- data/lib/faker/default/markdown.rb +170 -0
- data/lib/faker/default/marketing.rb +22 -0
- data/lib/faker/default/measurement.rb +175 -0
- data/lib/faker/default/military.rb +98 -0
- data/lib/faker/default/mountain.rb +33 -0
- data/lib/faker/default/name.rb +152 -0
- data/lib/faker/default/nation.rb +73 -0
- data/lib/faker/default/nato_phonetic_alphabet.rb +20 -0
- data/lib/faker/default/nhs.rb +53 -0
- data/lib/faker/default/number.rb +244 -0
- data/lib/faker/default/omniauth.rb +471 -0
- data/lib/faker/default/phone_number.rb +133 -0
- data/lib/faker/default/placeholdit.rb +52 -0
- data/lib/faker/default/programming_language.rb +33 -0
- data/lib/faker/default/relationship.rb +87 -0
- data/lib/faker/default/religion.rb +6 -0
- data/lib/faker/default/restaurant.rb +63 -0
- data/lib/faker/default/science.rb +154 -0
- data/lib/faker/default/slack_emoji.rb +124 -0
- data/lib/faker/default/source.rb +63 -0
- data/lib/faker/default/south_africa.rb +141 -0
- data/lib/faker/default/space.rb +191 -0
- data/lib/faker/default/string.rb +59 -0
- data/lib/faker/default/stripe.rb +126 -0
- data/lib/faker/default/subscription.rb +70 -0
- data/lib/faker/default/superhero.rb +72 -0
- data/lib/faker/default/tea.rb +41 -0
- data/lib/faker/default/team.rb +74 -0
- data/lib/faker/default/time.rb +149 -0
- data/lib/faker/default/twitter.rb +207 -0
- data/lib/faker/default/types.rb +160 -0
- data/lib/faker/default/university.rb +75 -0
- data/lib/faker/default/vehicle.rb +320 -0
- data/lib/faker/default/verb.rb +72 -0
- data/lib/faker/default/vulnerability_identifier.rb +23 -0
- data/lib/faker/default/world_cup.rb +77 -0
- data/lib/faker/fantasy/tolkien.rb +67 -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 +136 -0
- data/lib/faker/games/dota.rb +89 -0
- data/lib/faker/games/elder_scrolls.rb +139 -0
- data/lib/faker/games/fallout.rb +62 -0
- data/lib/faker/games/game.rb +48 -0
- data/lib/faker/games/half_life.rb +48 -0
- data/lib/faker/games/heroes.rb +61 -0
- data/lib/faker/games/heroes_of_the_storm.rb +72 -0
- data/lib/faker/games/league_of_legends.rb +87 -0
- data/lib/faker/games/minecraft.rb +113 -0
- data/lib/faker/games/myst.rb +74 -0
- data/lib/faker/games/overwatch.rb +48 -0
- data/lib/faker/games/pokemon.rb +48 -0
- data/lib/faker/games/sonic_the_hedgehog.rb +48 -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 +35 -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 +126 -0
- data/lib/faker/games/world_of_warcraft.rb +60 -0
- data/lib/faker/games/zelda.rb +62 -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 +48 -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 +87 -0
- data/lib/faker/japanese_media/studio_ghibli.rb +48 -0
- data/lib/faker/japanese_media/sword_art_online.rb +61 -0
- data/lib/faker/locations/australia.rb +47 -0
- data/lib/faker/movies/back_to_the_future.rb +49 -0
- data/lib/faker/movies/departed.rb +49 -0
- data/lib/faker/movies/ghostbusters.rb +49 -0
- data/lib/faker/movies/hackers.rb +48 -0
- data/lib/faker/movies/harry_potter.rb +87 -0
- data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +106 -0
- data/lib/faker/movies/hobbit.rb +62 -0
- data/lib/faker/movies/how_to_train_your_dragon.rb +48 -0
- data/lib/faker/movies/lebowski.rb +48 -0
- data/lib/faker/movies/lord_of_the_rings.rb +49 -0
- data/lib/faker/movies/movie.rb +33 -0
- data/lib/faker/movies/princess_bride.rb +36 -0
- data/lib/faker/movies/room.rb +63 -0
- data/lib/faker/movies/star_wars.rb +269 -0
- data/lib/faker/movies/tron.rb +161 -0
- data/lib/faker/movies/v_for_vendetta.rb +50 -0
- data/lib/faker/music/grateful_dead.rb +37 -0
- data/lib/faker/music/hiphop.rb +48 -0
- data/lib/faker/music/music.rb +145 -0
- data/lib/faker/music/opera.rb +298 -0
- data/lib/faker/music/pearl_jam.rb +50 -0
- data/lib/faker/music/phish.rb +48 -0
- data/lib/faker/music/prince.rb +64 -0
- data/lib/faker/music/rock_band.rb +34 -0
- data/lib/faker/music/rush.rb +37 -0
- data/lib/faker/music/show.rb +49 -0
- data/lib/faker/music/umphreys_mcgee.rb +22 -0
- data/lib/faker/quotes/chiquito.rb +80 -0
- data/lib/faker/quotes/quote.rb +111 -0
- data/lib/faker/quotes/rajnikanth.rb +27 -0
- data/lib/faker/quotes/shakespeare.rb +111 -0
- data/lib/faker/religion/bible.rb +50 -0
- data/lib/faker/sports/basketball.rb +61 -0
- data/lib/faker/sports/football.rb +74 -0
- data/lib/faker/sports/mountaineering.rb +22 -0
- data/lib/faker/sports/sport.rb +116 -0
- data/lib/faker/sports/volleyball.rb +74 -0
- data/lib/faker/travel/airport.rb +47 -0
- data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +37 -0
- data/lib/faker/tv_shows/big_bang_theory.rb +37 -0
- data/lib/faker/tv_shows/bojack_horseman.rb +51 -0
- data/lib/faker/tv_shows/breaking_bad.rb +37 -0
- data/lib/faker/tv_shows/brooklyn_nine_nine.rb +38 -0
- data/lib/faker/tv_shows/buffy.rb +89 -0
- data/lib/faker/tv_shows/community.rb +38 -0
- data/lib/faker/tv_shows/dr_who.rb +115 -0
- data/lib/faker/tv_shows/dumb_and_dumber.rb +51 -0
- data/lib/faker/tv_shows/family_guy.rb +51 -0
- data/lib/faker/tv_shows/final_space.rb +51 -0
- data/lib/faker/tv_shows/friends.rb +50 -0
- data/lib/faker/tv_shows/futurama.rb +65 -0
- data/lib/faker/tv_shows/game_of_thrones.rb +77 -0
- data/lib/faker/tv_shows/hey_arnold.rb +50 -0
- data/lib/faker/tv_shows/how_i_met_your_mother.rb +64 -0
- data/lib/faker/tv_shows/michael_scott.rb +23 -0
- data/lib/faker/tv_shows/new_girl.rb +38 -0
- data/lib/faker/tv_shows/parks_and_rec.rb +37 -0
- data/lib/faker/tv_shows/rick_and_morty.rb +51 -0
- data/lib/faker/tv_shows/ru_paul.rb +37 -0
- data/lib/faker/tv_shows/seinfeld.rb +51 -0
- data/lib/faker/tv_shows/silicon_valley.rb +118 -0
- data/lib/faker/tv_shows/simpsons.rb +65 -0
- data/lib/faker/tv_shows/south_park.rb +38 -0
- data/lib/faker/tv_shows/spongebob.rb +50 -0
- data/lib/faker/tv_shows/star_trek.rb +63 -0
- data/lib/faker/tv_shows/stargate.rb +51 -0
- data/lib/faker/tv_shows/stranger_things.rb +38 -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 +63 -0
- data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +64 -0
- data/lib/faker/tv_shows/the_it_crowd.rb +64 -0
- data/lib/faker/tv_shows/the_office.rb +37 -0
- data/lib/faker/tv_shows/the_thick_of_it.rb +51 -0
- data/lib/faker/tv_shows/twin_peaks.rb +51 -0
- data/lib/faker/tv_shows/venture_bros.rb +65 -0
- data/lib/faker/version.rb +4 -2
- data/lib/faker.rb +170 -58
- data/lib/helpers/base58.rb +22 -0
- data/lib/helpers/char.rb +61 -0
- data/lib/helpers/unique_generator.rb +60 -0
- data/lib/locales/README.md +40 -0
- data/lib/locales/ar.yml +106 -0
- data/lib/locales/bg.yml +44 -0
- data/lib/locales/ca-CAT.yml +24 -0
- data/lib/locales/ca.yml +23 -0
- data/lib/locales/da-DK.yml +72 -0
- data/lib/locales/de-AT.yml +57 -0
- data/lib/locales/de-CH.yml +1713 -0
- data/lib/locales/de.yml +131 -9
- data/lib/locales/ee.yml +61 -0
- data/lib/locales/en/README.md +13 -0
- data/lib/locales/en/address.yml +586 -0
- data/lib/locales/en/adjective.yml +179 -0
- data/lib/locales/en/airport.yml +381 -0
- data/lib/locales/en/ancient.yml +7 -0
- data/lib/locales/en/animal.yml +6 -0
- data/lib/locales/en/app.yml +8 -0
- data/lib/locales/en/appliance.yml +5 -0
- data/lib/locales/en/aqua_teen_hunger_force.yml +36 -0
- data/lib/locales/en/artist.yml +4 -0
- data/lib/locales/en/australia.yml +107 -0
- data/lib/locales/en/back_to_the_future.yml +120 -0
- data/lib/locales/en/bank.yml +302 -0
- data/lib/locales/en/barcode.yml +24 -0
- data/lib/locales/en/basketball.yml +99 -0
- data/lib/locales/en/beer.yml +9 -0
- data/lib/locales/en/bible.yml +90 -0
- data/lib/locales/en/big_bang_theory.yml +38 -0
- data/lib/locales/en/bird.yml +1281 -0
- data/lib/locales/en/blood.yml +13 -0
- data/lib/locales/en/bojack_horseman.yml +6 -0
- data/lib/locales/en/book.yml +491 -0
- data/lib/locales/en/bossa_nova.yml +6 -0
- data/lib/locales/en/breaking_bad.yml +28 -0
- data/lib/locales/en/brooklyn_nine_nine.yml +35 -0
- data/lib/locales/en/buffy.yml +260 -0
- data/lib/locales/en/business.yml +5 -0
- data/lib/locales/en/camera.yml +611 -0
- data/lib/locales/en/cannabis.yml +13 -0
- data/lib/locales/en/cat.yml +7 -0
- data/lib/locales/en/chiquito.yml +64 -0
- data/lib/locales/en/chuck_norris.yml +82 -0
- data/lib/locales/en/clash_of_clan.yml +101 -0
- data/lib/locales/en/code.yml +4 -0
- data/lib/locales/en/coffee.yml +31 -0
- data/lib/locales/en/coin.yml +6 -0
- data/lib/locales/en/color.yml +4 -0
- data/lib/locales/en/commerce.yml +28 -0
- data/lib/locales/en/community.yml +33 -0
- data/lib/locales/en/company.yml +22 -0
- data/lib/locales/en/compass.yml +34 -0
- data/lib/locales/en/computer.yml +55 -0
- data/lib/locales/en/conan.yml +171 -0
- data/lib/locales/en/construction.yml +425 -0
- data/lib/locales/en/control.yml +247 -0
- data/lib/locales/en/cosmere.yml +57 -0
- data/lib/locales/en/cowboy_bebop.yml +163 -0
- data/lib/locales/en/crypto_coin.yml +25 -0
- data/lib/locales/en/culture_series.yml +307 -0
- data/lib/locales/en/currency.yml +6 -0
- data/lib/locales/en/dc_comics.yml +52 -0
- data/lib/locales/en/demographic.yml +221 -0
- data/lib/locales/en/departed.yml +50 -0
- data/lib/locales/en/dessert.yml +6 -0
- data/lib/locales/en/device.yml +115 -0
- data/lib/locales/en/dnd.yml +451 -0
- data/lib/locales/en/dog.yml +11 -0
- data/lib/locales/en/doraemon.yml +286 -0
- data/lib/locales/en/dota.yml +693 -0
- data/lib/locales/en/dr_who.yml +96 -0
- data/lib/locales/en/dragon_ball.yml +246 -0
- 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 +59 -0
- data/lib/locales/en/dune.yml +298 -0
- data/lib/locales/en/educator.yml +80 -0
- data/lib/locales/en/elder_scrolls.yml +585 -0
- data/lib/locales/en/electrical_components.yml +6 -0
- data/lib/locales/en/emotion.yml +480 -0
- data/lib/locales/en/esport.yml +8 -0
- data/lib/locales/en/fallout.yml +315 -0
- data/lib/locales/en/family_guy.yml +7 -0
- data/lib/locales/en/file.yml +13 -0
- data/lib/locales/en/final_space.yml +37 -0
- data/lib/locales/en/finance.yml +189 -0
- data/lib/locales/en/fma_brotherhood.yml +78 -0
- data/lib/locales/en/food.yml +1057 -0
- data/lib/locales/en/football.yml +8 -0
- data/lib/locales/en/fresh_prince_of_bel_air.yml +73 -0
- data/lib/locales/en/friends.yml +6 -0
- data/lib/locales/en/funny_name.yml +4 -0
- data/lib/locales/en/futurama.yml +344 -0
- data/lib/locales/en/game.yml +294 -0
- data/lib/locales/en/game_of_thrones.yml +8 -0
- data/lib/locales/en/gender.yml +6 -0
- data/lib/locales/en/ghostbusters.yml +91 -0
- data/lib/locales/en/grateful_dead.yml +48 -0
- data/lib/locales/en/greek_philosophers.yml +26 -0
- data/lib/locales/en/hacker.yml +8 -0
- data/lib/locales/en/hackers.yml +53 -0
- data/lib/locales/en/half_life.yml +88 -0
- data/lib/locales/en/harry_potter.yml +9 -0
- data/lib/locales/en/heroes.yml +411 -0
- data/lib/locales/en/heroes_of_the_storm.yml +134 -0
- data/lib/locales/en/hey_arnold.yml +24 -0
- data/lib/locales/en/hipster.yml +4 -0
- data/lib/locales/en/hitchhikers_guide_to_the_galaxy.yml +45 -0
- data/lib/locales/en/hobby.yml +171 -0
- data/lib/locales/en/horse.yml +6 -0
- data/lib/locales/en/house.yml +5 -0
- data/lib/locales/en/how_i_met_your_mother.yml +28 -0
- data/lib/locales/en/how_to_train_your_dragon.yml +174 -0
- data/lib/locales/en/id_number.yml +5 -0
- data/lib/locales/en/industry_segments.yml +7 -0
- data/lib/locales/en/internet.yml +155 -0
- data/lib/locales/en/invoice.yml +6 -0
- data/lib/locales/en/jack_handey.yml +54 -0
- data/lib/locales/en/job.yml +15 -0
- data/lib/locales/en/kamen_rider.yml +452 -0
- data/lib/locales/en/kpop.yml +83 -0
- data/lib/locales/en/league_of_legends.yml +289 -0
- data/lib/locales/en/lebowski.yml +43 -0
- data/lib/locales/en/lorem.yml +11 -0
- data/lib/locales/en/lovecraft.yml +79 -0
- data/lib/locales/en/markdown.yml +5 -0
- data/lib/locales/en/marketing.yml +4 -0
- data/lib/locales/en/measurement.yml +11 -0
- data/lib/locales/en/michael_scott.yml +45 -0
- data/lib/locales/en/military.yml +182 -0
- data/lib/locales/en/minecraft.yml +663 -0
- data/lib/locales/en/mountain.yml +171 -0
- data/lib/locales/en/mountaineering.yml +14 -0
- data/lib/locales/en/movie.yml +197 -0
- data/lib/locales/en/music.yml +464 -0
- data/lib/locales/en/myst.yml +104 -0
- data/lib/locales/en/name.yml +26 -0
- data/lib/locales/en/naruto.yml +230 -0
- data/lib/locales/en/nation.yml +11 -0
- data/lib/locales/en/nato_phonetic_alphabet.yml +4 -0
- data/lib/locales/en/new_girl.yml +40 -0
- data/lib/locales/en/one_piece.yml +9 -0
- data/lib/locales/en/opera.yml +340 -0
- data/lib/locales/en/overwatch.yml +2652 -0
- data/lib/locales/en/parks_and_rec.yml +7 -0
- data/lib/locales/en/pearl_jam.yml +213 -0
- data/lib/locales/en/phish.yml +395 -0
- data/lib/locales/en/phone_number.yml +7 -0
- data/lib/locales/en/pokemon.yml +421 -0
- data/lib/locales/en/prince.yml +227 -0
- data/lib/locales/en/princess_bride.yml +5 -0
- data/lib/locales/en/programming_language.yml +6 -0
- data/lib/locales/en/quote.yml +695 -0
- data/lib/locales/en/rajnikanth.yml +77 -0
- data/lib/locales/en/relationship.yml +10 -0
- data/lib/locales/en/restaurant.yml +129 -0
- data/lib/locales/en/rick_and_morty.yml +6 -0
- data/lib/locales/en/rock_band.yml +5 -0
- data/lib/locales/en/room.yml +68 -0
- data/lib/locales/en/rupaul.yml +125 -0
- data/lib/locales/en/rush.yml +32 -0
- data/lib/locales/en/science.yml +484 -0
- data/lib/locales/en/seinfeld.yml +6 -0
- data/lib/locales/en/shakespeare.yml +53 -0
- data/lib/locales/en/show.yml +597 -0
- data/lib/locales/en/silicon_valley.yml +53 -0
- data/lib/locales/en/simpsons.yml +694 -0
- data/lib/locales/en/slack_emoji.yml +20 -0
- data/lib/locales/en/sonic_the_hedgehog.yml +410 -0
- data/lib/locales/en/source.yml +51 -0
- data/lib/locales/en/south_park.yml +5 -0
- data/lib/locales/en/space.yml +17 -0
- data/lib/locales/en/spongebob.yml +489 -0
- data/lib/locales/en/sport.yml +130 -0
- data/lib/locales/en/star_trek.yml +7 -0
- data/lib/locales/en/star_wars.yml +606 -0
- data/lib/locales/en/stargate.yml +21 -0
- data/lib/locales/en/stranger_thing.yml +36 -0
- data/lib/locales/en/street_fighter.yml +1524 -0
- data/lib/locales/en/stripe.yml +42 -0
- data/lib/locales/en/studio_ghibli.yml +107 -0
- data/lib/locales/en/subscription.yml +8 -0
- 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 +223 -0
- data/lib/locales/en/superhero.yml +12 -0
- data/lib/locales/en/supernatural.yml +141 -0
- data/lib/locales/en/sword_art_online.yml +334 -0
- data/lib/locales/en/tarkov.yml +593 -0
- data/lib/locales/en/tea.yml +172 -0
- data/lib/locales/en/team.yml +8 -0
- data/lib/locales/en/the_expanse.yml +7 -0
- data/lib/locales/en/the_it_crowd.yml +155 -0
- data/lib/locales/en/the_kingkiller_chronicle.yml +56 -0
- data/lib/locales/en/the_office.yml +86 -0
- data/lib/locales/en/the_thick_of_it.yml +6 -0
- data/lib/locales/en/tolkien.yml +2453 -0
- data/lib/locales/en/touhou.yml +839 -0
- data/lib/locales/en/tron.yml +227 -0
- data/lib/locales/en/twin_peaks.yml +6 -0
- data/lib/locales/en/umphreys_mcgee.yml +4 -0
- data/lib/locales/en/university.yml +10 -0
- data/lib/locales/en/v_for_vendetta.yml +163 -0
- data/lib/locales/en/vehicle.yml +2814 -0
- data/lib/locales/en/venture_bros.yml +7 -0
- data/lib/locales/en/verbs.yml +8 -0
- data/lib/locales/en/volleyball.yml +501 -0
- data/lib/locales/en/warhammer_fantasy.yml +582 -0
- data/lib/locales/en/witcher.yml +430 -0
- data/lib/locales/en/world_cup.yml +271 -0
- data/lib/locales/en/world_of_warcraft.yml +126 -0
- data/lib/locales/en/yoda.yml +4 -0
- data/lib/locales/en/zelda.yml +966 -0
- data/lib/locales/en-AU.yml +67 -0
- data/lib/locales/{en-bork.yml → en-BORK.yml} +1 -1
- data/lib/locales/en-CA.yml +39 -0
- data/lib/locales/{en-gb.yml → en-GB.yml} +3 -3
- data/lib/locales/{en-ind.yml → en-IND.yml} +10 -4
- data/lib/locales/en-MS.yml +48 -0
- data/lib/locales/en-NEP.yml +52 -0
- data/lib/locales/en-NG.yml +77 -0
- data/lib/locales/en-NZ.yml +165 -0
- data/lib/locales/en-PAK.yml +19 -0
- data/lib/locales/en-SG.yml +36 -0
- data/lib/locales/en-TH.yml +360 -0
- data/lib/locales/en-UG.yml +128 -0
- data/lib/locales/en-US.yml +128 -0
- data/lib/locales/en-ZA.yml +147 -0
- data/lib/locales/en-au-ocker.yml +34 -0
- data/lib/locales/en.yml +6 -67
- data/lib/locales/es-AR.yml +4600 -0
- data/lib/locales/es-MX.yml +104 -0
- data/lib/locales/es.yml +149 -0
- data/lib/locales/fa.yml +12 -0
- data/lib/locales/fi-FI.yml +36 -0
- data/lib/locales/fr/address.yml +20 -0
- data/lib/locales/fr/adjective.yml +266 -0
- data/lib/locales/fr/ancient.yml +141 -0
- data/lib/locales/fr/animal.yml +5 -0
- data/lib/locales/fr/appliance.yml +4 -0
- data/lib/locales/fr/book.yml +7 -0
- data/lib/locales/fr/color.yml +4 -0
- data/lib/locales/fr/company.yml +17 -0
- data/lib/locales/fr/compass.yml +23 -0
- data/lib/locales/fr/demographic.yml +4 -0
- data/lib/locales/fr/gender.yml +6 -0
- data/lib/locales/fr/internet.yml +5 -0
- data/lib/locales/fr/lorem.yml +5 -0
- data/lib/locales/fr/measurement.yml +7 -0
- data/lib/locales/fr/name.yml +21 -0
- data/lib/locales/fr/phone_number.yml +7 -0
- data/lib/locales/fr/pokemon.yml +7 -0
- data/lib/locales/fr-CA.yml +106 -0
- data/lib/locales/fr-CH.yml +77 -0
- data/lib/locales/fr.yml +1 -51
- data/lib/locales/he.yml +27 -0
- data/lib/locales/hy.yml +411 -0
- data/lib/locales/id.yml +26 -0
- data/lib/locales/it.yml +71 -0
- data/lib/locales/ja/README.md +13 -0
- data/lib/locales/ja/address.yml +120539 -0
- data/lib/locales/ja/adjective.yml +148 -0
- data/lib/locales/ja/ancient.yml +4 -0
- data/lib/locales/ja/animal.yml +5 -0
- data/lib/locales/ja/bank.yml +4 -0
- data/lib/locales/ja/book.yml +7 -0
- data/lib/locales/ja/cat.yml +5 -0
- data/lib/locales/ja/coffee.yml +4 -0
- data/lib/locales/ja/color.yml +4 -0
- data/lib/locales/ja/commerce.yml +11 -0
- data/lib/locales/ja/company.yml +8 -0
- data/lib/locales/ja/dog.yml +6 -0
- data/lib/locales/ja/emotion.yml +51 -0
- data/lib/locales/ja/food.yml +4 -0
- data/lib/locales/ja/gender.yml +4 -0
- data/lib/locales/ja/lorem.yml +9 -0
- data/lib/locales/ja/name.yml +13 -0
- data/lib/locales/ja/naruto.yml +230 -0
- data/lib/locales/ja/overwatch.yml +5 -0
- data/lib/locales/ja/phone_number.yml +7 -0
- data/lib/locales/ja/pokemon.yml +7 -0
- data/lib/locales/ja/relationship.yml +10 -0
- data/lib/locales/ja/restaurant.yml +11 -0
- data/lib/locales/ja/space.yml +5 -0
- data/lib/locales/ja/studio_ghibli.yml +112 -0
- data/lib/locales/ja/subscription.yml +8 -0
- data/lib/locales/ja/super_mario.yml +9 -0
- data/lib/locales/ja/super_smash_bros.yml +8 -0
- data/lib/locales/ja/university.yml +9 -0
- data/lib/locales/ja/zelda.yml +5 -0
- data/lib/locales/ko.yml +132 -0
- data/lib/locales/lt.yml +34 -0
- data/lib/locales/lv.yml +55 -0
- data/lib/locales/mi-NZ.yml +281 -0
- data/lib/locales/{no-nb.yml → nb-NO.yml} +20 -8
- data/lib/locales/nl.yml +45 -30
- data/lib/locales/no.yml +7 -0
- data/lib/locales/pl.yml +20 -10
- data/lib/locales/pt-BR.yml +725 -0
- data/lib/locales/{pt-br.yml → pt.yml} +25 -15
- data/lib/locales/ru.yml +117 -0
- data/lib/locales/sk.yml +80 -0
- data/lib/locales/sv.yml +81 -0
- data/lib/locales/th.yml +380 -0
- data/lib/locales/tr.yml +40 -0
- data/lib/locales/uk.yml +88 -0
- data/lib/locales/vi.yml +8 -3
- data/lib/locales/zh-CN.yml +56 -0
- data/lib/locales/zh-TW.yml +29 -0
- metadata +731 -97
- data/History.txt +0 -103
- data/lib/extensions/array.rb +0 -7
- data/lib/extensions/symbol.rb +0 -9
- data/lib/faker/address.rb +0 -49
- data/lib/faker/company.rb +0 -26
- data/lib/faker/internet.rb +0 -71
- data/lib/faker/lorem.rb +0 -59
- data/lib/faker/name.rb +0 -22
- data/lib/faker/phone_number.rb +0 -17
- data/lib/locales/de-ch.yml +0 -19
- data/lib/locales/en-au.yml +0 -22
- data/lib/locales/en-ca.yml +0 -14
- data/lib/locales/en-us.yml +0 -6
- data/test/test_faker.rb +0 -29
- data/test/test_faker_city.rb +0 -45
- data/test/test_faker_internet.rb +0 -56
- data/test/test_faker_lorem.rb +0 -69
- data/test/test_faker_name.rb +0 -20
- data/test/test_faker_street.rb +0 -44
- data/test/test_flexible.rb +0 -56
- data/test/test_helper.rb +0 -5
- data/test/test_locale.rb +0 -41
@@ -0,0 +1,110 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class LoremFlickr < Base
|
5
|
+
class << self
|
6
|
+
SUPPORTED_COLORIZATIONS = %w[red green blue].freeze
|
7
|
+
|
8
|
+
##
|
9
|
+
# Produces a random image URL from loremflickr.com.
|
10
|
+
#
|
11
|
+
# @param size [String] Specifies the size of image to generate.
|
12
|
+
# @param search_terms [Array<String>] Adds search terms to the image URL.
|
13
|
+
# @param match_all [Boolean] Add "all" as part of the URL.
|
14
|
+
# @return [String]
|
15
|
+
#
|
16
|
+
# @example
|
17
|
+
# Faker::LoremFlickr.image #=> "https://loremflickr.com/300/300"
|
18
|
+
# Faker::LoremFlickr.image(size: "50x60") #=> "https://loremflickr.com/50/60"
|
19
|
+
# Faker::LoremFlickr.image(size: "50x60", search_terms: ['sports']) #=> "https://loremflickr.com/50/60/sports"
|
20
|
+
# Faker::LoremFlickr.image(size: "50x60", search_terms: ['sports', 'fitness']) #=> "https://loremflickr.com/50/60/sports,fitness"
|
21
|
+
# Faker::LoremFlickr.image(size: "50x60", search_terms: ['sports', 'fitness'], match_all: true) #=> "https://loremflickr.com/50/60/sports,fitness/all"
|
22
|
+
#
|
23
|
+
# @faker.version 1.9.0
|
24
|
+
def image(size: '300x300', search_terms: [], match_all: false)
|
25
|
+
build_url(size, nil, search_terms, match_all)
|
26
|
+
end
|
27
|
+
|
28
|
+
##
|
29
|
+
# Produces a random grayscale image URL from loremflickr.com.
|
30
|
+
#
|
31
|
+
# @param size [String] Specifies the size of image to generate.
|
32
|
+
# @param search_terms [Array<String>] Adds search terms to the image URL.
|
33
|
+
# @param match_all [Boolean] Add "all" as part of the URL.
|
34
|
+
# @return [String]
|
35
|
+
#
|
36
|
+
# @example
|
37
|
+
# Faker::LoremFlickr.grayscale_image #=> "https://loremflickr.com/g/300/300/all"
|
38
|
+
# Faker::LoremFlickr.grayscale_image(size: "50x60") #=> "https://loremflickr.com/g/50/60/all"
|
39
|
+
# Faker::LoremFlickr.grayscale_image(size: "50x60", search_terms: ['sports']) #=> "https://loremflickr.com/g/50/60/sports"
|
40
|
+
# Faker::LoremFlickr.grayscale_image(size: "50x60", search_terms: ['sports', 'fitness']) #=> "https://loremflickr.com/50/60/g/sports,fitness"
|
41
|
+
# Faker::LoremFlickr.grayscale_image(size: "50x60", search_terms: ['sports', 'fitness'], match_all: true) #=> "https://loremflickr.com/g/50/60/sports,fitness/all"
|
42
|
+
#
|
43
|
+
# @faker.version 1.9.0
|
44
|
+
def grayscale_image(size: '300x300', search_terms: ['all'], match_all: false)
|
45
|
+
raise ArgumentError, 'Search terms must be specified for grayscale images' unless search_terms.any?
|
46
|
+
|
47
|
+
build_url(size, 'g', search_terms, match_all)
|
48
|
+
end
|
49
|
+
|
50
|
+
##
|
51
|
+
# Produces a random pixelated image URL from loremflickr.com.
|
52
|
+
#
|
53
|
+
# @param size [String] Specifies the size of image to generate.
|
54
|
+
# @param search_terms [Array<String>] Adds search terms to the image URL.
|
55
|
+
# @param match_all [Boolean] Add "all" as part of the URL.
|
56
|
+
# @return [String]
|
57
|
+
#
|
58
|
+
# @example
|
59
|
+
# Faker::LoremFlickr.pixelated_image #=> "https://loremflickr.com/p/300/300/all"
|
60
|
+
# Faker::LoremFlickr.pixelated_image(size: "50x60") #=> "https://loremflickr.com/p/50/60/all"
|
61
|
+
# Faker::LoremFlickr.pixelated_image(size: "50x60", search_terms: ['sports']) #=> "https://loremflickr.com/p/50/60/sports"
|
62
|
+
# Faker::LoremFlickr.pixelated_image(size: "50x60", search_terms: ['sports', 'fitness']) #=> "https://loremflickr.com/p/50/60/sports,fitness"
|
63
|
+
# Faker::LoremFlickr.pixelated_image(size: "50x60", search_terms: ['sports', 'fitness'], match_all: true) #=> "https://loremflickr.com/p/50/60/sports,fitness/all"
|
64
|
+
#
|
65
|
+
# @faker.version 1.9.0
|
66
|
+
def pixelated_image(size: '300x300', search_terms: ['all'], match_all: false)
|
67
|
+
raise ArgumentError, 'Search terms must be specified for pixelated images' unless search_terms.any?
|
68
|
+
|
69
|
+
build_url(size, 'p', search_terms, match_all)
|
70
|
+
end
|
71
|
+
|
72
|
+
##
|
73
|
+
# Produces a random colorized image URL from loremflickr.com.
|
74
|
+
#
|
75
|
+
# @param size [String] Specifies the size of image to generate.
|
76
|
+
# @param color [String] Specifies the color of image to generate.
|
77
|
+
# @param search_terms [Array<String>] Adds search terms to the image URL.
|
78
|
+
# @param match_all [Boolean] Add "all" as part of the URL.
|
79
|
+
# @return [String]
|
80
|
+
#
|
81
|
+
# @example
|
82
|
+
# Faker::LoremFlickr.image #=> "https://loremflickr.com/red/300/300/all"
|
83
|
+
# Faker::LoremFlickr.image(size: "50x60", color: 'blue') #=> "https://loremflickr.com/blue/50/60/all"
|
84
|
+
# Faker::LoremFlickr.image(size: "50x60", color: 'blue', search_terms: ['sports']) #=> "https://loremflickr.com/blue/50/60/sports"
|
85
|
+
# Faker::LoremFlickr.image(size: "50x60", color: 'blue', search_terms: ['sports', 'fitness']) #=> "https://loremflickr.com/blue/50/60/sports,fitness"
|
86
|
+
# Faker::LoremFlickr.image(size: "50x60", color: 'blue', search_terms: ['sports', 'fitness'], match_all: true) #=> "https://loremflickr.com/blue/50/60/sports,fitness/all"
|
87
|
+
#
|
88
|
+
# @faker.version 1.9.0
|
89
|
+
def colorized_image(size: '300x300', color: 'red', search_terms: ['all'], match_all: false)
|
90
|
+
raise ArgumentError, 'Search terms must be specified for colorized images' unless search_terms.any?
|
91
|
+
raise ArgumentError, "Supported colorizations are #{SUPPORTED_COLORIZATIONS.join(', ')}" unless SUPPORTED_COLORIZATIONS.include?(color)
|
92
|
+
|
93
|
+
build_url(size, color, search_terms, match_all)
|
94
|
+
end
|
95
|
+
|
96
|
+
private
|
97
|
+
|
98
|
+
def build_url(size, format, search_terms, match_all)
|
99
|
+
raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /^[0-9]+x[0-9]+$/
|
100
|
+
|
101
|
+
url_parts = ['https://loremflickr.com']
|
102
|
+
url_parts << format
|
103
|
+
url_parts += size.split('x')
|
104
|
+
url_parts << search_terms.compact.join(',') if search_terms.any?
|
105
|
+
url_parts << 'all' if match_all
|
106
|
+
url_parts.compact.join('/')
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
@@ -0,0 +1,170 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Markdown < Base
|
5
|
+
class << self
|
6
|
+
##
|
7
|
+
# Produces a random header format.
|
8
|
+
#
|
9
|
+
# @return [String]
|
10
|
+
#
|
11
|
+
# @example
|
12
|
+
# Faker::Markdown.headers #=> "##### Autem"
|
13
|
+
#
|
14
|
+
# @faker.version 1.8.0
|
15
|
+
def headers
|
16
|
+
"#{fetch('markdown.headers')} #{Lorem.word.capitalize}"
|
17
|
+
end
|
18
|
+
|
19
|
+
##
|
20
|
+
# Produces a random emphasis formatting on a random word in two sentences.
|
21
|
+
#
|
22
|
+
# @return [String]
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
# Faker::Markdown.emphasis #=> "_Incidunt atque quis repellat id impedit. Quas numquam quod incidunt dicta non. Blanditiis delectus laudantium atque reiciendis qui._"
|
26
|
+
#
|
27
|
+
# @faker.version 1.8.0
|
28
|
+
def emphasis
|
29
|
+
paragraph = Faker::Lorem.paragraph(sentence_count: 3)
|
30
|
+
words = paragraph.split
|
31
|
+
position = rand(0..words.length - 1)
|
32
|
+
formatting = fetch('markdown.emphasis')
|
33
|
+
words[position] = "#{formatting}#{words[position]}#{formatting}"
|
34
|
+
words.join(' ')
|
35
|
+
end
|
36
|
+
|
37
|
+
##
|
38
|
+
# Produces a random ordered list of items between 1 and 10 randomly.
|
39
|
+
#
|
40
|
+
# @return [String]
|
41
|
+
#
|
42
|
+
# @example
|
43
|
+
# Faker::Markdown.ordered_list #=> "1. Qui reiciendis non consequatur atque.\n2. Quo doloremque veritatis tempora aut.\n3. Aspernatur.\n4. Ea ab.\n5. Qui.\n6. Sit pariatur nemo eveniet.\n7. Molestiae aut.\n8. Nihil molestias iure placeat.\n9. Dolore autem quisquam."
|
44
|
+
#
|
45
|
+
# @faker.version 1.8.0
|
46
|
+
def ordered_list
|
47
|
+
number = rand(1..10)
|
48
|
+
|
49
|
+
result = []
|
50
|
+
number.times do |i|
|
51
|
+
result << "#{i}. #{Faker::Lorem.sentence(word_count: 1)} \n"
|
52
|
+
end
|
53
|
+
result.join
|
54
|
+
end
|
55
|
+
|
56
|
+
##
|
57
|
+
# Produces a random unordered list of items between 1 and 10 randomly.
|
58
|
+
#
|
59
|
+
# @return [String]
|
60
|
+
#
|
61
|
+
# @example
|
62
|
+
# Faker::Markdown.unordered_list #=> "* Voluptatum aliquid tempora molestiae facilis non sed.\n* Nostrum omnis iste impedit voluptatum dolor.\n* Esse quidem et facere."
|
63
|
+
#
|
64
|
+
# @faker.version 1.8.0
|
65
|
+
def unordered_list
|
66
|
+
number = rand(1..10)
|
67
|
+
|
68
|
+
result = []
|
69
|
+
number.times do |_i|
|
70
|
+
result << "* #{Faker::Lorem.sentence(word_count: 1)} \n"
|
71
|
+
end
|
72
|
+
result.join
|
73
|
+
end
|
74
|
+
|
75
|
+
##
|
76
|
+
# Produces a random inline code snippet between two sentences.
|
77
|
+
#
|
78
|
+
# @return [String]
|
79
|
+
#
|
80
|
+
# @example
|
81
|
+
# Faker::Markdown.inline_code #=> "Aut eos quis suscipit. `Dignissimos voluptatem expedita qui.` Quo doloremque veritatis tempora aut."
|
82
|
+
#
|
83
|
+
# @faker.version 1.8.0
|
84
|
+
def inline_code
|
85
|
+
"`#{Faker::Lorem.sentence(word_count: 1)}`"
|
86
|
+
end
|
87
|
+
|
88
|
+
##
|
89
|
+
# Produces a random code block formatted in Ruby.
|
90
|
+
#
|
91
|
+
# @return [String]
|
92
|
+
#
|
93
|
+
# @example
|
94
|
+
# Faker::Markdown.block_code #=> "```ruby\nEos quasi qui.\n```"
|
95
|
+
#
|
96
|
+
# @faker.version 1.8.0
|
97
|
+
def block_code
|
98
|
+
"```ruby\n#{Lorem.sentence(word_count: 1)}\n```"
|
99
|
+
end
|
100
|
+
|
101
|
+
##
|
102
|
+
# Produces a random 3x4 table with a row of headings, a row of hyphens and two rows of data
|
103
|
+
#
|
104
|
+
# @return [String]
|
105
|
+
#
|
106
|
+
# @example
|
107
|
+
# Faker::Markdown.table #=> "ad | similique | voluptatem\n---- | ---- | ----\ncorrupti | est | rerum\nmolestiae | quidem | et"
|
108
|
+
#
|
109
|
+
# @faker.version 1.8.0
|
110
|
+
def table
|
111
|
+
table = []
|
112
|
+
3.times do
|
113
|
+
table << "#{Lorem.word} | #{Lorem.word} | #{Lorem.word}"
|
114
|
+
end
|
115
|
+
table.insert(1, '---- | ---- | ----')
|
116
|
+
table.join("\n")
|
117
|
+
end
|
118
|
+
|
119
|
+
##
|
120
|
+
# Produces a random method from the methods above, excluding the methods listed in the arguments.
|
121
|
+
#
|
122
|
+
# @overload random(methods)
|
123
|
+
# @param methods [Symbol] Specify which methods to exclude.
|
124
|
+
#
|
125
|
+
# @return [String, Array<String>]
|
126
|
+
#
|
127
|
+
# @example
|
128
|
+
# Faker::Markdown.random #=> returns output from a single method outlined above
|
129
|
+
# Faker::Markdown.random("table") #=> returns output from any single method outlined above except for "table"
|
130
|
+
# Faker::Markdown.random("ordered_list", "unordered_list") #=> returns output from any single method outlined above except for either ordered_list and unordered_list
|
131
|
+
#
|
132
|
+
# @faker.version 1.8.0
|
133
|
+
def random(*args)
|
134
|
+
method_list = available_methods
|
135
|
+
args&.each { |ex| method_list.delete_if { |meth| meth == ex.to_sym } }
|
136
|
+
send(method_list[Faker::Config.random.rand(0..method_list.length - 1)])
|
137
|
+
end
|
138
|
+
|
139
|
+
##
|
140
|
+
# Produces a simulated blog-esque text-heavy block in markdown
|
141
|
+
#
|
142
|
+
# Keyword arguments: sentences, repeat
|
143
|
+
# @param sentences [Integer] Specifies how many sentences make a text block.
|
144
|
+
# @param repeat [Integer] Specifies how many times the text block repeats.
|
145
|
+
# @return [String]
|
146
|
+
#
|
147
|
+
# @example
|
148
|
+
# Faker::Markdown.sandwich #=> returns newline separated content of 1 header, 1 default lorem paragraph, and 1 random markdown element
|
149
|
+
# Faker::Markdown.sandwich(sentences: 5) #=> returns newline separated content of 1 header, 1 5-sentence lorem paragraph, and 1 random markdown element
|
150
|
+
# Faker::Markdown.sandwich(sentences: 6, repeat: 3) #=> returns newline separated content of 1 header, and then 3 sections consisting of, here, 1 6-sentence lorem paragraph and 1 random markdown element. The random markdown element is chosen at random in each iteration of the paragraph-markdown pairing.
|
151
|
+
#
|
152
|
+
# @faker.version 1.8.0
|
153
|
+
def sandwich(sentences: 3, repeat: 1)
|
154
|
+
text_block = []
|
155
|
+
text_block << headers
|
156
|
+
repeat.times do
|
157
|
+
text_block << Faker::Lorem.paragraph(sentence_count: sentences)
|
158
|
+
text_block << random
|
159
|
+
end
|
160
|
+
text_block.join("\n")
|
161
|
+
end
|
162
|
+
|
163
|
+
private
|
164
|
+
|
165
|
+
def available_methods
|
166
|
+
(Markdown.public_methods(false) - Base.methods).sort
|
167
|
+
end
|
168
|
+
end
|
169
|
+
end
|
170
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Marketing < Base
|
5
|
+
flexible :marketing
|
6
|
+
|
7
|
+
class << self
|
8
|
+
##
|
9
|
+
# Produces the name of a video game console or platform.
|
10
|
+
#
|
11
|
+
# @return [String]
|
12
|
+
#
|
13
|
+
# @example
|
14
|
+
# Faker::Marketing.buzzwords #=> "rubber meets the road"
|
15
|
+
#
|
16
|
+
# @faker.version 1.9.4
|
17
|
+
def buzzwords
|
18
|
+
fetch('marketing.buzzwords')
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,175 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Measurement < Base
|
5
|
+
class << self
|
6
|
+
ALL = 'all'
|
7
|
+
NONE = 'none'
|
8
|
+
|
9
|
+
##
|
10
|
+
# Produces a random height measurement.
|
11
|
+
#
|
12
|
+
# @param amount [Integer] Specifies the random height value.
|
13
|
+
# @return [String]
|
14
|
+
#
|
15
|
+
# @example
|
16
|
+
# Faker::Measurement.height #=> "6 inches"
|
17
|
+
# Faker::Measurement.height(amount: 1.4) #=> "1.4 inches"
|
18
|
+
# Faker::Measurement.height(amount: "none") #=> "inch"
|
19
|
+
# Faker::Measurement.height(amount: "all") #=> "inches"
|
20
|
+
#
|
21
|
+
# @faker.version 1.7.3
|
22
|
+
def height(amount: rand(10))
|
23
|
+
define_measurement_locale(amount, 'height')
|
24
|
+
end
|
25
|
+
|
26
|
+
##
|
27
|
+
# Produces a random length measurement.
|
28
|
+
#
|
29
|
+
# @param amount [Integer] Specifies the random length value.
|
30
|
+
# @return [String]
|
31
|
+
#
|
32
|
+
# @example
|
33
|
+
# Faker::Measurement.length #=> "1 yard"
|
34
|
+
# Faker::Measurement.length(amount: 1.4) #=> "1.4 yards"
|
35
|
+
#
|
36
|
+
# @faker.version 1.7.3
|
37
|
+
def length(amount: rand(10))
|
38
|
+
define_measurement_locale(amount, 'length')
|
39
|
+
end
|
40
|
+
|
41
|
+
##
|
42
|
+
# Produces a random volume measurement.
|
43
|
+
#
|
44
|
+
# @param amount [Integer] Specifies the random volume value.
|
45
|
+
# @return [String]
|
46
|
+
#
|
47
|
+
# @example
|
48
|
+
# Faker::Measurement.volume #=> "10 cups"
|
49
|
+
# Faker::Measurement.volume(amount: 1.4) #=> "1.4 cups"
|
50
|
+
#
|
51
|
+
# @faker.version 1.7.3
|
52
|
+
def volume(amount: rand(10))
|
53
|
+
define_measurement_locale(amount, 'volume')
|
54
|
+
end
|
55
|
+
|
56
|
+
##
|
57
|
+
# Produces a random weight measurement.
|
58
|
+
#
|
59
|
+
# @param amount [Integer] Specifies the random weight value.
|
60
|
+
# @return [String]
|
61
|
+
#
|
62
|
+
# @example
|
63
|
+
# Faker::Measurement.weight #=> "3 pounds"
|
64
|
+
# Faker::Measurement.weight(amount: 1.4) #=> "1.4 pounds"
|
65
|
+
#
|
66
|
+
# @faker.version 1.7.3
|
67
|
+
def weight(amount: rand(10))
|
68
|
+
define_measurement_locale(amount, 'weight')
|
69
|
+
end
|
70
|
+
|
71
|
+
##
|
72
|
+
# Produces a random metric height measurement.
|
73
|
+
#
|
74
|
+
# @param amount [Integer] Specifies the random height value.
|
75
|
+
# @return [String]
|
76
|
+
#
|
77
|
+
# @example
|
78
|
+
# Faker::Measurement.metric_height #=> "2 meters"
|
79
|
+
# Faker::Measurement.metric_height(amount: 1.4) #=> "1.4 meters"
|
80
|
+
#
|
81
|
+
# @faker.version 1.7.3
|
82
|
+
def metric_height(amount: rand(10))
|
83
|
+
define_measurement_locale(amount, 'metric_height')
|
84
|
+
end
|
85
|
+
|
86
|
+
##
|
87
|
+
# Produces a random metric length measurement.
|
88
|
+
#
|
89
|
+
# @param amount [Integer] Specifies the random length value.
|
90
|
+
# @return [String]
|
91
|
+
#
|
92
|
+
# @example
|
93
|
+
# Faker::Measurement.metric_length #=> "0 decimeters"
|
94
|
+
# Faker::Measurement.metric_length(amount: 1.4) #=> "1.4 decimeters"
|
95
|
+
#
|
96
|
+
# @faker.version 1.7.3
|
97
|
+
def metric_length(amount: rand(10))
|
98
|
+
define_measurement_locale(amount, 'metric_length')
|
99
|
+
end
|
100
|
+
|
101
|
+
##
|
102
|
+
# Produces a random metric volume measurement.
|
103
|
+
#
|
104
|
+
# @param amount [Integer] Specifies the random volume value.
|
105
|
+
# @return [String]
|
106
|
+
#
|
107
|
+
# @example
|
108
|
+
# Faker::Measurement.metric_volume #=> "1 liter"
|
109
|
+
# Faker::Measurement.metric_volume(amount: 1.4) #=> "1.4 liters"
|
110
|
+
#
|
111
|
+
# @faker.version 1.7.3
|
112
|
+
def metric_volume(amount: rand(10))
|
113
|
+
define_measurement_locale(amount, 'metric_volume')
|
114
|
+
end
|
115
|
+
|
116
|
+
##
|
117
|
+
# Produces a random metric weight measurement.
|
118
|
+
#
|
119
|
+
# @param amount [Integer] Specifies the random weight value.
|
120
|
+
# @return [String]
|
121
|
+
#
|
122
|
+
# @example
|
123
|
+
# Faker::Measurement.metric_weight #=> "8 grams"
|
124
|
+
# Faker::Measurement.metric_weight(amount: 1.4) #=> "1.4 grams"
|
125
|
+
#
|
126
|
+
# @faker.version 1.7.3
|
127
|
+
def metric_weight(amount: rand(10))
|
128
|
+
define_measurement_locale(amount, 'metric_weight')
|
129
|
+
end
|
130
|
+
|
131
|
+
private
|
132
|
+
|
133
|
+
def check_for_plural(text, number)
|
134
|
+
if number && number != 1
|
135
|
+
make_plural(text)
|
136
|
+
else
|
137
|
+
text
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
def define_measurement_locale(amount, locale)
|
142
|
+
ensure_valid_amount(amount)
|
143
|
+
case amount
|
144
|
+
when ALL
|
145
|
+
make_plural(fetch("measurement.#{locale}"))
|
146
|
+
when NONE
|
147
|
+
fetch("measurement.#{locale}")
|
148
|
+
else
|
149
|
+
locale = check_for_plural(fetch("measurement.#{locale}"), amount)
|
150
|
+
|
151
|
+
"#{amount} #{locale}"
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
155
|
+
def ensure_valid_amount(amount)
|
156
|
+
raise ArgumentError, 'invalid amount' unless amount == NONE || amount == ALL || amount.is_a?(Integer) || amount.is_a?(Float)
|
157
|
+
end
|
158
|
+
|
159
|
+
def make_plural(text)
|
160
|
+
case text
|
161
|
+
when 'foot'
|
162
|
+
'feet'
|
163
|
+
when 'inch'
|
164
|
+
'inches'
|
165
|
+
when 'fluid ounce'
|
166
|
+
'fluid ounces'
|
167
|
+
when 'metric ton'
|
168
|
+
'metric tons'
|
169
|
+
else
|
170
|
+
"#{text}s"
|
171
|
+
end
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Military < Base
|
5
|
+
class << self
|
6
|
+
##
|
7
|
+
# Produces a rank in the U.S. Army.
|
8
|
+
#
|
9
|
+
# @return [String]
|
10
|
+
#
|
11
|
+
# @example
|
12
|
+
# Faker::Military.army_rank #=> "Staff Sergeant"
|
13
|
+
#
|
14
|
+
# @faker.version 1.9.0
|
15
|
+
def army_rank
|
16
|
+
fetch('military.army_rank')
|
17
|
+
end
|
18
|
+
|
19
|
+
##
|
20
|
+
# Produces a rank in the U.S. Marines.
|
21
|
+
#
|
22
|
+
# @return [String]
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
# Faker::Military.marines_rank #=> "Gunnery Sergeant"
|
26
|
+
#
|
27
|
+
# @faker.version 1.9.0
|
28
|
+
def marines_rank
|
29
|
+
fetch('military.marines_rank')
|
30
|
+
end
|
31
|
+
|
32
|
+
##
|
33
|
+
# Produces a rank in the U.S. Navy.
|
34
|
+
#
|
35
|
+
# @return [String]
|
36
|
+
#
|
37
|
+
# @example
|
38
|
+
# Faker::Military.navy_rank #=> "Seaman"
|
39
|
+
#
|
40
|
+
# @faker.version 1.9.0
|
41
|
+
def navy_rank
|
42
|
+
fetch('military.navy_rank')
|
43
|
+
end
|
44
|
+
|
45
|
+
##
|
46
|
+
# Produces a rank in the U.S. Air Force.
|
47
|
+
#
|
48
|
+
# @return [String]
|
49
|
+
#
|
50
|
+
# @example
|
51
|
+
# Faker::Military.air_force_rank #=> "Captain"
|
52
|
+
#
|
53
|
+
# @faker.version 1.9.0
|
54
|
+
def air_force_rank
|
55
|
+
fetch('military.air_force_rank')
|
56
|
+
end
|
57
|
+
|
58
|
+
##
|
59
|
+
# Produces a rank in the U.S. Space Force.
|
60
|
+
#
|
61
|
+
# @return [String]
|
62
|
+
#
|
63
|
+
# @example
|
64
|
+
# Faker::Military.space_force_rank #=> "Senior Enlisted Advisor of the Space Force"
|
65
|
+
#
|
66
|
+
# @faker.version next
|
67
|
+
def space_force_rank
|
68
|
+
fetch('military.space_force_rank')
|
69
|
+
end
|
70
|
+
|
71
|
+
##
|
72
|
+
# Produces a rank in the U.S. Coast Guard
|
73
|
+
#
|
74
|
+
# @return [String]
|
75
|
+
#
|
76
|
+
# @example
|
77
|
+
# Faker::Military.coast_guard_rank #=> "Master Chief Petty Officer of the Coast Guard"
|
78
|
+
#
|
79
|
+
# @faker.version next
|
80
|
+
def coast_guard_rank
|
81
|
+
fetch('military.coast_guard_rank')
|
82
|
+
end
|
83
|
+
|
84
|
+
##
|
85
|
+
# Produces a U.S. Department of Defense Paygrade.
|
86
|
+
#
|
87
|
+
# @return [String]
|
88
|
+
#
|
89
|
+
# @example
|
90
|
+
# Faker::Military.dod_paygrade #=> "E-6"
|
91
|
+
#
|
92
|
+
# @faker.version 1.9.0
|
93
|
+
def dod_paygrade
|
94
|
+
fetch('military.dod_paygrade')
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Mountain < Base
|
5
|
+
class << self
|
6
|
+
##
|
7
|
+
# Produces a name of a mountain
|
8
|
+
#
|
9
|
+
# @return [String]
|
10
|
+
#
|
11
|
+
# @example
|
12
|
+
# Faker::Mountain.name #=> "Mount Everest"
|
13
|
+
#
|
14
|
+
# @faker.version next
|
15
|
+
def name
|
16
|
+
fetch('mountain.name')
|
17
|
+
end
|
18
|
+
|
19
|
+
##
|
20
|
+
# Produces a name of a range
|
21
|
+
#
|
22
|
+
# @return [String]
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
# Faker::Mountain.range #=> "Dhaulagiri Himalaya"
|
26
|
+
#
|
27
|
+
# @faker.version next
|
28
|
+
def range
|
29
|
+
fetch('mountain.range')
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|