faker 2.2.2
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 +1282 -0
- data/History.md +176 -0
- data/License.txt +20 -0
- data/README.md +364 -0
- data/bin/faker +5 -0
- data/lib/faker.rb +308 -0
- data/lib/faker/blockchain/bitcoin.rb +34 -0
- data/lib/faker/blockchain/ethereum.rb +16 -0
- data/lib/faker/blockchain/tezos.rb +51 -0
- data/lib/faker/books/book.rb +25 -0
- data/lib/faker/books/culture_series.rb +34 -0
- data/lib/faker/books/dune.rb +66 -0
- data/lib/faker/books/lovecraft.rb +104 -0
- data/lib/faker/creature/animal.rb +13 -0
- data/lib/faker/creature/cat.rb +23 -0
- data/lib/faker/creature/dog.rb +43 -0
- data/lib/faker/creature/horse.rb +19 -0
- data/lib/faker/default/address.rb +123 -0
- data/lib/faker/default/alphanumeric.rb +56 -0
- data/lib/faker/default/ancient.rb +23 -0
- data/lib/faker/default/app.rb +31 -0
- data/lib/faker/default/appliance.rb +15 -0
- data/lib/faker/default/artist.rb +11 -0
- data/lib/faker/default/avatar.rb +28 -0
- data/lib/faker/default/bank.rb +108 -0
- data/lib/faker/default/beer.rb +41 -0
- data/lib/faker/default/boolean.rb +15 -0
- data/lib/faker/default/bossa_nova.rb +15 -0
- data/lib/faker/default/business.rb +23 -0
- data/lib/faker/default/cannabis.rb +45 -0
- data/lib/faker/default/chile_rut.rb +54 -0
- data/lib/faker/default/chuck_norris.rb +14 -0
- data/lib/faker/default/code.rb +201 -0
- data/lib/faker/default/coffee.rb +37 -0
- data/lib/faker/default/coin.rb +15 -0
- data/lib/faker/default/color.rb +32 -0
- data/lib/faker/default/commerce.rb +80 -0
- data/lib/faker/default/company.rb +264 -0
- data/lib/faker/default/compass.rb +67 -0
- data/lib/faker/default/construction.rb +29 -0
- data/lib/faker/default/cosmere.rb +48 -0
- data/lib/faker/default/crypto.rb +21 -0
- data/lib/faker/default/crypto_coin.rb +49 -0
- data/lib/faker/default/currency.rb +19 -0
- data/lib/faker/default/date.rb +101 -0
- data/lib/faker/default/dc_comics.rb +25 -0
- data/lib/faker/default/demographic.rb +41 -0
- data/lib/faker/default/dessert.rb +21 -0
- data/lib/faker/default/device.rb +31 -0
- data/lib/faker/default/driving_licence.rb +65 -0
- data/lib/faker/default/educator.rb +35 -0
- data/lib/faker/default/electrical_components.rb +21 -0
- data/lib/faker/default/esport.rb +27 -0
- data/lib/faker/default/file.rb +49 -0
- data/lib/faker/default/fillmurray.rb +23 -0
- data/lib/faker/default/finance.rb +44 -0
- data/lib/faker/default/food.rb +49 -0
- data/lib/faker/default/funny_name.rb +45 -0
- data/lib/faker/default/gender.rb +15 -0
- data/lib/faker/default/greek_philosophers.rb +15 -0
- data/lib/faker/default/hacker.rb +45 -0
- data/lib/faker/default/hipster.rb +97 -0
- data/lib/faker/default/house.rb +15 -0
- data/lib/faker/default/id_number.rb +164 -0
- data/lib/faker/default/industry_segments.rb +25 -0
- data/lib/faker/default/internet.rb +283 -0
- data/lib/faker/default/invoice.rb +109 -0
- data/lib/faker/default/job.rb +25 -0
- data/lib/faker/default/json.rb +87 -0
- data/lib/faker/default/kpop.rb +31 -0
- data/lib/faker/default/lorem.rb +150 -0
- data/lib/faker/default/lorem_flickr.rb +78 -0
- data/lib/faker/default/lorem_pixel.rb +47 -0
- data/lib/faker/default/markdown.rb +84 -0
- data/lib/faker/default/marketing.rb +13 -0
- data/lib/faker/default/measurement.rb +116 -0
- data/lib/faker/default/military.rb +27 -0
- data/lib/faker/default/name.rb +58 -0
- data/lib/faker/default/nation.rb +33 -0
- data/lib/faker/default/nato_phonetic_alphabet.rb +11 -0
- data/lib/faker/default/nhs.rb +38 -0
- data/lib/faker/default/number.rb +150 -0
- data/lib/faker/default/omniauth.rb +371 -0
- data/lib/faker/default/phone_number.rb +54 -0
- data/lib/faker/default/placeholdit.rb +41 -0
- data/lib/faker/default/programming_language.rb +15 -0
- data/lib/faker/default/relationship.rb +46 -0
- data/lib/faker/default/restaurant.rb +11 -0
- data/lib/faker/default/science.rb +19 -0
- data/lib/faker/default/slack_emoji.rb +43 -0
- data/lib/faker/default/source.rb +35 -0
- data/lib/faker/default/south_africa.rb +51 -0
- data/lib/faker/default/space.rb +64 -0
- data/lib/faker/default/string.rb +49 -0
- data/lib/faker/default/stripe.rb +81 -0
- data/lib/faker/default/subscription.rb +25 -0
- data/lib/faker/default/superhero.rb +27 -0
- data/lib/faker/default/team.rb +29 -0
- data/lib/faker/default/time.rb +102 -0
- data/lib/faker/default/twitter.rb +188 -0
- data/lib/faker/default/types.rb +101 -0
- data/lib/faker/default/university.rb +30 -0
- data/lib/faker/default/vehicle.rb +162 -0
- data/lib/faker/default/verb.rb +27 -0
- data/lib/faker/default/world_cup.rb +36 -0
- data/lib/faker/games/dota.rb +33 -0
- data/lib/faker/games/elder_scrolls.rb +41 -0
- data/lib/faker/games/fallout.rb +25 -0
- data/lib/faker/games/game.rb +21 -0
- data/lib/faker/games/half_life.rb +21 -0
- data/lib/faker/games/heroes.rb +21 -0
- data/lib/faker/games/heroes_of_the_storm.rb +25 -0
- data/lib/faker/games/league_of_legends.rb +33 -0
- data/lib/faker/games/myst.rb +29 -0
- data/lib/faker/games/overwatch.rb +21 -0
- data/lib/faker/games/pokemon.rb +21 -0
- data/lib/faker/games/sonic_the_hedgehog.rb +21 -0
- data/lib/faker/games/super_smash_bros.rb +17 -0
- data/lib/faker/games/witcher.rb +33 -0
- data/lib/faker/games/world_of_warcraft.rb +17 -0
- data/lib/faker/games/zelda.rb +26 -0
- data/lib/faker/japanese_media/dragon_ball.rb +13 -0
- data/lib/faker/japanese_media/one_piece.rb +33 -0
- data/lib/faker/japanese_media/sword_art_online.rb +25 -0
- data/lib/faker/movies/back_to_the_future.rb +21 -0
- data/lib/faker/movies/ghostbusters.rb +21 -0
- data/lib/faker/movies/harry_potter.rb +33 -0
- data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +37 -0
- data/lib/faker/movies/hobbit.rb +25 -0
- data/lib/faker/movies/lebowski.rb +21 -0
- data/lib/faker/movies/lord_of_the_rings.rb +21 -0
- data/lib/faker/movies/movie.rb +11 -0
- data/lib/faker/movies/princess_bride.rb +17 -0
- data/lib/faker/movies/star_wars.rb +107 -0
- data/lib/faker/movies/v_for_vendetta.rb +21 -0
- data/lib/faker/music/grateful_dead.rb +19 -0
- data/lib/faker/music/music.rb +47 -0
- data/lib/faker/music/opera.rb +26 -0
- data/lib/faker/music/phish.rb +13 -0
- data/lib/faker/music/rock_band.rb +13 -0
- data/lib/faker/music/umphreys_mcgee.rb +13 -0
- data/lib/faker/quotes/quote.rb +32 -0
- data/lib/faker/quotes/shakespeare.rb +41 -0
- data/lib/faker/sports/basketball.rb +25 -0
- data/lib/faker/sports/football.rb +29 -0
- data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +15 -0
- data/lib/faker/tv_shows/bojack_horseman.rb +23 -0
- data/lib/faker/tv_shows/breaking_bad.rb +19 -0
- data/lib/faker/tv_shows/buffy.rb +31 -0
- data/lib/faker/tv_shows/community.rb +19 -0
- data/lib/faker/tv_shows/dr_who.rb +39 -0
- data/lib/faker/tv_shows/dumb_and_dumber.rb +23 -0
- data/lib/faker/tv_shows/family_guy.rb +23 -0
- data/lib/faker/tv_shows/friends.rb +23 -0
- data/lib/faker/tv_shows/game_of_thrones.rb +31 -0
- data/lib/faker/tv_shows/hey_arnold.rb +23 -0
- data/lib/faker/tv_shows/how_i_met_your_mother.rb +27 -0
- data/lib/faker/tv_shows/michael_scott.rb +13 -0
- data/lib/faker/tv_shows/new_girl.rb +19 -0
- data/lib/faker/tv_shows/parks_and_rec.rb +19 -0
- data/lib/faker/tv_shows/rick_and_morty.rb +23 -0
- data/lib/faker/tv_shows/ru_paul.rb +19 -0
- data/lib/faker/tv_shows/seinfeld.rb +23 -0
- data/lib/faker/tv_shows/silicon_valley.rb +43 -0
- data/lib/faker/tv_shows/simpsons.rb +23 -0
- data/lib/faker/tv_shows/south_park.rb +19 -0
- data/lib/faker/tv_shows/star_trek.rb +27 -0
- data/lib/faker/tv_shows/stargate.rb +23 -0
- data/lib/faker/tv_shows/stranger_things.rb +19 -0
- data/lib/faker/tv_shows/the_expanse.rb +27 -0
- data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +23 -0
- data/lib/faker/tv_shows/the_it_crowd.rb +27 -0
- data/lib/faker/tv_shows/the_thick_of_it.rb +23 -0
- data/lib/faker/tv_shows/twin_peaks.rb +23 -0
- data/lib/faker/tv_shows/venture_bros.rb +27 -0
- data/lib/faker/version.rb +5 -0
- data/lib/helpers/base58.rb +22 -0
- data/lib/helpers/char.rb +66 -0
- data/lib/helpers/unique_generator.rb +56 -0
- data/lib/locales/README.md +40 -0
- data/lib/locales/ar.yml +102 -0
- data/lib/locales/bg.yml +44 -0
- data/lib/locales/ca-CAT.yml +24 -0
- data/lib/locales/ca.yml +31 -0
- data/lib/locales/da-DK.yml +73 -0
- data/lib/locales/de-AT.yml +56 -0
- data/lib/locales/de-CH.yml +19 -0
- data/lib/locales/de.yml +174 -0
- data/lib/locales/ee.yml +61 -0
- data/lib/locales/en-AU.yml +28 -0
- data/lib/locales/en-BORK.yml +4 -0
- data/lib/locales/en-CA.yml +36 -0
- data/lib/locales/en-GB.yml +14 -0
- data/lib/locales/en-IND.yml +25 -0
- data/lib/locales/en-MS.yml +47 -0
- data/lib/locales/en-NEP.yml +49 -0
- data/lib/locales/en-NG.yml +77 -0
- data/lib/locales/en-NZ.yml +39 -0
- data/lib/locales/en-PAK.yml +18 -0
- data/lib/locales/en-SG.yml +35 -0
- data/lib/locales/en-UG.yml +128 -0
- data/lib/locales/en-US.yml +103 -0
- data/lib/locales/en-ZA.yml +148 -0
- data/lib/locales/en-au-ocker.yml +33 -0
- data/lib/locales/en.yml +11 -0
- data/lib/locales/en/README.md +13 -0
- data/lib/locales/en/address.yml +581 -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 +4 -0
- data/lib/locales/en/artist.yml +4 -0
- data/lib/locales/en/back_to_the_future.yml +120 -0
- data/lib/locales/en/bank.yml +302 -0
- data/lib/locales/en/basketball.yml +99 -0
- data/lib/locales/en/beer.yml +9 -0
- data/lib/locales/en/bojack_horseman.yml +6 -0
- data/lib/locales/en/book.yml +7 -0
- data/lib/locales/en/bossa_nova.yml +6 -0
- data/lib/locales/en/breaking_bad.yml +28 -0
- data/lib/locales/en/buffy.yml +260 -0
- data/lib/locales/en/business.yml +5 -0
- data/lib/locales/en/cannabis.yml +13 -0
- data/lib/locales/en/cat.yml +7 -0
- data/lib/locales/en/chuck_norris.yml +82 -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 +11 -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/construction.yml +425 -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 +8 -0
- data/lib/locales/en/dessert.yml +6 -0
- data/lib/locales/en/device.yml +7 -0
- data/lib/locales/en/dog.yml +11 -0
- data/lib/locales/en/dota.yml +105 -0
- data/lib/locales/en/dr_who.yml +96 -0
- data/lib/locales/en/dragon_ball.yml +4 -0
- data/lib/locales/en/dumb_and_dumber.yml +59 -0
- data/lib/locales/en/dune.yml +159 -0
- data/lib/locales/en/educator.yml +11 -0
- data/lib/locales/en/elder_scrolls.yml +11 -0
- data/lib/locales/en/electrical_components.yml +6 -0
- data/lib/locales/en/esport.yml +8 -0
- data/lib/locales/en/fallout.yml +137 -0
- data/lib/locales/en/family_guy.yml +7 -0
- data/lib/locales/en/file.yml +5 -0
- data/lib/locales/en/finance.yml +113 -0
- data/lib/locales/en/food.yml +13 -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/game.yml +283 -0
- data/lib/locales/en/game_of_thrones.yml +8 -0
- data/lib/locales/en/gender.yml +5 -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 +7 -0
- data/lib/locales/en/harry_potter.yml +9 -0
- data/lib/locales/en/heroes.yml +6 -0
- data/lib/locales/en/heroes_of_the_storm.yml +7 -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/hobbit.yml +19 -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/id_number.yml +5 -0
- data/lib/locales/en/industry_segments.yml +7 -0
- data/lib/locales/en/internet.yml +21 -0
- data/lib/locales/en/invoice.yml +6 -0
- data/lib/locales/en/job.yml +15 -0
- data/lib/locales/en/kpop.yml +83 -0
- data/lib/locales/en/league_of_legends.yml +10 -0
- data/lib/locales/en/lebowski.yml +43 -0
- data/lib/locales/en/lord_of_the_rings.yml +6 -0
- data/lib/locales/en/lorem.yml +11 -0
- data/lib/locales/en/lovecraft.yml +9 -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 +8 -0
- data/lib/locales/en/movie.yml +5 -0
- data/lib/locales/en/music.yml +32 -0
- data/lib/locales/en/myst.yml +48 -0
- data/lib/locales/en/name.yml +25 -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 +172 -0
- data/lib/locales/en/overwatch.yml +41 -0
- data/lib/locales/en/parks_and_rec.yml +7 -0
- data/lib/locales/en/phish.yml +4 -0
- data/lib/locales/en/phone_number.yml +7 -0
- data/lib/locales/en/pokemon.yml +8 -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 +166 -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 +4 -0
- data/lib/locales/en/rupaul.yml +125 -0
- data/lib/locales/en/science.yml +6 -0
- data/lib/locales/en/seinfeld.yml +6 -0
- data/lib/locales/en/shakespeare.yml +56 -0
- data/lib/locales/en/silicon_valley.yml +53 -0
- data/lib/locales/en/simpsons.yml +26 -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 +16 -0
- data/lib/locales/en/south_park.yml +5 -0
- data/lib/locales/en/space.yml +17 -0
- data/lib/locales/en/star_trek.yml +7 -0
- data/lib/locales/en/star_wars.yml +258 -0
- data/lib/locales/en/stargate.yml +21 -0
- data/lib/locales/en/stranger_thing.yml +36 -0
- data/lib/locales/en/stripe.yml +42 -0
- data/lib/locales/en/subscription.yml +8 -0
- data/lib/locales/en/super_smash_bros.yml +205 -0
- data/lib/locales/en/superhero.yml +12 -0
- data/lib/locales/en/sword_art_online.yml +334 -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_thick_of_it.yml +6 -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 +80 -0
- data/lib/locales/en/venture_bros.yml +7 -0
- data/lib/locales/en/verbs.yml +8 -0
- data/lib/locales/en/witcher.yml +11 -0
- data/lib/locales/en/world_cup.yml +271 -0
- data/lib/locales/en/world_of_warcraft.yml +8 -0
- data/lib/locales/en/yoda.yml +4 -0
- data/lib/locales/en/zelda.yml +8 -0
- data/lib/locales/es-MX.yml +102 -0
- data/lib/locales/es.yml +94 -0
- data/lib/locales/fa.yml +10 -0
- data/lib/locales/fi-FI.yml +35 -0
- data/lib/locales/fr-CA.yml +90 -0
- data/lib/locales/fr-CH.yml +78 -0
- data/lib/locales/fr.yml +114 -0
- data/lib/locales/he.yml +27 -0
- data/lib/locales/hy.yml +416 -0
- data/lib/locales/id.yml +23 -0
- data/lib/locales/it.yml +70 -0
- data/lib/locales/ja.yml +98 -0
- data/lib/locales/ko.yml +40 -0
- data/lib/locales/lv.yml +55 -0
- data/lib/locales/nb-NO.yml +62 -0
- data/lib/locales/nl.yml +92 -0
- data/lib/locales/no.yml +7 -0
- data/lib/locales/pl.yml +77 -0
- data/lib/locales/pt-BR.yml +697 -0
- data/lib/locales/pt.yml +66 -0
- data/lib/locales/ru.yml +76 -0
- data/lib/locales/sk.yml +78 -0
- data/lib/locales/sv.yml +81 -0
- data/lib/locales/tr.yml +40 -0
- data/lib/locales/uk.yml +86 -0
- data/lib/locales/vi.yml +68 -0
- data/lib/locales/zh-CN.yml +56 -0
- data/lib/locales/zh-TW.yml +29 -0
- metadata +543 -0
@@ -0,0 +1,66 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Books
|
5
|
+
class Dune < Base
|
6
|
+
class << self
|
7
|
+
# QUOTED_CHARACTERS = fetch("dune.quotes")
|
8
|
+
# SAYING_SOURCES = %w(translate("faker.dune.sources"))
|
9
|
+
|
10
|
+
def character
|
11
|
+
fetch('dune.characters')
|
12
|
+
end
|
13
|
+
|
14
|
+
def title
|
15
|
+
fetch('dune.titles')
|
16
|
+
end
|
17
|
+
|
18
|
+
def planet
|
19
|
+
fetch('dune.planets')
|
20
|
+
end
|
21
|
+
|
22
|
+
def quote(legacy_character = NOT_GIVEN, character: nil)
|
23
|
+
warn_for_deprecated_arguments do |keywords|
|
24
|
+
keywords << :character if legacy_character != NOT_GIVEN
|
25
|
+
end
|
26
|
+
|
27
|
+
quoted_characters = translate('faker.dune.quotes').keys
|
28
|
+
|
29
|
+
if character.nil?
|
30
|
+
character = sample(quoted_characters).to_s
|
31
|
+
else
|
32
|
+
character = character.to_s.downcase
|
33
|
+
|
34
|
+
unless quoted_characters.include?(character.to_sym)
|
35
|
+
raise ArgumentError,
|
36
|
+
"Characters quoted can be left blank or #{quoted_characters.join(', ')}"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
fetch('dune.quotes.' + character)
|
41
|
+
end
|
42
|
+
|
43
|
+
def saying(legacy_source = NOT_GIVEN, source: nil)
|
44
|
+
warn_for_deprecated_arguments do |keywords|
|
45
|
+
keywords << :source if legacy_source != NOT_GIVEN
|
46
|
+
end
|
47
|
+
|
48
|
+
sourced_sayings = translate('faker.dune.sayings').keys
|
49
|
+
|
50
|
+
if source.nil?
|
51
|
+
source = sample(sourced_sayings).to_s
|
52
|
+
else
|
53
|
+
source = source.to_s.downcase
|
54
|
+
|
55
|
+
unless sourced_sayings.include?(source.to_sym)
|
56
|
+
raise ArgumentError,
|
57
|
+
"Sources quoted in sayings can be left blank or #{sourced_sayings.join(', ')}"
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
fetch('dune.sayings.' + source)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,104 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Books
|
5
|
+
class Lovecraft < Base
|
6
|
+
class << self
|
7
|
+
def location
|
8
|
+
fetch('lovecraft.location')
|
9
|
+
end
|
10
|
+
|
11
|
+
def fhtagn(legacy_number = NOT_GIVEN, number: 1)
|
12
|
+
warn_for_deprecated_arguments do |keywords|
|
13
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
14
|
+
end
|
15
|
+
|
16
|
+
Array.new(number) { fetch('lovecraft.fhtagn') }.join('. ')
|
17
|
+
end
|
18
|
+
|
19
|
+
def deity
|
20
|
+
fetch('lovecraft.deity')
|
21
|
+
end
|
22
|
+
|
23
|
+
def tome
|
24
|
+
fetch('lovecraft.tome')
|
25
|
+
end
|
26
|
+
|
27
|
+
def sentence(legacy_word_count = NOT_GIVEN, legacy_random_words_to_add = NOT_GIVEN, word_count: 4, random_words_to_add: 6)
|
28
|
+
warn_for_deprecated_arguments do |keywords|
|
29
|
+
keywords << :word_count if legacy_word_count != NOT_GIVEN
|
30
|
+
keywords << :random_words_to_add if legacy_random_words_to_add != NOT_GIVEN
|
31
|
+
end
|
32
|
+
|
33
|
+
words(number: word_count + rand(random_words_to_add.to_i).to_i, spaces_allowed: true).join(' ').capitalize + '.'
|
34
|
+
end
|
35
|
+
|
36
|
+
def word
|
37
|
+
random_word = sample(translate('faker.lovecraft.words'))
|
38
|
+
random_word =~ /\s/ ? word : random_word
|
39
|
+
end
|
40
|
+
|
41
|
+
def words(legacy_number = NOT_GIVEN, legacy_spaces_allowed = NOT_GIVEN, number: 3, spaces_allowed: false)
|
42
|
+
warn_for_deprecated_arguments do |keywords|
|
43
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
44
|
+
keywords << :spaces_allowed if legacy_spaces_allowed != NOT_GIVEN
|
45
|
+
end
|
46
|
+
|
47
|
+
resolved_num = resolve(number)
|
48
|
+
word_list = translate('faker.lovecraft.words')
|
49
|
+
word_list *= ((resolved_num / word_list.length) + 1)
|
50
|
+
|
51
|
+
return shuffle(word_list)[0, resolved_num] if spaces_allowed
|
52
|
+
|
53
|
+
words = shuffle(word_list)[0, resolved_num]
|
54
|
+
words.each_with_index { |w, i| words[i] = word if w =~ /\s/ }
|
55
|
+
end
|
56
|
+
|
57
|
+
def sentences(legacy_number = NOT_GIVEN, number: 3)
|
58
|
+
warn_for_deprecated_arguments do |keywords|
|
59
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
60
|
+
end
|
61
|
+
|
62
|
+
[].tap do |sentences|
|
63
|
+
1.upto(resolve(number)) do
|
64
|
+
sentences << sentence(word_count: 3)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
def paragraph(legacy_sentence_count = NOT_GIVEN, legacy_random_sentences_to_add = NOT_GIVEN, sentence_count: 3, random_sentences_to_add: 3)
|
70
|
+
warn_for_deprecated_arguments do |keywords|
|
71
|
+
keywords << :sentence_count if legacy_sentence_count != NOT_GIVEN
|
72
|
+
keywords << :random_sentences_to_add if legacy_random_sentences_to_add != NOT_GIVEN
|
73
|
+
end
|
74
|
+
|
75
|
+
sentences(number: resolve(sentence_count) + rand(random_sentences_to_add.to_i).to_i).join(' ')
|
76
|
+
end
|
77
|
+
|
78
|
+
def paragraphs(legacy_number = NOT_GIVEN, number: 3)
|
79
|
+
warn_for_deprecated_arguments do |keywords|
|
80
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
81
|
+
end
|
82
|
+
|
83
|
+
[].tap do |paragraphs|
|
84
|
+
1.upto(resolve(number)) do
|
85
|
+
paragraphs << paragraph(sentence_count: 3)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
def paragraph_by_chars(legacy_characters = NOT_GIVEN, characters: 256)
|
91
|
+
warn_for_deprecated_arguments do |keywords|
|
92
|
+
keywords << :characters if legacy_characters != NOT_GIVEN
|
93
|
+
end
|
94
|
+
|
95
|
+
paragraph = paragraph(sentence_count: 3)
|
96
|
+
|
97
|
+
paragraph += ' ' + paragraph(sentence_count: 3) while paragraph.length < characters
|
98
|
+
|
99
|
+
paragraph[0...characters - 1] + '.'
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Creature
|
5
|
+
class Cat < Base
|
6
|
+
flexible :cat
|
7
|
+
|
8
|
+
class << self
|
9
|
+
def name
|
10
|
+
fetch('creature.cat.name')
|
11
|
+
end
|
12
|
+
|
13
|
+
def breed
|
14
|
+
fetch('creature.cat.breed')
|
15
|
+
end
|
16
|
+
|
17
|
+
def registry
|
18
|
+
fetch('creature.cat.registry')
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Creature
|
5
|
+
class Dog < Base
|
6
|
+
flexible :dog
|
7
|
+
|
8
|
+
class << self
|
9
|
+
def name
|
10
|
+
fetch('creature.dog.name')
|
11
|
+
end
|
12
|
+
|
13
|
+
def breed
|
14
|
+
fetch('creature.dog.breed')
|
15
|
+
end
|
16
|
+
|
17
|
+
def sound
|
18
|
+
fetch('creature.dog.sound')
|
19
|
+
end
|
20
|
+
|
21
|
+
def meme_phrase
|
22
|
+
fetch('creature.dog.meme_phrase')
|
23
|
+
end
|
24
|
+
|
25
|
+
def age
|
26
|
+
fetch('creature.dog.age')
|
27
|
+
end
|
28
|
+
|
29
|
+
def gender
|
30
|
+
Faker::Gender.binary_type
|
31
|
+
end
|
32
|
+
|
33
|
+
def coat_length
|
34
|
+
fetch('creature.dog.coat_length')
|
35
|
+
end
|
36
|
+
|
37
|
+
def size
|
38
|
+
fetch('creature.dog.size')
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Creature
|
5
|
+
class Horse < Base
|
6
|
+
flexible :horse
|
7
|
+
|
8
|
+
class << self
|
9
|
+
def name
|
10
|
+
fetch('creature.horse.name')
|
11
|
+
end
|
12
|
+
|
13
|
+
def breed
|
14
|
+
fetch('creature.horse.breed')
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,123 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Address < Base
|
5
|
+
flexible :address
|
6
|
+
|
7
|
+
class << self
|
8
|
+
def city(legacy_options = NOT_GIVEN, options: {})
|
9
|
+
warn_for_deprecated_arguments do |keywords|
|
10
|
+
keywords << :options if legacy_options != NOT_GIVEN
|
11
|
+
end
|
12
|
+
|
13
|
+
parse(options[:with_state] ? 'address.city_with_state' : 'address.city')
|
14
|
+
end
|
15
|
+
|
16
|
+
def street_name
|
17
|
+
parse('address.street_name')
|
18
|
+
end
|
19
|
+
|
20
|
+
def street_address(legacy_include_secondary = NOT_GIVEN, include_secondary: false)
|
21
|
+
warn_for_deprecated_arguments do |keywords|
|
22
|
+
keywords << :include_secondary if legacy_include_secondary != NOT_GIVEN
|
23
|
+
end
|
24
|
+
|
25
|
+
numerify(parse('address.street_address') + (include_secondary ? ' ' + secondary_address : ''))
|
26
|
+
end
|
27
|
+
|
28
|
+
def secondary_address
|
29
|
+
bothify(fetch('address.secondary_address'))
|
30
|
+
end
|
31
|
+
|
32
|
+
def building_number
|
33
|
+
bothify(fetch('address.building_number'))
|
34
|
+
end
|
35
|
+
|
36
|
+
def community
|
37
|
+
parse('address.community')
|
38
|
+
end
|
39
|
+
|
40
|
+
def zip_code(legacy_state_abbreviation = NOT_GIVEN, state_abbreviation: '')
|
41
|
+
warn_for_deprecated_arguments do |keywords|
|
42
|
+
keywords << :state_abbreviation if legacy_state_abbreviation != NOT_GIVEN
|
43
|
+
end
|
44
|
+
|
45
|
+
if state_abbreviation.empty?
|
46
|
+
letterified_string = letterify(fetch('address.postcode'))
|
47
|
+
return numerify(letterified_string, leading_zero: true)
|
48
|
+
end
|
49
|
+
|
50
|
+
# provide a zip code that is valid for the state provided
|
51
|
+
# see http://www.fincen.gov/forms/files/us_state_territory_zip_codes.pdf
|
52
|
+
bothify(fetch('address.postcode_by_state.' + state_abbreviation))
|
53
|
+
end
|
54
|
+
|
55
|
+
def time_zone
|
56
|
+
fetch('address.time_zone')
|
57
|
+
end
|
58
|
+
|
59
|
+
alias zip zip_code
|
60
|
+
alias postcode zip_code
|
61
|
+
|
62
|
+
def street_suffix
|
63
|
+
fetch('address.street_suffix')
|
64
|
+
end
|
65
|
+
|
66
|
+
def city_suffix
|
67
|
+
fetch('address.city_suffix')
|
68
|
+
end
|
69
|
+
|
70
|
+
def city_prefix
|
71
|
+
fetch('address.city_prefix')
|
72
|
+
end
|
73
|
+
|
74
|
+
def state_abbr
|
75
|
+
fetch('address.state_abbr')
|
76
|
+
end
|
77
|
+
|
78
|
+
def state
|
79
|
+
fetch('address.state')
|
80
|
+
end
|
81
|
+
|
82
|
+
def country
|
83
|
+
fetch('address.country')
|
84
|
+
end
|
85
|
+
|
86
|
+
def country_by_code(legacy_code = NOT_GIVEN, code: 'US')
|
87
|
+
warn_for_deprecated_arguments do |keywords|
|
88
|
+
keywords << :code if legacy_code != NOT_GIVEN
|
89
|
+
end
|
90
|
+
|
91
|
+
fetch('address.country_by_code.' + code)
|
92
|
+
end
|
93
|
+
|
94
|
+
def country_name_to_code(legacy_name = NOT_GIVEN, name: 'united_states')
|
95
|
+
warn_for_deprecated_arguments do |keywords|
|
96
|
+
keywords << :name if legacy_name != NOT_GIVEN
|
97
|
+
end
|
98
|
+
|
99
|
+
fetch('address.country_by_name.' + name)
|
100
|
+
end
|
101
|
+
|
102
|
+
def country_code
|
103
|
+
fetch('address.country_code')
|
104
|
+
end
|
105
|
+
|
106
|
+
def country_code_long
|
107
|
+
fetch('address.country_code_long')
|
108
|
+
end
|
109
|
+
|
110
|
+
def latitude
|
111
|
+
((rand * 180) - 90).to_f
|
112
|
+
end
|
113
|
+
|
114
|
+
def longitude
|
115
|
+
((rand * 360) - 180).to_f
|
116
|
+
end
|
117
|
+
|
118
|
+
def full_address
|
119
|
+
parse('address.full_address')
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Alphanumeric < Base
|
5
|
+
ALPHANUMS = LLetters + Numbers
|
6
|
+
|
7
|
+
class << self
|
8
|
+
def alpha(legacy_number = NOT_GIVEN, number: 32)
|
9
|
+
warn_for_deprecated_arguments do |keywords|
|
10
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
11
|
+
end
|
12
|
+
char_count = resolve(number)
|
13
|
+
return '' if char_count.to_i < 1
|
14
|
+
|
15
|
+
Array.new(char_count) { sample(self::LLetters) }.join
|
16
|
+
end
|
17
|
+
|
18
|
+
##
|
19
|
+
# Produces a random string of alphanumeric characters
|
20
|
+
#
|
21
|
+
# @param [Integer] number
|
22
|
+
# @param [Integer] min_alpha
|
23
|
+
# @param [Integer] min_numeric
|
24
|
+
#
|
25
|
+
# @return [String]
|
26
|
+
#
|
27
|
+
# @example Faker::Alphanumeric.alphanumeric(number: 10) #=> "3yfq2phxtb"
|
28
|
+
# @example Faker::Alphanumeric.alphanumeric(number: 10, min_alpha: 3) #=> "3yfq2phxtb"
|
29
|
+
# @example Faker::Alphanumeric.alphanumeric(number: 10, min_alpha: 3, min_numeric: 3) #=> "3yfq2phx8b"
|
30
|
+
#
|
31
|
+
# @faker.version 2.1.3
|
32
|
+
def alphanumeric(legacy_number = NOT_GIVEN, number: 32, min_alpha: 0, min_numeric: 0)
|
33
|
+
warn_for_deprecated_arguments do |keywords|
|
34
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
35
|
+
end
|
36
|
+
char_count = resolve(number)
|
37
|
+
return '' if char_count.to_i < 1
|
38
|
+
raise ArgumentError, 'min_alpha must be greater than or equal to 0' if min_alpha&.negative?
|
39
|
+
raise ArgumentError, 'min_numeric must be greater than or equal to 0' if min_numeric&.negative?
|
40
|
+
|
41
|
+
return Array.new(char_count) { sample(ALPHANUMS) }.join if min_alpha.zero? && min_numeric.zero?
|
42
|
+
|
43
|
+
raise ArgumentError, 'min_alpha + min_numeric must be <= number' if min_alpha + min_numeric > char_count
|
44
|
+
|
45
|
+
random_count = char_count - min_alpha - min_numeric
|
46
|
+
|
47
|
+
alphas = Array.new(min_alpha) { sample(self::LLetters) }
|
48
|
+
numbers = Array.new(min_numeric) { sample(self::Numbers) }
|
49
|
+
randoms = Array.new(random_count) { sample(ALPHANUMS) }
|
50
|
+
|
51
|
+
combined = alphas + numbers + randoms
|
52
|
+
combined.shuffle.join
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|