faker 1.8.2 → 2.23.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 +5 -5
- data/CHANGELOG.md +1756 -10
- data/History.md +4 -4
- data/License.txt +2 -2
- data/README.md +328 -111
- 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 +132 -0
- data/lib/faker/books/lovecraft.rb +280 -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 +368 -0
- data/lib/faker/default/adjective.rb +35 -0
- data/lib/faker/default/alphanumeric.rb +73 -0
- data/lib/faker/default/ancient.rb +59 -0
- data/lib/faker/default/app.rb +77 -0
- data/lib/faker/default/appliance.rb +33 -0
- data/lib/faker/default/artist.rb +20 -0
- data/lib/faker/default/avatar.rb +60 -0
- data/lib/faker/default/bank.rb +207 -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 +26 -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 +102 -0
- data/lib/faker/default/chuck_norris.rb +25 -0
- data/lib/faker/default/code.rb +282 -0
- data/lib/faker/default/coffee.rb +82 -0
- data/lib/faker/default/coin.rb +33 -0
- data/lib/faker/default/color.rb +79 -0
- data/lib/faker/default/commerce.rb +171 -0
- data/lib/faker/default/company.rb +579 -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 +94 -0
- data/lib/faker/default/currency.rb +46 -0
- data/lib/faker/default/date.rb +186 -0
- data/lib/faker/default/dc_comics.rb +70 -0
- data/lib/faker/default/demographic.rb +98 -0
- data/lib/faker/default/dessert.rb +48 -0
- data/lib/faker/default/device.rb +85 -0
- data/lib/faker/default/driving_licence.rb +131 -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 +100 -0
- data/lib/faker/default/fillmurray.rb +45 -0
- data/lib/faker/default/finance.rb +116 -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 +194 -0
- data/lib/faker/default/hobby.rb +22 -0
- data/lib/faker/default/house.rb +33 -0
- data/lib/faker/default/id_number.rb +418 -0
- data/lib/faker/default/industry_segments.rb +61 -0
- data/lib/faker/default/internet.rb +629 -0
- data/lib/faker/default/internet_http.rb +48 -0
- data/lib/faker/default/invoice.rb +136 -0
- data/lib/faker/default/job.rb +61 -0
- data/lib/faker/default/json.rb +143 -0
- data/lib/faker/default/kpop.rb +85 -0
- data/lib/faker/default/lorem.rb +302 -0
- data/lib/faker/default/lorem_flickr.rb +138 -0
- data/lib/faker/default/lorem_pixel.rb +70 -0
- data/lib/faker/default/markdown.rb +175 -0
- data/lib/faker/default/marketing.rb +22 -0
- data/lib/faker/default/measurement.rb +207 -0
- data/lib/faker/default/military.rb +98 -0
- data/lib/faker/default/mountain.rb +33 -0
- data/lib/faker/default/name.rb +156 -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 +57 -0
- data/lib/faker/default/number.rb +289 -0
- data/lib/faker/default/omniauth.rb +505 -0
- data/lib/faker/default/phone_number.rb +137 -0
- data/lib/faker/default/placeholdit.rb +63 -0
- data/lib/faker/default/programming_language.rb +33 -0
- data/lib/faker/default/relationship.rb +91 -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 +76 -0
- data/lib/faker/default/south_africa.rb +141 -0
- data/lib/faker/default/space.rb +191 -0
- data/lib/faker/default/string.rb +63 -0
- data/lib/faker/default/stripe.rb +142 -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 +177 -0
- data/lib/faker/default/twitter.rb +223 -0
- data/lib/faker/default/types.rb +182 -0
- data/lib/faker/default/university.rb +75 -0
- data/lib/faker/default/vehicle.rb +355 -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 +86 -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 +93 -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/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/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/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 +273 -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 +110 -0
- data/lib/faker/sports/volleyball.rb +74 -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/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 +166 -66
- data/lib/helpers/base58.rb +22 -0
- data/lib/helpers/char.rb +37 -20
- data/lib/helpers/unique_generator.rb +34 -6
- data/lib/locales/README.md +40 -0
- data/lib/locales/ar.yml +106 -0
- data/lib/locales/bg.yml +5 -2
- data/lib/locales/ca-CAT.yml +1 -1
- data/lib/locales/ca.yml +2 -4
- data/lib/locales/da-DK.yml +10 -6
- data/lib/locales/de-AT.yml +14 -5
- data/lib/locales/de-CH.yml +1696 -1
- data/lib/locales/de.yml +27 -13
- data/lib/locales/ee.yml +61 -0
- data/lib/locales/en/address.yml +553 -4
- data/lib/locales/en/adjective.yml +179 -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/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 +31 -9
- 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/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/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 +137 -3
- 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 +76 -6
- 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 +194 -2
- 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 +2654 -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/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 +46 -0
- data/lib/locales/en/south_park.yml +5 -0
- data/lib/locales/en/space.yml +17 -0
- data/lib/locales/en/sport.yml +121 -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/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 +50 -8
- data/lib/locales/en-CA.yml +27 -2
- data/lib/locales/en-GB.yml +2 -1
- data/lib/locales/en-IND.yml +5 -2
- data/lib/locales/en-MS.yml +10 -1
- data/lib/locales/en-NEP.yml +6 -3
- data/lib/locales/en-NG.yml +2 -0
- data/lib/locales/en-NZ.yml +140 -17
- data/lib/locales/en-PAK.yml +4 -2
- data/lib/locales/en-SG.yml +6 -1
- data/lib/locales/en-TH.yml +360 -0
- data/lib/locales/en-US.yml +38 -10
- data/lib/locales/en-ZA.yml +114 -17
- data/lib/locales/en-au-ocker.yml +2 -1
- data/lib/locales/en.yml +0 -746
- data/lib/locales/es-AR.yml +4600 -0
- data/lib/locales/es-MX.yml +17 -1
- data/lib/locales/es.yml +75 -1
- data/lib/locales/fa.yml +6 -0
- data/lib/locales/fi-FI.yml +12 -6
- data/lib/locales/fr/address.yml +21 -0
- data/lib/locales/fr/adjective.yml +266 -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 +107 -0
- data/lib/locales/fr-CH.yml +78 -0
- data/lib/locales/fr.yml +1 -65
- data/lib/locales/he.yml +2 -0
- data/lib/locales/hy.yml +411 -0
- data/lib/locales/id.yml +7 -2
- data/lib/locales/it.yml +15 -3
- 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 +98 -3
- data/lib/locales/lt.yml +35 -0
- data/lib/locales/lv.yml +55 -0
- data/lib/locales/mi-NZ.yml +281 -0
- data/lib/locales/nb-NO.yml +15 -6
- data/lib/locales/nl.yml +13 -4
- data/lib/locales/no.yml +7 -0
- data/lib/locales/pl.yml +13 -2
- data/lib/locales/pt-BR.yml +657 -17
- data/lib/locales/pt.yml +16 -6
- data/lib/locales/ru.yml +54 -5
- data/lib/locales/sk.yml +21 -13
- data/lib/locales/sv.yml +15 -7
- data/lib/locales/th.yml +380 -0
- data/lib/locales/tr.yml +14 -0
- data/lib/locales/uk.yml +17 -4
- data/lib/locales/vi.yml +7 -2
- data/lib/locales/zh-CN.yml +10 -4
- data/lib/locales/zh-TW.yml +3 -1
- metadata +620 -98
- data/lib/extensions/array.rb +0 -22
- data/lib/extensions/symbol.rb +0 -9
- data/lib/faker/address.rb +0 -67
- data/lib/faker/ancient.rb +0 -21
- data/lib/faker/app.rb +0 -18
- data/lib/faker/artist.rb +0 -9
- data/lib/faker/avatar.rb +0 -15
- data/lib/faker/bank.rb +0 -31
- data/lib/faker/beer.rb +0 -40
- data/lib/faker/bitcoin.rb +0 -48
- data/lib/faker/book.rb +0 -23
- data/lib/faker/boolean.rb +0 -9
- data/lib/faker/business.rb +0 -22
- data/lib/faker/cat.rb +0 -19
- data/lib/faker/chuck_norris.rb +0 -11
- data/lib/faker/code.rb +0 -147
- data/lib/faker/coffee.rb +0 -29
- data/lib/faker/color.rb +0 -30
- data/lib/faker/commerce.rb +0 -64
- data/lib/faker/company.rb +0 -141
- data/lib/faker/compass.rb +0 -65
- data/lib/faker/crypto.rb +0 -19
- data/lib/faker/date.rb +0 -78
- data/lib/faker/demographic.rb +0 -35
- data/lib/faker/dessert.rb +0 -19
- data/lib/faker/dr_who.rb +0 -34
- data/lib/faker/dragon_ball.rb +0 -9
- data/lib/faker/educator.rb +0 -23
- data/lib/faker/esport.rb +0 -25
- data/lib/faker/family_guy.rb +0 -17
- data/lib/faker/file.rb +0 -24
- data/lib/faker/fillmurray.rb +0 -14
- data/lib/faker/finance.rb +0 -28
- data/lib/faker/food.rb +0 -21
- data/lib/faker/friends.rb +0 -17
- data/lib/faker/funny_name.rb +0 -43
- data/lib/faker/game_of_thrones.rb +0 -25
- data/lib/faker/hacker.rb +0 -45
- data/lib/faker/harry_potter.rb +0 -21
- data/lib/faker/hey_arnold.rb +0 -17
- data/lib/faker/hipster.rb +0 -59
- data/lib/faker/hitchhikers_guide_to_the_galaxy.rb +0 -33
- data/lib/faker/hobbit.rb +0 -21
- data/lib/faker/how_i_met_your_mother.rb +0 -21
- data/lib/faker/id_number.rb +0 -36
- data/lib/faker/internet.rb +0 -178
- data/lib/faker/job.rb +0 -16
- data/lib/faker/league_of_legends.rb +0 -29
- data/lib/faker/lord_of_the_rings.rb +0 -13
- data/lib/faker/lorem.rb +0 -68
- data/lib/faker/lorem_pixel.rb +0 -21
- data/lib/faker/lovecraft.rb +0 -73
- data/lib/faker/markdown.rb +0 -66
- data/lib/faker/matz.rb +0 -9
- data/lib/faker/movie.rb +0 -9
- data/lib/faker/music.rb +0 -33
- data/lib/faker/name.rb +0 -42
- data/lib/faker/number.rb +0 -86
- data/lib/faker/omniauth.rb +0 -340
- data/lib/faker/overwatch.rb +0 -17
- data/lib/faker/phone_number.rb +0 -44
- data/lib/faker/placeholdit.rb +0 -20
- data/lib/faker/pokemon.rb +0 -17
- data/lib/faker/rick_and_morty.rb +0 -17
- data/lib/faker/robin.rb +0 -9
- data/lib/faker/rock_band.rb +0 -9
- data/lib/faker/rupaul.rb +0 -11
- data/lib/faker/shakespeare.rb +0 -83
- data/lib/faker/simpsons.rb +0 -22
- data/lib/faker/slack_emoji.rb +0 -43
- data/lib/faker/space.rb +0 -58
- data/lib/faker/star_trek.rb +0 -21
- data/lib/faker/star_wars.rb +0 -80
- data/lib/faker/superhero.rb +0 -25
- data/lib/faker/team.rb +0 -24
- data/lib/faker/time.rb +0 -51
- data/lib/faker/twin_peaks.rb +0 -17
- data/lib/faker/twitter.rb +0 -172
- data/lib/faker/university.rb +0 -20
- data/lib/faker/vehicle.rb +0 -37
- data/lib/faker/yoda.rb +0 -10
- data/lib/faker/zelda.rb +0 -18
- data/lib/locales/ja.yml +0 -46
@@ -0,0 +1,302 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
# Based on Perl's Text::Lorem
|
5
|
+
class Lorem < Base
|
6
|
+
class << self
|
7
|
+
##
|
8
|
+
# Returs the random word
|
9
|
+
# @return [String]
|
10
|
+
#
|
11
|
+
# @example
|
12
|
+
# Faker::Lorem.word #=> "soluto"
|
13
|
+
#
|
14
|
+
# @faker.version 2.1.3
|
15
|
+
def word
|
16
|
+
sample(translate('faker.lorem.words'))
|
17
|
+
end
|
18
|
+
|
19
|
+
##
|
20
|
+
# Generates random 3 words
|
21
|
+
#
|
22
|
+
# @param number [Integer] Number of words to be generated
|
23
|
+
# @param supplemental [Boolean] Whether to attach supplemental words at the end, default is false
|
24
|
+
#
|
25
|
+
# @return [Array] Array for words
|
26
|
+
#
|
27
|
+
# @example
|
28
|
+
# Faker::Lorem.words #=> ["hic", "quia", "nihil"]
|
29
|
+
# Faker::Lorem.words(number: 4) #=> ["est", "temporibus", "et", "quaerat"]
|
30
|
+
# Faker::Lorem.words(number: 4, supplemental: true) #=> ["nisi", "sit", "allatus", "consequatur"]
|
31
|
+
#
|
32
|
+
# @faker.version 2.1.3
|
33
|
+
def words(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false)
|
34
|
+
warn_for_deprecated_arguments do |keywords|
|
35
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
36
|
+
keywords << :supplemental if legacy_supplemental != NOT_GIVEN
|
37
|
+
end
|
38
|
+
|
39
|
+
resolved_num = resolve(number)
|
40
|
+
word_list = (
|
41
|
+
translate('faker.lorem.words') +
|
42
|
+
(supplemental ? translate('faker.lorem.supplemental') : [])
|
43
|
+
)
|
44
|
+
word_list *= ((resolved_num / word_list.length) + 1)
|
45
|
+
shuffle(word_list)[0, resolved_num]
|
46
|
+
end
|
47
|
+
|
48
|
+
##
|
49
|
+
# Generates single character
|
50
|
+
#
|
51
|
+
# @return [String]
|
52
|
+
#
|
53
|
+
# @example
|
54
|
+
# Faker::Lorem.character #=> "e"
|
55
|
+
#
|
56
|
+
# @faker.version 2.1.3
|
57
|
+
def character
|
58
|
+
sample(Types::CHARACTERS)
|
59
|
+
end
|
60
|
+
|
61
|
+
##
|
62
|
+
# Produces a random string of alphanumeric characters
|
63
|
+
#
|
64
|
+
# @param number [Integer] The number of characters to generate
|
65
|
+
# @param min_alpha [Integer] The minimum number of alphabetic to add to the string
|
66
|
+
# @param min_numeric [Integer] The minimum number of numbers to add to the string
|
67
|
+
#
|
68
|
+
# @return [String]
|
69
|
+
#
|
70
|
+
# @example
|
71
|
+
# Faker::Lorem.characters #=> "uw1ep04lhs0c4d931n1jmrspprf5w..."
|
72
|
+
# Faker::Lorem.characters(number: 10) #=> "ang9cbhoa8"
|
73
|
+
# Faker::Lorem.characters(number: 10, min_alpha: 4) #=> "ang9cbhoa8"
|
74
|
+
# Faker::Lorem.characters(number: 10, min_alpha: 4, min_numeric: 1) #=> "ang9cbhoa8"
|
75
|
+
#
|
76
|
+
# @faker.version 2.1.3
|
77
|
+
def characters(legacy_number = NOT_GIVEN, number: 255, min_alpha: 0, min_numeric: 0)
|
78
|
+
warn_for_deprecated_arguments do |keywords|
|
79
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
80
|
+
end
|
81
|
+
|
82
|
+
Alphanumeric.alphanumeric(number: number, min_alpha: min_alpha, min_numeric: min_numeric)
|
83
|
+
end
|
84
|
+
|
85
|
+
##
|
86
|
+
# Generates the emoji
|
87
|
+
#
|
88
|
+
# @return [String]
|
89
|
+
#
|
90
|
+
# @example
|
91
|
+
# Faker::Lorem.multibyte #=> "😀"
|
92
|
+
# Faker::Lorem.multibyte #=> "❤"
|
93
|
+
#
|
94
|
+
# @faker.version 2.1.3
|
95
|
+
def multibyte
|
96
|
+
sample(translate('faker.lorem.multibyte')).pack('C*').force_encoding('utf-8')
|
97
|
+
end
|
98
|
+
# rubocop:disable Metrics/ParameterLists
|
99
|
+
|
100
|
+
##
|
101
|
+
# Generates sentence
|
102
|
+
#
|
103
|
+
# @param word_count [Integer] How many words should be there in a sentence, default to 4
|
104
|
+
# @param supplemental [Boolean] Add supplemental words, default to false
|
105
|
+
# @param random_words_to_add [Integer] Add any random words, default to 0
|
106
|
+
#
|
107
|
+
# @return [String]
|
108
|
+
#
|
109
|
+
# @example
|
110
|
+
# Faker::Lorem.sentence #=> "Magnam qui aut quidem."
|
111
|
+
# Faker::Lorem.sentence(word_count: 5) #=> "Voluptas rerum aut aliquam velit."
|
112
|
+
# Faker::Lorem.sentence(word_count: 5, supplemental: true) #=> "Aut viscus curtus votum iusto."
|
113
|
+
# Faker::Lorem.sentence(word_count: 5, supplemental: true, random_words_to_add:2) #=> "Crinis quo cruentus velit animi vomer."
|
114
|
+
#
|
115
|
+
# @faker.version 2.1.3
|
116
|
+
def sentence(legacy_word_count = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, legacy_random_words_to_add = NOT_GIVEN, word_count: 4, supplemental: false, random_words_to_add: 0)
|
117
|
+
warn_for_deprecated_arguments do |keywords|
|
118
|
+
keywords << :word_count if legacy_word_count != NOT_GIVEN
|
119
|
+
keywords << :supplemental if legacy_supplemental != NOT_GIVEN
|
120
|
+
keywords << :random_words_to_add if legacy_random_words_to_add != NOT_GIVEN
|
121
|
+
end
|
122
|
+
|
123
|
+
words(number: word_count + rand(random_words_to_add.to_i), supplemental: supplemental).join(locale_space).capitalize + locale_period
|
124
|
+
end
|
125
|
+
# rubocop:enable Metrics/ParameterLists
|
126
|
+
|
127
|
+
##
|
128
|
+
# Generates three sentences
|
129
|
+
#
|
130
|
+
# @param number [Integer] How many sentences to be generated, default to 3
|
131
|
+
# @param supplemental [Boolean] Should add supplemental words, defaults to false
|
132
|
+
#
|
133
|
+
# @return [Array] Returns array for sentences.
|
134
|
+
#
|
135
|
+
# @example
|
136
|
+
# Faker::Lorem.sentences #=> ["Possimus non tenetur.", "Nulla non excepturi.", "Quisquam rerum facilis."]
|
137
|
+
# Faker::Lorem.sentences(number: 2) #=> ["Nulla est natus.", "Perferendis autem cum."]
|
138
|
+
# Faker::Lorem.sentences(number: 2, supplemental: true) #=> ["Cito cena ad.", "Solvo animus allatus."]
|
139
|
+
#
|
140
|
+
# @faker.version 2.1.3
|
141
|
+
def sentences(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false)
|
142
|
+
warn_for_deprecated_arguments do |keywords|
|
143
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
144
|
+
keywords << :supplemental if legacy_supplemental != NOT_GIVEN
|
145
|
+
end
|
146
|
+
|
147
|
+
1.upto(resolve(number)).collect { sentence(word_count: 3, supplemental: supplemental) }
|
148
|
+
end
|
149
|
+
|
150
|
+
# rubocop:disable Metrics/ParameterLists
|
151
|
+
|
152
|
+
##
|
153
|
+
# Generates three sentence paragraph
|
154
|
+
#
|
155
|
+
# @param sentence_count [Integer] Number of sentences in the paragraph
|
156
|
+
# @param supplemental [Boolean]
|
157
|
+
# @param random_sentences_to_add [Integer]
|
158
|
+
#
|
159
|
+
# @return [String]
|
160
|
+
#
|
161
|
+
# @example
|
162
|
+
# Faker::Lorem.paragraph
|
163
|
+
# #=> "Impedit et est. Aliquid deleniti necessitatibus. Et aspernatur minima."
|
164
|
+
# Faker::Lorem.paragraph(sentence_count: 2)
|
165
|
+
# #=> "Rerum fugit vitae. Et atque autem."
|
166
|
+
# Faker::Lorem.paragraph(sentence_count: 2, supplemental: true)
|
167
|
+
# #=> "Terreo coerceo utor. Vester sunt cogito."
|
168
|
+
# Faker::Lorem.paragraph(sentence_count: 2, supplemental: true, random_sentences_to_add: 2)
|
169
|
+
# #=> "Texo tantillus tamisium. Tribuo amissio tamisium. Facere aut canis."
|
170
|
+
#
|
171
|
+
# @faker.version 2.1.3
|
172
|
+
def paragraph(legacy_sentence_count = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, legacy_random_sentences_to_add = NOT_GIVEN, sentence_count: 3, supplemental: false, random_sentences_to_add: 0)
|
173
|
+
warn_for_deprecated_arguments do |keywords|
|
174
|
+
keywords << :sentence_count if legacy_sentence_count != NOT_GIVEN
|
175
|
+
keywords << :supplemental if legacy_supplemental != NOT_GIVEN
|
176
|
+
keywords << :random_sentences_to_add if legacy_random_sentences_to_add != NOT_GIVEN
|
177
|
+
end
|
178
|
+
|
179
|
+
sentences(number: resolve(sentence_count) + rand(random_sentences_to_add.to_i), supplemental: supplemental).join(locale_space)
|
180
|
+
end
|
181
|
+
# rubocop:enable Metrics/ParameterLists
|
182
|
+
|
183
|
+
##
|
184
|
+
# Generates three paragraphs
|
185
|
+
#
|
186
|
+
# @param number [Integer]
|
187
|
+
# @param supplemental [Boolean]
|
188
|
+
#
|
189
|
+
# @return [Array]
|
190
|
+
#
|
191
|
+
# @example
|
192
|
+
# Faker::Lorem.paragraphs
|
193
|
+
# Faker::Lorem.paragraphs(number:2)
|
194
|
+
# Faker::Lorem.paragraphs(number:2, supplemental: true)
|
195
|
+
#
|
196
|
+
# @faker.version 2.1.3
|
197
|
+
def paragraphs(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false)
|
198
|
+
warn_for_deprecated_arguments do |keywords|
|
199
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
200
|
+
end
|
201
|
+
warn_for_deprecated_arguments do |keywords|
|
202
|
+
keywords << :supplemental if legacy_supplemental != NOT_GIVEN
|
203
|
+
end
|
204
|
+
|
205
|
+
1.upto(resolve(number)).collect { paragraph(sentence_count: 3, supplemental: supplemental) }
|
206
|
+
end
|
207
|
+
|
208
|
+
##
|
209
|
+
# Generates paragraph with 256 characters
|
210
|
+
#
|
211
|
+
# @param number [Integer]
|
212
|
+
# @param supplemental [Boolean]
|
213
|
+
#
|
214
|
+
# @return [String]
|
215
|
+
#
|
216
|
+
# @example
|
217
|
+
# Faker::Lorem.paragraph_by_chars
|
218
|
+
# Faker::Lorem.paragraph_by_chars(number: 20) #=> "Sit modi alias. Imp."
|
219
|
+
# Faker::Lorem.paragraph_by_chars(number: 20, supplemental: true) #=> "Certus aveho admove."
|
220
|
+
#
|
221
|
+
# @faker.version 2.1.3
|
222
|
+
def paragraph_by_chars(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 256, supplemental: false)
|
223
|
+
warn_for_deprecated_arguments do |keywords|
|
224
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
225
|
+
keywords << :supplemental if legacy_supplemental != NOT_GIVEN
|
226
|
+
end
|
227
|
+
|
228
|
+
paragraph = paragraph(sentence_count: 3, supplemental: supplemental)
|
229
|
+
|
230
|
+
paragraph += " #{paragraph(sentence_count: 3, supplemental: supplemental)}" while paragraph.length < number
|
231
|
+
|
232
|
+
"#{paragraph[0...number - 1]}."
|
233
|
+
end
|
234
|
+
|
235
|
+
# rubocop:disable Metrics/ParameterLists
|
236
|
+
|
237
|
+
##
|
238
|
+
# Returns the question with 4 words
|
239
|
+
#
|
240
|
+
# @param word_count [Integer]
|
241
|
+
# @param supplemental [Boolean]
|
242
|
+
# @param random_words_to_add [Integer]
|
243
|
+
#
|
244
|
+
# @return [String]
|
245
|
+
#
|
246
|
+
# @example
|
247
|
+
# Faker::Lorem.question #=> "Natus deleniti sequi laudantium?"
|
248
|
+
# Faker::Lorem.question(word_count: 2) #=> "Quo ut?"
|
249
|
+
# Faker::Lorem.question(word_count: 2, supplemental: true) #=> "Terga consequatur?"
|
250
|
+
# Faker::Lorem.question(word_count: 2, supplemental: true, random_words_to_add: 2) #=> "Depulso uter ut?"
|
251
|
+
#
|
252
|
+
# @faker.version 2.1.3
|
253
|
+
def question(legacy_word_count = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, legacy_random_words_to_add = NOT_GIVEN, word_count: 4, supplemental: false, random_words_to_add: 0)
|
254
|
+
warn_for_deprecated_arguments do |keywords|
|
255
|
+
keywords << :word_count if legacy_word_count != NOT_GIVEN
|
256
|
+
keywords << :supplemental if legacy_supplemental != NOT_GIVEN
|
257
|
+
keywords << :random_words_to_add if legacy_random_words_to_add != NOT_GIVEN
|
258
|
+
end
|
259
|
+
|
260
|
+
words(number: word_count + rand(random_words_to_add), supplemental: supplemental).join(' ').capitalize + locale_question_mark
|
261
|
+
end
|
262
|
+
# rubocop:enable Metrics/ParameterLists
|
263
|
+
|
264
|
+
##
|
265
|
+
# Generates array of three questions
|
266
|
+
#
|
267
|
+
# @param number [Integer]
|
268
|
+
# @param supplemental [Boolean]
|
269
|
+
#
|
270
|
+
# @return [Array]
|
271
|
+
#
|
272
|
+
# @example
|
273
|
+
# Faker::Lorem.questions #=> ["Amet culpa enim?", "Voluptatem deleniti numquam?", "Veniam non cum?"]
|
274
|
+
# Faker::Lorem.questions(number: 2) #=> ["Minus occaecati nobis?", "Veniam et alias?"]
|
275
|
+
# Faker::Lorem.questions(number: 2, supplemental: true) #=> ["Acceptus subito cetera?", "Aro sulum cubicularis?"]
|
276
|
+
#
|
277
|
+
# @faker.version 2.1.3
|
278
|
+
def questions(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false)
|
279
|
+
warn_for_deprecated_arguments do |keywords|
|
280
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
281
|
+
keywords << :supplemental if legacy_supplemental != NOT_GIVEN
|
282
|
+
end
|
283
|
+
|
284
|
+
1.upto(resolve(number)).collect { question(word_count: 3, supplemental: supplemental) }
|
285
|
+
end
|
286
|
+
|
287
|
+
private
|
288
|
+
|
289
|
+
def locale_period
|
290
|
+
translate('faker.lorem.punctuation.period') || '.'
|
291
|
+
end
|
292
|
+
|
293
|
+
def locale_space
|
294
|
+
translate('faker.lorem.punctuation.space') || ' '
|
295
|
+
end
|
296
|
+
|
297
|
+
def locale_question_mark
|
298
|
+
translate('faker.lorem.punctuation.question_mark') || '?'
|
299
|
+
end
|
300
|
+
end
|
301
|
+
end
|
302
|
+
end
|
@@ -0,0 +1,138 @@
|
|
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
|
+
# rubocop:disable Metrics/ParameterLists
|
9
|
+
|
10
|
+
##
|
11
|
+
# Produces a random image URL from loremflickr.com.
|
12
|
+
#
|
13
|
+
# @param size [String] Specifies the size of image to generate.
|
14
|
+
# @param search_terms [Array<String>] Adds search terms to the image URL.
|
15
|
+
# @param match_all [Boolean] Add "all" as part of the URL.
|
16
|
+
# @return [String]
|
17
|
+
#
|
18
|
+
# @example
|
19
|
+
# Faker::LoremFlickr.image #=> "https://loremflickr.com/300/300"
|
20
|
+
# Faker::LoremFlickr.image(size: "50x60") #=> "https://loremflickr.com/50/60"
|
21
|
+
# Faker::LoremFlickr.image(size: "50x60", search_terms: ['sports']) #=> "https://loremflickr.com/50/60/sports"
|
22
|
+
# Faker::LoremFlickr.image(size: "50x60", search_terms: ['sports', 'fitness']) #=> "https://loremflickr.com/50/60/sports,fitness"
|
23
|
+
# Faker::LoremFlickr.image(size: "50x60", search_terms: ['sports', 'fitness'], match_all: true) #=> "https://loremflickr.com/50/60/sports,fitness/all"
|
24
|
+
#
|
25
|
+
# @faker.version 1.9.0
|
26
|
+
def image(legacy_size = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', search_terms: [], match_all: false)
|
27
|
+
warn_for_deprecated_arguments do |keywords|
|
28
|
+
keywords << :size if legacy_size != NOT_GIVEN
|
29
|
+
keywords << :search_terms if legacy_search_terms != NOT_GIVEN
|
30
|
+
keywords << :match_all if legacy_match_all != NOT_GIVEN
|
31
|
+
end
|
32
|
+
|
33
|
+
build_url(size, nil, search_terms, match_all)
|
34
|
+
end
|
35
|
+
|
36
|
+
##
|
37
|
+
# Produces a random grayscale image URL from loremflickr.com.
|
38
|
+
#
|
39
|
+
# @param size [String] Specifies the size of image to generate.
|
40
|
+
# @param search_terms [Array<String>] Adds search terms to the image URL.
|
41
|
+
# @param match_all [Boolean] Add "all" as part of the URL.
|
42
|
+
# @return [String]
|
43
|
+
#
|
44
|
+
# @example
|
45
|
+
# Faker::LoremFlickr.grayscale_image #=> "https://loremflickr.com/g/300/300/all"
|
46
|
+
# Faker::LoremFlickr.grayscale_image(size: "50x60") #=> "https://loremflickr.com/g/50/60/all"
|
47
|
+
# Faker::LoremFlickr.grayscale_image(size: "50x60", search_terms: ['sports']) #=> "https://loremflickr.com/g/50/60/sports"
|
48
|
+
# Faker::LoremFlickr.grayscale_image(size: "50x60", search_terms: ['sports', 'fitness']) #=> "https://loremflickr.com/50/60/g/sports,fitness"
|
49
|
+
# Faker::LoremFlickr.grayscale_image(size: "50x60", search_terms: ['sports', 'fitness'], match_all: true) #=> "https://loremflickr.com/g/50/60/sports,fitness/all"
|
50
|
+
#
|
51
|
+
# @faker.version 1.9.0
|
52
|
+
def grayscale_image(legacy_size = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', search_terms: ['all'], match_all: false)
|
53
|
+
warn_for_deprecated_arguments do |keywords|
|
54
|
+
keywords << :size if legacy_size != NOT_GIVEN
|
55
|
+
keywords << :search_terms if legacy_search_terms != NOT_GIVEN
|
56
|
+
keywords << :match_all if legacy_match_all != NOT_GIVEN
|
57
|
+
end
|
58
|
+
|
59
|
+
raise ArgumentError, 'Search terms must be specified for grayscale images' unless search_terms.any?
|
60
|
+
|
61
|
+
build_url(size, 'g', search_terms, match_all)
|
62
|
+
end
|
63
|
+
|
64
|
+
##
|
65
|
+
# Produces a random pixelated image URL from loremflickr.com.
|
66
|
+
#
|
67
|
+
# @param size [String] Specifies the size of image to generate.
|
68
|
+
# @param search_terms [Array<String>] Adds search terms to the image URL.
|
69
|
+
# @param match_all [Boolean] Add "all" as part of the URL.
|
70
|
+
# @return [String]
|
71
|
+
#
|
72
|
+
# @example
|
73
|
+
# Faker::LoremFlickr.pixelated_image #=> "https://loremflickr.com/p/300/300/all"
|
74
|
+
# Faker::LoremFlickr.pixelated_image(size: "50x60") #=> "https://loremflickr.com/p/50/60/all"
|
75
|
+
# Faker::LoremFlickr.pixelated_image(size: "50x60", search_terms: ['sports']) #=> "https://loremflickr.com/p/50/60/sports"
|
76
|
+
# Faker::LoremFlickr.pixelated_image(size: "50x60", search_terms: ['sports', 'fitness']) #=> "https://loremflickr.com/p/50/60/sports,fitness"
|
77
|
+
# Faker::LoremFlickr.pixelated_image(size: "50x60", search_terms: ['sports', 'fitness'], match_all: true) #=> "https://loremflickr.com/p/50/60/sports,fitness/all"
|
78
|
+
#
|
79
|
+
# @faker.version 1.9.0
|
80
|
+
def pixelated_image(legacy_size = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', search_terms: ['all'], match_all: false)
|
81
|
+
warn_for_deprecated_arguments do |keywords|
|
82
|
+
keywords << :size if legacy_size != NOT_GIVEN
|
83
|
+
keywords << :search_terms if legacy_search_terms != NOT_GIVEN
|
84
|
+
keywords << :match_all if legacy_match_all != NOT_GIVEN
|
85
|
+
end
|
86
|
+
|
87
|
+
raise ArgumentError, 'Search terms must be specified for pixelated images' unless search_terms.any?
|
88
|
+
|
89
|
+
build_url(size, 'p', search_terms, match_all)
|
90
|
+
end
|
91
|
+
|
92
|
+
##
|
93
|
+
# Produces a random colorized image URL from loremflickr.com.
|
94
|
+
#
|
95
|
+
# @param size [String] Specifies the size of image to generate.
|
96
|
+
# @param color [String] Specifies the color of image to generate.
|
97
|
+
# @param search_terms [Array<String>] Adds search terms to the image URL.
|
98
|
+
# @param match_all [Boolean] Add "all" as part of the URL.
|
99
|
+
# @return [String]
|
100
|
+
#
|
101
|
+
# @example
|
102
|
+
# Faker::LoremFlickr.image #=> "https://loremflickr.com/red/300/300/all"
|
103
|
+
# Faker::LoremFlickr.image(size: "50x60", color: 'blue') #=> "https://loremflickr.com/blue/50/60/all"
|
104
|
+
# Faker::LoremFlickr.image(size: "50x60", color: 'blue', search_terms: ['sports']) #=> "https://loremflickr.com/blue/50/60/sports"
|
105
|
+
# Faker::LoremFlickr.image(size: "50x60", color: 'blue', search_terms: ['sports', 'fitness']) #=> "https://loremflickr.com/blue/50/60/sports,fitness"
|
106
|
+
# Faker::LoremFlickr.image(size: "50x60", color: 'blue', search_terms: ['sports', 'fitness'], match_all: true) #=> "https://loremflickr.com/blue/50/60/sports,fitness/all"
|
107
|
+
#
|
108
|
+
# @faker.version 1.9.0
|
109
|
+
def colorized_image(legacy_size = NOT_GIVEN, legacy_color = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', color: 'red', search_terms: ['all'], match_all: false)
|
110
|
+
warn_for_deprecated_arguments do |keywords|
|
111
|
+
keywords << :size if legacy_size != NOT_GIVEN
|
112
|
+
keywords << :color if legacy_color != NOT_GIVEN
|
113
|
+
keywords << :search_terms if legacy_search_terms != NOT_GIVEN
|
114
|
+
keywords << :match_all if legacy_match_all != NOT_GIVEN
|
115
|
+
end
|
116
|
+
|
117
|
+
raise ArgumentError, 'Search terms must be specified for colorized images' unless search_terms.any?
|
118
|
+
raise ArgumentError, "Supported colorizations are #{SUPPORTED_COLORIZATIONS.join(', ')}" unless SUPPORTED_COLORIZATIONS.include?(color)
|
119
|
+
|
120
|
+
build_url(size, color, search_terms, match_all)
|
121
|
+
end
|
122
|
+
# rubocop:enable Metrics/ParameterLists
|
123
|
+
|
124
|
+
private
|
125
|
+
|
126
|
+
def build_url(size, format, search_terms, match_all)
|
127
|
+
raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /^[0-9]+x[0-9]+$/
|
128
|
+
|
129
|
+
url_parts = ['https://loremflickr.com']
|
130
|
+
url_parts << format
|
131
|
+
url_parts += size.split('x')
|
132
|
+
url_parts << search_terms.compact.join(',') if search_terms.any?
|
133
|
+
url_parts << 'all' if match_all
|
134
|
+
url_parts.compact.join('/')
|
135
|
+
end
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class LoremPixel < Base
|
5
|
+
class << self
|
6
|
+
SUPPORTED_CATEGORIES = %w[abstract
|
7
|
+
animals
|
8
|
+
business
|
9
|
+
cats
|
10
|
+
city
|
11
|
+
food
|
12
|
+
nightlife
|
13
|
+
fashion
|
14
|
+
people
|
15
|
+
nature
|
16
|
+
sports
|
17
|
+
technics
|
18
|
+
transport].freeze
|
19
|
+
|
20
|
+
# rubocop:disable Metrics/ParameterLists
|
21
|
+
|
22
|
+
##
|
23
|
+
# Produces a random image URL from lorempixel.com.
|
24
|
+
#
|
25
|
+
# @param size [String] Specifies the size of image to generate.
|
26
|
+
# @param is_gray [Boolean] Determines if the image is gray.
|
27
|
+
# @param category [Symbol] Adds the category of the generated image to the URL.
|
28
|
+
# @param number [Integer] Adds a number as part of the URL.
|
29
|
+
# @param text [Integer] Adds dummy text as part of the URL.
|
30
|
+
# @param secure [Boolean] Changes the image URL between http and https.
|
31
|
+
# @return [String]
|
32
|
+
#
|
33
|
+
# @example
|
34
|
+
# Faker::LoremPixel.image #=> "https://lorempixel.com/300/300"
|
35
|
+
# Faker::LoremPixel.image(size: "50x60") #=> "https://lorempixel.com/50/60"
|
36
|
+
# Faker::LoremPixel.image(size: "50x60", is_gray: true) #=> "https://lorempixel.com/g/50/60"
|
37
|
+
# Faker::LoremPixel.image(size: "50x60", is_gray: false, category: 'sports') #=> "https://lorempixel.com/50/60/sports"
|
38
|
+
# Faker::LoremPixel.image(size: "50x60", is_gray: false, category: 'sports', number: 3) #=> "https://lorempixel.com/50/60/sports/3"
|
39
|
+
# Faker::LoremPixel.image(size: "50x60", is_gray: false, category: 'sports', number: 3, text: 'Dummy-text') #=> "https://lorempixel.com/50/60/sports/3/Dummy-text"
|
40
|
+
# Faker::LoremPixel.image(size: "50x60", is_gray: false, category: 'sports', number: nil, text: 'Dummy-text') #=> "https://lorempixel.com/50/60/sports/Dummy-text"
|
41
|
+
# Faker::LoremPixel.image(secure: false) #=> "http://lorempixel.com/300/300"
|
42
|
+
#
|
43
|
+
# @faker.version 1.7.0
|
44
|
+
def image(legacy_size = NOT_GIVEN, legacy_is_gray = NOT_GIVEN, legacy_category = NOT_GIVEN, legacy_number = NOT_GIVEN, legacy_text = NOT_GIVEN, legacy_secure = NOT_GIVEN, size: '300x300', is_gray: false, category: nil, number: nil, text: nil, secure: true)
|
45
|
+
warn_for_deprecated_arguments do |keywords|
|
46
|
+
keywords << :size if legacy_size != NOT_GIVEN
|
47
|
+
keywords << :is_gray if legacy_is_gray != NOT_GIVEN
|
48
|
+
keywords << :category if legacy_category != NOT_GIVEN
|
49
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
50
|
+
keywords << :text if legacy_text != NOT_GIVEN
|
51
|
+
keywords << :secure if legacy_secure != NOT_GIVEN
|
52
|
+
end
|
53
|
+
|
54
|
+
raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /^[0-9]+x[0-9]+$/
|
55
|
+
raise ArgumentError, "Supported categories are #{SUPPORTED_CATEGORIES.join(', ')}" unless category.nil? || SUPPORTED_CATEGORIES.include?(category)
|
56
|
+
raise ArgumentError, 'Category required when number is passed' if !number.nil? && category.nil?
|
57
|
+
raise ArgumentError, 'Number must be between 1 and 10' unless number.nil? || (1..10).cover?(number)
|
58
|
+
raise ArgumentError, 'Category and number must be passed when text is passed' if !text.nil? && number.nil? && category.nil?
|
59
|
+
|
60
|
+
url_parts = secure ? ['https:/'] : ['http:/']
|
61
|
+
url_parts << ['lorempixel.com']
|
62
|
+
url_parts << 'g' if is_gray
|
63
|
+
url_parts += size.split('x')
|
64
|
+
url_parts += [category, number, text].compact
|
65
|
+
url_parts.join('/')
|
66
|
+
end
|
67
|
+
# rubocop:enable Metrics/ParameterLists
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,175 @@
|
|
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(legacy_sentences = NOT_GIVEN, legacy_repeat = NOT_GIVEN, sentences: 3, repeat: 1)
|
154
|
+
warn_for_deprecated_arguments do |keywords|
|
155
|
+
keywords << :sentences if legacy_sentences != NOT_GIVEN
|
156
|
+
keywords << :repeat if legacy_repeat != NOT_GIVEN
|
157
|
+
end
|
158
|
+
|
159
|
+
text_block = []
|
160
|
+
text_block << headers
|
161
|
+
repeat.times do
|
162
|
+
text_block << Faker::Lorem.paragraph(sentence_count: sentences)
|
163
|
+
text_block << random
|
164
|
+
end
|
165
|
+
text_block.join("\n")
|
166
|
+
end
|
167
|
+
|
168
|
+
private
|
169
|
+
|
170
|
+
def available_methods
|
171
|
+
(Markdown.public_methods(false) - Base.methods).sort
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|