faker 2.11.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +810 -19
- data/History.md +5 -5
- data/README.md +232 -105
- data/lib/faker/blockchain/aeternity.rb +5 -5
- data/lib/faker/blockchain/bitcoin.rb +2 -2
- data/lib/faker/blockchain/ethereum.rb +1 -1
- data/lib/faker/blockchain/tezos.rb +31 -3
- data/lib/faker/books/dune.rb +17 -12
- data/lib/faker/books/lovecraft.rb +14 -41
- data/lib/faker/books/the_kingkiller_chronicle.rb +61 -0
- data/lib/faker/creature/bird.rb +203 -0
- data/lib/faker/default/address.rb +40 -30
- data/lib/faker/default/adjective.rb +35 -0
- data/lib/faker/default/alphanumeric.rb +2 -8
- data/lib/faker/default/app.rb +1 -10
- data/lib/faker/default/avatar.rb +1 -12
- data/lib/faker/default/bank.rb +104 -19
- data/lib/faker/default/barcode.rb +165 -0
- data/lib/faker/default/beer.rb +3 -3
- data/lib/faker/default/blood.rb +48 -0
- data/lib/faker/default/boolean.rb +1 -4
- data/lib/faker/default/business.rb +1 -1
- data/lib/faker/default/camera.rb +46 -0
- data/lib/faker/default/cannabis.rb +10 -0
- data/lib/faker/default/chile_rut.rb +54 -16
- data/lib/faker/default/chuck_norris.rb +1 -0
- data/lib/faker/default/code.rb +106 -38
- data/lib/faker/default/color.rb +77 -6
- data/lib/faker/default/commerce.rb +105 -28
- data/lib/faker/default/company.rb +116 -28
- data/lib/faker/default/compass.rb +135 -0
- data/lib/faker/default/computer.rb +63 -0
- data/lib/faker/default/construction.rb +54 -0
- data/lib/faker/default/cosmere.rb +90 -0
- data/lib/faker/default/crypto.rb +17 -4
- data/lib/faker/default/crypto_coin.rb +48 -15
- data/lib/faker/default/date.rb +21 -50
- data/lib/faker/default/demographic.rb +1 -5
- data/lib/faker/default/driving_licence.rb +66 -10
- data/lib/faker/default/drone.rb +332 -0
- data/lib/faker/default/educator.rb +13 -0
- data/lib/faker/default/emotion.rb +33 -0
- data/lib/faker/default/file.rb +53 -21
- data/lib/faker/default/finance.rb +75 -7
- data/lib/faker/default/food.rb +28 -2
- data/lib/faker/default/gender.rb +1 -1
- data/lib/faker/default/hipster.rb +106 -48
- data/lib/faker/default/hobby.rb +22 -0
- data/lib/faker/default/id_number.rb +230 -13
- data/lib/faker/default/internet.rb +390 -108
- data/lib/faker/default/internet_http.rb +48 -0
- data/lib/faker/default/invoice.rb +37 -23
- data/lib/faker/default/json.rb +61 -23
- data/lib/faker/default/lorem.rb +171 -72
- data/lib/faker/default/lorem_flickr.rb +69 -37
- data/lib/faker/default/markdown.rb +97 -11
- data/lib/faker/default/marketing.rb +1 -1
- data/lib/faker/default/measurement.rb +101 -42
- data/lib/faker/default/military.rb +26 -0
- data/lib/faker/default/mountain.rb +33 -0
- data/lib/faker/default/name.rb +99 -5
- data/lib/faker/default/nation.rb +0 -3
- data/lib/faker/default/nhs.rb +21 -6
- data/lib/faker/default/number.rb +38 -68
- data/lib/faker/default/omniauth.rb +111 -53
- data/lib/faker/default/phone_number.rb +89 -10
- data/lib/faker/default/placeholdit.rb +23 -12
- data/lib/faker/default/relationship.rb +2 -6
- data/lib/faker/default/religion.rb +6 -0
- data/lib/faker/default/science.rb +108 -0
- data/lib/faker/default/slack_emoji.rb +81 -0
- data/lib/faker/default/source.rb +3 -16
- data/lib/faker/default/south_africa.rb +90 -0
- data/lib/faker/default/space.rb +1 -1
- data/lib/faker/default/string.rb +18 -8
- data/lib/faker/default/stripe.rb +68 -23
- data/lib/faker/default/tea.rb +41 -0
- data/lib/faker/default/time.rb +4 -34
- data/lib/faker/default/twitter.rb +42 -23
- data/lib/faker/default/types.rb +88 -29
- data/lib/faker/default/university.rb +45 -0
- data/lib/faker/default/vehicle.rb +212 -54
- data/lib/faker/default/verb.rb +45 -0
- data/lib/faker/default/vulnerability_identifier.rb +23 -0
- data/lib/faker/default/world_cup.rb +6 -15
- 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 +178 -0
- data/lib/faker/games/dota.rb +14 -5
- data/lib/faker/games/elder_scrolls.rb +26 -0
- data/lib/faker/games/heroes.rb +13 -0
- data/lib/faker/games/heroes_of_the_storm.rb +16 -5
- data/lib/faker/games/minecraft.rb +113 -0
- data/lib/faker/games/myst.rb +1 -1
- data/lib/faker/games/street_fighter.rb +61 -0
- data/lib/faker/games/super_mario.rb +48 -0
- data/lib/faker/games/tarkov.rb +205 -0
- data/lib/faker/games/touhou.rb +75 -0
- data/lib/faker/games/warhammer_fantasy.rb +74 -0
- data/lib/faker/games/witcher.rb +39 -0
- data/lib/faker/games/world_of_warcraft.rb +26 -1
- data/lib/faker/japanese_media/conan.rb +48 -0
- data/lib/faker/japanese_media/cowboy_bebop.rb +61 -0
- data/lib/faker/japanese_media/doraemon.rb +48 -0
- data/lib/faker/japanese_media/dragon_ball.rb +26 -0
- data/lib/faker/japanese_media/fullmetal_alchemist_brotherhood.rb +48 -0
- data/lib/faker/japanese_media/kamen_rider.rb +102 -0
- data/lib/faker/japanese_media/naruto.rb +61 -0
- data/lib/faker/japanese_media/one_piece.rb +1 -1
- data/lib/faker/japanese_media/studio_ghibli.rb +48 -0
- data/lib/faker/locations/australia.rb +47 -0
- data/lib/faker/movies/avatar.rb +49 -0
- data/lib/faker/movies/departed.rb +49 -0
- data/lib/faker/movies/hackers.rb +48 -0
- data/lib/faker/movies/hobbit.rb +4 -4
- data/lib/faker/movies/how_to_train_your_dragon.rb +48 -0
- data/lib/faker/movies/lord_of_the_rings.rb +3 -3
- data/lib/faker/movies/movie.rb +13 -0
- data/lib/faker/movies/room.rb +63 -0
- data/lib/faker/movies/star_wars.rb +75 -7
- data/lib/faker/movies/tron.rb +161 -0
- data/lib/faker/music/hiphop.rb +48 -0
- data/lib/faker/music/music.rb +12 -0
- data/lib/faker/music/opera.rb +237 -1
- data/lib/faker/music/pearl_jam.rb +50 -0
- data/lib/faker/music/phish.rb +27 -1
- data/lib/faker/music/prince.rb +64 -0
- data/lib/faker/music/rock_band.rb +12 -0
- data/lib/faker/music/rush.rb +37 -0
- data/lib/faker/music/show.rb +49 -0
- data/lib/faker/quotes/quote.rb +93 -1
- data/lib/faker/quotes/rajnikanth.rb +1 -0
- data/lib/faker/quotes/shakespeare.rb +70 -0
- data/lib/faker/religion/bible.rb +50 -0
- data/lib/faker/sports/chess.rb +90 -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 +43 -0
- data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +13 -0
- data/lib/faker/tv_shows/big_bang_theory.rb +37 -0
- data/lib/faker/tv_shows/brooklyn_nine_nine.rb +38 -0
- data/lib/faker/tv_shows/buffy.rb +17 -4
- data/lib/faker/tv_shows/dr_who.rb +1 -1
- data/lib/faker/tv_shows/final_space.rb +51 -0
- data/lib/faker/tv_shows/futurama.rb +65 -0
- data/lib/faker/tv_shows/michael_scott.rb +0 -3
- data/lib/faker/tv_shows/simpsons.rb +14 -0
- data/lib/faker/tv_shows/spongebob.rb +50 -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_fresh_prince_of_bel_air.rb +17 -4
- data/lib/faker/tv_shows/the_office.rb +37 -0
- data/lib/faker/version.rb +2 -2
- data/lib/faker.rb +40 -84
- data/lib/helpers/base58.rb +1 -1
- data/lib/helpers/char.rb +22 -27
- data/lib/helpers/unique_generator.rb +13 -13
- data/lib/locales/ar.yml +6 -1
- data/lib/locales/bg.yml +1 -1
- data/lib/locales/da-DK.yml +1 -1
- data/lib/locales/de-AT.yml +7 -6
- data/lib/locales/de-CH.yml +1697 -2
- data/lib/locales/de.yml +12 -6
- data/lib/locales/en/address.yml +4 -3
- data/lib/locales/en/adjective.yml +179 -0
- data/lib/locales/en/airport.yml +381 -0
- data/lib/locales/en/animal.yml +1 -1
- data/lib/locales/en/aqua_teen_hunger_force.yml +33 -1
- data/lib/locales/en/australia.yml +107 -0
- data/lib/locales/en/avatar.yml +31 -0
- data/lib/locales/en/bank.yml +1 -1
- data/lib/locales/en/barcode.yml +24 -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/book.yml +487 -3
- data/lib/locales/en/brooklyn_nine_nine.yml +35 -0
- data/lib/locales/en/buffy.yml +1 -1
- data/lib/locales/en/camera.yml +611 -0
- data/lib/locales/en/cat.yml +1 -1
- data/lib/locales/en/chess.yml +103 -0
- data/lib/locales/en/clash_of_clan.yml +101 -0
- data/lib/locales/en/coffee.yml +1 -1
- data/lib/locales/en/commerce.yml +17 -0
- data/lib/locales/en/community.yml +17 -17
- data/lib/locales/en/company.yml +3 -2
- data/lib/locales/en/computer.yml +55 -0
- data/lib/locales/en/conan.yml +171 -0
- data/lib/locales/en/control.yml +247 -0
- data/lib/locales/en/cowboy_bebop.yml +163 -0
- data/lib/locales/en/demographic.yml +218 -5
- data/lib/locales/en/departed.yml +50 -0
- data/lib/locales/en/device.yml +112 -4
- data/lib/locales/en/dnd.yml +636 -0
- data/lib/locales/en/doraemon.yml +286 -0
- data/lib/locales/en/dota.yml +651 -63
- data/lib/locales/en/dragon_ball.yml +243 -1
- data/lib/locales/en/driving_license.yml +181 -0
- data/lib/locales/en/drone.yml +95 -0
- data/lib/locales/en/dune.yml +270 -131
- data/lib/locales/en/educator.yml +6 -0
- data/lib/locales/en/elder_scrolls.yml +583 -9
- data/lib/locales/en/emotion.yml +480 -0
- data/lib/locales/en/fallout.yml +311 -133
- data/lib/locales/en/file.yml +9 -1
- data/lib/locales/en/final_space.yml +37 -0
- data/lib/locales/en/finance.yml +77 -1
- data/lib/locales/en/fma_brotherhood.yml +78 -0
- data/lib/locales/en/food.yml +1066 -10
- data/lib/locales/en/football.yml +3 -3
- data/lib/locales/en/fresh_prince_of_bel_air.yml +1 -1
- data/lib/locales/en/futurama.yml +344 -0
- data/lib/locales/en/game.yml +11 -0
- data/lib/locales/en/hackers.yml +53 -0
- data/lib/locales/en/half_life.yml +84 -3
- data/lib/locales/en/heroes.yml +408 -3
- data/lib/locales/en/heroes_of_the_storm.yml +131 -4
- data/lib/locales/en/hobby.yml +171 -0
- data/lib/locales/en/horse.yml +2 -2
- data/lib/locales/en/house.yml +1 -1
- data/lib/locales/en/how_to_train_your_dragon.yml +174 -0
- data/lib/locales/en/internet.yml +140 -3
- data/lib/locales/en/jack_handey.yml +54 -0
- data/lib/locales/en/kamen_rider.yml +452 -0
- data/lib/locales/en/kpop.yml +7 -7
- data/lib/locales/en/league_of_legends.yml +285 -6
- data/lib/locales/en/lebowski.yml +1 -1
- data/lib/locales/en/lovecraft.yml +76 -6
- data/lib/locales/en/military.yml +179 -5
- data/lib/locales/en/minecraft.yml +663 -0
- data/lib/locales/en/mitch_hedberg.yml +46 -0
- data/lib/locales/en/mountain.yml +171 -0
- data/lib/locales/en/mountaineering.yml +14 -0
- data/lib/locales/en/movie.yml +194 -2
- data/lib/locales/en/music.yml +461 -29
- data/lib/locales/en/myst.yml +87 -31
- data/lib/locales/en/name.yml +5 -4
- data/lib/locales/en/naruto.yml +230 -0
- data/lib/locales/en/one_piece.yml +2 -2
- data/lib/locales/en/opera.yml +169 -1
- data/lib/locales/en/overwatch.yml +2648 -2622
- data/lib/locales/en/pearl_jam.yml +213 -0
- data/lib/locales/en/phish.yml +392 -1
- data/lib/locales/en/pokemon.yml +417 -4
- data/lib/locales/en/prince.yml +227 -0
- data/lib/locales/en/quote.yml +692 -163
- data/lib/locales/en/rock_band.yml +1 -0
- data/lib/locales/en/room.yml +68 -0
- data/lib/locales/en/rush.yml +32 -0
- data/lib/locales/en/science.yml +481 -3
- data/lib/locales/en/shakespeare.yml +21 -24
- data/lib/locales/en/show.yml +597 -0
- data/lib/locales/en/simpsons.yml +668 -0
- data/lib/locales/en/source.yml +35 -0
- data/lib/locales/en/space.yml +1 -1
- data/lib/locales/en/spongebob.yml +489 -0
- data/lib/locales/en/sport.yml +130 -0
- data/lib/locales/en/star_trek.yml +1 -1
- data/lib/locales/en/star_wars.yml +568 -220
- data/lib/locales/en/stranger_thing.yml +1 -1
- data/lib/locales/en/street_fighter.yml +1524 -0
- data/lib/locales/en/studio_ghibli.yml +107 -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 +23 -6
- data/lib/locales/en/supernatural.yml +141 -0
- data/lib/locales/en/tarkov.yml +593 -0
- data/lib/locales/en/tea.yml +172 -0
- data/lib/locales/en/the_kingkiller_chronicle.yml +56 -0
- data/lib/locales/en/the_office.yml +86 -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/vehicle.yml +2809 -75
- data/lib/locales/en/volleyball.yml +501 -0
- data/lib/locales/en/warhammer_fantasy.yml +582 -0
- data/lib/locales/en/witcher.yml +426 -7
- data/lib/locales/en/world_of_warcraft.yml +122 -4
- data/lib/locales/en/zelda.yml +962 -4
- data/lib/locales/en-AU.yml +50 -10
- data/lib/locales/en-CA.yml +4 -1
- data/lib/locales/en-GB.yml +3 -2
- data/lib/locales/en-IND.yml +2 -1
- data/lib/locales/en-MS.yml +3 -1
- data/lib/locales/en-NEP.yml +4 -1
- data/lib/locales/en-NG.yml +1 -0
- data/lib/locales/en-NZ.yml +4 -1
- data/lib/locales/en-PAK.yml +3 -1
- data/lib/locales/en-SG.yml +3 -1
- data/lib/locales/en-UG.yml +1 -0
- data/lib/locales/en-US.yml +38 -12
- data/lib/locales/en-ZA.yml +1 -1
- data/lib/locales/en-au-ocker.yml +4 -1
- data/lib/locales/en.yml +0 -3
- data/lib/locales/es-AR.yml +4601 -0
- data/lib/locales/es-MX.yml +1 -1
- data/lib/locales/es.yml +58 -2
- data/lib/locales/fi-FI.yml +4 -2
- 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 +22 -6
- data/lib/locales/fr-CH.yml +3 -3
- data/lib/locales/fr.yml +1 -113
- data/lib/locales/hy.yml +2 -1
- data/lib/locales/id.yml +3 -1
- data/lib/locales/it.yml +3 -1
- 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 +95 -2
- data/lib/locales/lt.yml +34 -0
- data/lib/locales/lv.yml +1 -1
- data/lib/locales/mi-NZ.yml +283 -0
- data/lib/locales/nb-NO.yml +5 -2
- data/lib/locales/nl.yml +1 -0
- data/lib/locales/pl.yml +2 -2
- data/lib/locales/pt-BR.yml +10 -2
- data/lib/locales/pt.yml +4 -2
- data/lib/locales/ru.yml +43 -1
- data/lib/locales/sk.yml +5 -2
- data/lib/locales/sv.yml +1 -0
- data/lib/locales/th.yml +76 -76
- data/lib/locales/tr.yml +1 -0
- data/lib/locales/uk.yml +3 -0
- data/lib/locales/vi.yml +1 -0
- data/lib/locales/zh-CN.yml +1 -0
- data/lib/locales/zh-TW.yml +1 -0
- metadata +219 -29
- data/lib/faker/default/fillmurray.rb +0 -45
- data/lib/faker/default/lorem_pixel.rb +0 -47
- data/lib/locales/en/hobbit.yml +0 -19
- data/lib/locales/en/lord_of_the_rings.yml +0 -6
- data/lib/locales/ja.yml +0 -101
data/lib/faker/default/stripe.rb
CHANGED
|
@@ -3,11 +3,18 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Stripe < Base
|
|
5
5
|
class << self
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
##
|
|
7
|
+
# Produces a random valid card number.
|
|
8
|
+
#
|
|
9
|
+
# @param card_type [String] Specific valid card type.
|
|
10
|
+
# @return [String]
|
|
11
|
+
#
|
|
12
|
+
# @example
|
|
13
|
+
# Faker::Stripe.valid_card #=> "4242424242424242"
|
|
14
|
+
# Faker::Stripe.valid_card(card_type: "visa_debit") #=> "4000056655665556"
|
|
15
|
+
#
|
|
16
|
+
# @faker.version 1.9.0
|
|
17
|
+
def valid_card(card_type: nil)
|
|
11
18
|
valid_cards = translate('faker.stripe.valid_cards').keys
|
|
12
19
|
|
|
13
20
|
if card_type.nil?
|
|
@@ -19,14 +26,21 @@ module Faker
|
|
|
19
26
|
end
|
|
20
27
|
end
|
|
21
28
|
|
|
22
|
-
fetch(
|
|
29
|
+
fetch("stripe.valid_cards.#{card_type}")
|
|
23
30
|
end
|
|
24
31
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
32
|
+
##
|
|
33
|
+
# Produces a random valid Stripe token.
|
|
34
|
+
#
|
|
35
|
+
# @param card_type [String] Specific valid card type.
|
|
36
|
+
# @return [String]
|
|
37
|
+
#
|
|
38
|
+
# @example
|
|
39
|
+
# Faker::Stripe.valid_token #=> "tok_visa"
|
|
40
|
+
# Faker::Stripe.valid_token(card_type: "mc_debit") #=> "tok_mastercard_debit"
|
|
41
|
+
#
|
|
42
|
+
# @faker.version 1.9.0
|
|
43
|
+
def valid_token(card_type: nil)
|
|
30
44
|
valid_tokens = translate('faker.stripe.valid_tokens').keys
|
|
31
45
|
|
|
32
46
|
if card_type.nil?
|
|
@@ -38,14 +52,20 @@ module Faker
|
|
|
38
52
|
end
|
|
39
53
|
end
|
|
40
54
|
|
|
41
|
-
fetch(
|
|
55
|
+
fetch("stripe.valid_tokens.#{card_type}")
|
|
42
56
|
end
|
|
43
57
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
58
|
+
##
|
|
59
|
+
# Produces a random invalid card number.
|
|
60
|
+
#
|
|
61
|
+
# @return [String]
|
|
62
|
+
#
|
|
63
|
+
# @example
|
|
64
|
+
# Faker::Stripe.invalid_card #=> "4000000000000002"
|
|
65
|
+
# Faker::Stripe.invalid_card(card_error: "addressZipFail") #=> "4000000000000010"
|
|
66
|
+
#
|
|
67
|
+
# @faker.version 1.9.0
|
|
68
|
+
def invalid_card(card_error: nil)
|
|
49
69
|
invalid_cards = translate('faker.stripe.invalid_cards').keys
|
|
50
70
|
|
|
51
71
|
if card_error.nil?
|
|
@@ -57,23 +77,48 @@ module Faker
|
|
|
57
77
|
end
|
|
58
78
|
end
|
|
59
79
|
|
|
60
|
-
fetch(
|
|
80
|
+
fetch("stripe.invalid_cards.#{card_error}")
|
|
61
81
|
end
|
|
62
82
|
|
|
83
|
+
##
|
|
84
|
+
# Produces a random month in two digits format.
|
|
85
|
+
#
|
|
86
|
+
# @return [String]
|
|
87
|
+
#
|
|
88
|
+
# @example
|
|
89
|
+
# Faker::Stripe.month #=> "10"
|
|
90
|
+
#
|
|
91
|
+
# @faker.version 1.9.0
|
|
63
92
|
def month
|
|
64
93
|
format('%02d', rand_in_range(1, 12))
|
|
65
94
|
end
|
|
66
95
|
|
|
96
|
+
##
|
|
97
|
+
# Produces a random year that is always in the future.
|
|
98
|
+
#
|
|
99
|
+
# @return [String]
|
|
100
|
+
#
|
|
101
|
+
# @example
|
|
102
|
+
# Faker::Stripe.year #=> "2018" # This will always be a year in the future
|
|
103
|
+
#
|
|
104
|
+
# @faker.version 1.9.0
|
|
67
105
|
def year
|
|
68
106
|
start_year = ::Time.new.year + 1
|
|
69
107
|
rand_in_range(start_year, start_year + 5).to_s
|
|
70
108
|
end
|
|
71
109
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
110
|
+
##
|
|
111
|
+
# Produces a random ccv number.
|
|
112
|
+
#
|
|
113
|
+
# @param card_type [String] Specific valid card type.
|
|
114
|
+
# @return [String]
|
|
115
|
+
#
|
|
116
|
+
# @example
|
|
117
|
+
# Faker::Stripe.ccv #=> "123"
|
|
118
|
+
# Faker::Stripe.ccv(card_type: "amex") #=> "1234"
|
|
119
|
+
#
|
|
120
|
+
# @faker.version 1.9.0
|
|
121
|
+
def ccv(card_type: nil)
|
|
77
122
|
(card_type.to_s == 'amex' ? rand_in_range(1000, 9999) : rand_in_range(100, 999)).to_s
|
|
78
123
|
end
|
|
79
124
|
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Faker
|
|
4
|
+
class Tea < Base
|
|
5
|
+
flexible :tea
|
|
6
|
+
|
|
7
|
+
class << self
|
|
8
|
+
##
|
|
9
|
+
# Produces a random variety or blend of tea.
|
|
10
|
+
#
|
|
11
|
+
# @param type [String, nil] the type of tea to query for (valid types: 'Black', 'Green', 'Oolong', 'White', and 'Herbal')
|
|
12
|
+
# @return [String] a variety of tea
|
|
13
|
+
#
|
|
14
|
+
# @example
|
|
15
|
+
# Faker::Tea.variety
|
|
16
|
+
# #=> "Earl Grey"
|
|
17
|
+
#
|
|
18
|
+
# @example
|
|
19
|
+
# Faker::Tea.variety(type: 'Green')
|
|
20
|
+
# #=> "Jasmine"
|
|
21
|
+
# @faker.version next
|
|
22
|
+
def variety(type: nil)
|
|
23
|
+
type ||= fetch('tea.type')
|
|
24
|
+
fetch "tea.variety.#{type.downcase}"
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
##
|
|
28
|
+
# Produces a random type of tea.
|
|
29
|
+
#
|
|
30
|
+
# @return [String] a type of tea
|
|
31
|
+
#
|
|
32
|
+
# @example
|
|
33
|
+
# Faker::Tea.type
|
|
34
|
+
# #=> "Green"
|
|
35
|
+
# @faker.version next
|
|
36
|
+
def type
|
|
37
|
+
fetch 'tea.type'
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
data/lib/faker/default/time.rb
CHANGED
|
@@ -13,9 +13,6 @@ module Faker
|
|
|
13
13
|
}.freeze
|
|
14
14
|
|
|
15
15
|
class << self
|
|
16
|
-
# rubocop:disable Metrics/ParameterLists
|
|
17
|
-
# rubocop:disable Style/AsciiComments
|
|
18
|
-
|
|
19
16
|
##
|
|
20
17
|
# Produce a random time between two times.
|
|
21
18
|
#
|
|
@@ -38,20 +35,13 @@ module Faker
|
|
|
38
35
|
# Faker::Time.between(from: DateTime.now - 1, to: DateTime.now, format: :long) #=> "2018年10月16日(火) 10時48分27秒 -0500"
|
|
39
36
|
#
|
|
40
37
|
# @faker.version 1.5.0
|
|
41
|
-
def between(
|
|
42
|
-
warn_for_deprecated_arguments do |keywords|
|
|
43
|
-
keywords << :from if legacy_from != NOT_GIVEN
|
|
44
|
-
keywords << :to if legacy_to != NOT_GIVEN
|
|
45
|
-
keywords << :format if legacy_format != NOT_GIVEN
|
|
46
|
-
end
|
|
47
|
-
|
|
38
|
+
def between(from:, to:, format: nil)
|
|
48
39
|
from = get_time_object(from)
|
|
49
40
|
to = get_time_object(to)
|
|
50
41
|
|
|
51
42
|
time = Faker::Base.rand_in_range(from, to)
|
|
52
43
|
time_with_format(time, format)
|
|
53
44
|
end
|
|
54
|
-
# rubocop:enable Style/AsciiComments
|
|
55
45
|
|
|
56
46
|
##
|
|
57
47
|
# Produce a random time between two dates.
|
|
@@ -81,14 +71,7 @@ module Faker
|
|
|
81
71
|
# #=> "Fri, 19 Oct 2018 15:17:46 -0500"
|
|
82
72
|
#
|
|
83
73
|
# @faker.version 1.0.0
|
|
84
|
-
def between_dates(
|
|
85
|
-
warn_for_deprecated_arguments do |keywords|
|
|
86
|
-
keywords << :from if legacy_from != NOT_GIVEN
|
|
87
|
-
keywords << :to if legacy_to != NOT_GIVEN
|
|
88
|
-
keywords << :period if legacy_period != NOT_GIVEN
|
|
89
|
-
keywords << :format if legacy_format != NOT_GIVEN
|
|
90
|
-
end
|
|
91
|
-
|
|
74
|
+
def between_dates(from:, to:, period: :all, format: nil)
|
|
92
75
|
date = Faker::Date.between(from: from, to: to)
|
|
93
76
|
time = date_with_random_time(date, period)
|
|
94
77
|
time_with_format(time, format)
|
|
@@ -109,13 +92,7 @@ module Faker
|
|
|
109
92
|
# #=> "October 21, 2018 20:47"
|
|
110
93
|
#
|
|
111
94
|
# @faker.version 1.5.0
|
|
112
|
-
def forward(
|
|
113
|
-
warn_for_deprecated_arguments do |keywords|
|
|
114
|
-
keywords << :days if legacy_days != NOT_GIVEN
|
|
115
|
-
keywords << :period if legacy_period != NOT_GIVEN
|
|
116
|
-
keywords << :format if legacy_format != NOT_GIVEN
|
|
117
|
-
end
|
|
118
|
-
|
|
95
|
+
def forward(days: 365, period: :all, format: nil)
|
|
119
96
|
time_with_format(date_with_random_time(Faker::Date.forward(days: days), period), format)
|
|
120
97
|
end
|
|
121
98
|
|
|
@@ -134,16 +111,9 @@ module Faker
|
|
|
134
111
|
# #=> "14 Oct 07:44"
|
|
135
112
|
#
|
|
136
113
|
# @faker.version 1.5.0
|
|
137
|
-
def backward(
|
|
138
|
-
warn_for_deprecated_arguments do |keywords|
|
|
139
|
-
keywords << :days if legacy_days != NOT_GIVEN
|
|
140
|
-
keywords << :period if legacy_period != NOT_GIVEN
|
|
141
|
-
keywords << :format if legacy_format != NOT_GIVEN
|
|
142
|
-
end
|
|
143
|
-
|
|
114
|
+
def backward(days: 365, period: :all, format: nil)
|
|
144
115
|
time_with_format(date_with_random_time(Faker::Date.backward(days: days), period), format)
|
|
145
116
|
end
|
|
146
|
-
# rubocop:enable Metrics/ParameterLists
|
|
147
117
|
|
|
148
118
|
private
|
|
149
119
|
|
|
@@ -3,14 +3,22 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Twitter < Base
|
|
5
5
|
class << self
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
##
|
|
7
|
+
# Produces a random Twitter user.
|
|
8
|
+
#
|
|
9
|
+
# @param include_status [Boolean] Include or exclude user status details
|
|
10
|
+
# @param include_email [Boolean] Include or exclude user email details
|
|
11
|
+
# @return [Hash]
|
|
12
|
+
#
|
|
13
|
+
# @example
|
|
14
|
+
# Faker::Twitter.user #=> {:id=>8821452687517076614, :name=>"Lincoln Paucek", :screen_name=>"cody"...
|
|
15
|
+
# Faker::Twitter.user(include_status: false) # Just get a user object with no embed status
|
|
16
|
+
# Faker::Twitter.user(include_email: true) # Simulate an authenticated user with the email permission
|
|
17
|
+
#
|
|
18
|
+
# @faker.version 1.7.3
|
|
19
|
+
def user(include_status: true, include_email: false)
|
|
12
20
|
user_id = id
|
|
13
|
-
background_image_url = Faker::
|
|
21
|
+
background_image_url = Faker::LoremFlickr.image(size: '600x400')
|
|
14
22
|
profile_image_url = Faker::Avatar.image(slug: user_id, size: '48x48')
|
|
15
23
|
user = {
|
|
16
24
|
id: user_id,
|
|
@@ -38,7 +46,7 @@ module Faker
|
|
|
38
46
|
profile_background_image_url_https: background_image_url,
|
|
39
47
|
profile_background_image_url: background_image_url.sub('https://', 'http://'),
|
|
40
48
|
profile_background_tile: Faker::Boolean.boolean(true_ratio: 0.1),
|
|
41
|
-
profile_banner_url: Faker::
|
|
49
|
+
profile_banner_url: Faker::LoremFlickr.image(size: '1500x500'),
|
|
42
50
|
profile_image_url_https: profile_image_url,
|
|
43
51
|
profile_image_url: profile_image_url.sub('https://', 'http://'),
|
|
44
52
|
profile_link_color: Faker::Color.hex_color,
|
|
@@ -55,16 +63,24 @@ module Faker
|
|
|
55
63
|
verified: Faker::Boolean.boolean(true_ratio: 0.1)
|
|
56
64
|
}
|
|
57
65
|
user[:status] = Faker::Twitter.status(include_user: false) if include_status
|
|
58
|
-
user[:email] = Faker::Internet.
|
|
66
|
+
user[:email] = Faker::Internet.email if include_email
|
|
59
67
|
user
|
|
60
68
|
end
|
|
61
69
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
70
|
+
##
|
|
71
|
+
# Produces a random Twitter user.
|
|
72
|
+
#
|
|
73
|
+
# @param include_user [Boolean] Include or exclude user details
|
|
74
|
+
# @param include_photo [Boolean] Include or exclude user photo
|
|
75
|
+
# @return [Hash]
|
|
76
|
+
#
|
|
77
|
+
# @example
|
|
78
|
+
# Faker::Twitter.status #=> {:id=>8821452687517076614, :text=>"Ea et laboriosam vel non."...
|
|
79
|
+
# Faker::Twitter.status(include_user: false) # Just get a status object with no embed user
|
|
80
|
+
# Faker::Twitter.status(include_photo: true) # Includes entities for an attached image
|
|
81
|
+
#
|
|
82
|
+
# @faker.version 1.7.3
|
|
83
|
+
def status(include_user: true, include_photo: false)
|
|
68
84
|
status_id = id
|
|
69
85
|
status = {
|
|
70
86
|
id: status_id,
|
|
@@ -97,6 +113,15 @@ module Faker
|
|
|
97
113
|
status
|
|
98
114
|
end
|
|
99
115
|
|
|
116
|
+
##
|
|
117
|
+
# Produces a random screen name.
|
|
118
|
+
#
|
|
119
|
+
# @return [String]
|
|
120
|
+
#
|
|
121
|
+
# @example
|
|
122
|
+
# Faker::Twitter.screen_name #=> "audreanne_hackett"
|
|
123
|
+
#
|
|
124
|
+
# @faker.version 1.7.3
|
|
100
125
|
def screen_name
|
|
101
126
|
Faker::Internet.username(specifier: nil, separators: ['_'])[0...20]
|
|
102
127
|
end
|
|
@@ -126,11 +151,7 @@ module Faker
|
|
|
126
151
|
}
|
|
127
152
|
end
|
|
128
153
|
|
|
129
|
-
def status_entities(
|
|
130
|
-
warn_for_deprecated_arguments do |keywords|
|
|
131
|
-
keywords << :include_photo if legacy_include_photo != NOT_GIVEN
|
|
132
|
-
end
|
|
133
|
-
|
|
154
|
+
def status_entities(include_photo: false)
|
|
134
155
|
entities = {
|
|
135
156
|
hashtags: [],
|
|
136
157
|
symbols: [],
|
|
@@ -142,9 +163,7 @@ module Faker
|
|
|
142
163
|
end
|
|
143
164
|
|
|
144
165
|
def photo_entity
|
|
145
|
-
|
|
146
|
-
# TODO: Return accurate indices
|
|
147
|
-
media_url = Faker::LoremPixel.image(size: '1064x600')
|
|
166
|
+
media_url = Faker::LoremFlickr.image(size: '1064x600')
|
|
148
167
|
media_id = id
|
|
149
168
|
{
|
|
150
169
|
id: media_id,
|
data/lib/faker/default/types.rb
CHANGED
|
@@ -7,11 +7,16 @@ module Faker
|
|
|
7
7
|
COMPLEX_TYPES = %i[hash array].freeze
|
|
8
8
|
|
|
9
9
|
class << self
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
##
|
|
11
|
+
# Produces a random String created from word (Faker::Lorem.word)
|
|
12
|
+
#
|
|
13
|
+
# @return [String]
|
|
14
|
+
#
|
|
15
|
+
# @example
|
|
16
|
+
# Faker::Types.rb_string #=> "foobar"
|
|
17
|
+
#
|
|
18
|
+
# @faker.version 1.8.6
|
|
19
|
+
def rb_string(words: 1)
|
|
15
20
|
resolved_num = resolve(words)
|
|
16
21
|
word_list =
|
|
17
22
|
translate('faker.lorem.words')
|
|
@@ -20,45 +25,81 @@ module Faker
|
|
|
20
25
|
shuffle(word_list)[0, resolved_num].join(' ')
|
|
21
26
|
end
|
|
22
27
|
|
|
28
|
+
##
|
|
29
|
+
# Produces a random character from the a-z, 0-9 ranges.
|
|
30
|
+
#
|
|
31
|
+
# @return [String]
|
|
32
|
+
#
|
|
33
|
+
# @example
|
|
34
|
+
# Faker::Types.character #=> "n"
|
|
35
|
+
#
|
|
36
|
+
# @faker.version 1.8.6
|
|
23
37
|
def character
|
|
24
38
|
sample(CHARACTERS)
|
|
25
39
|
end
|
|
26
40
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
41
|
+
##
|
|
42
|
+
# Produces a random integer.
|
|
43
|
+
#
|
|
44
|
+
# @return [Integer]
|
|
45
|
+
#
|
|
46
|
+
# @example
|
|
47
|
+
# Faker::Types.rb_integer #=> 1
|
|
48
|
+
#
|
|
49
|
+
# @faker.version 1.8.6
|
|
50
|
+
def rb_integer(from: 0, to: 100)
|
|
33
51
|
rand(from..to).to_i
|
|
34
52
|
end
|
|
35
53
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
54
|
+
##
|
|
55
|
+
# Produces a random hash with random keys and values.
|
|
56
|
+
#
|
|
57
|
+
# @param number [Integer] Specifies the number of key-value pairs.
|
|
58
|
+
# @return [Hash]
|
|
59
|
+
#
|
|
60
|
+
# @example
|
|
61
|
+
# Faker::Types.rb_hash #=> {name: "bob"}
|
|
62
|
+
# Faker::Types.rb_hash(number: 1) #=> {name: "bob"}
|
|
63
|
+
# Faker::Types.rb_hash(number: 2) #=> {name: "bob", last: "marley"}
|
|
64
|
+
#
|
|
65
|
+
# @faker.version 1.8.6
|
|
66
|
+
def rb_hash(number: 1, type: -> { random_type })
|
|
42
67
|
{}.tap do |hsh|
|
|
43
68
|
Lorem.words(number: number * 2).uniq.first(number).each do |s|
|
|
44
|
-
|
|
69
|
+
value = type.is_a?(Proc) ? type.call : type
|
|
70
|
+
hsh.merge!(s.to_sym => value)
|
|
45
71
|
end
|
|
46
72
|
end
|
|
47
73
|
end
|
|
48
74
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
75
|
+
##
|
|
76
|
+
# Produces a random complex hash with random keys and values where the values may include other hashes and arrays.
|
|
77
|
+
#
|
|
78
|
+
# @param number [Integer] Specifies the number of key-value pairs.
|
|
79
|
+
# @return [Hash]
|
|
80
|
+
#
|
|
81
|
+
# @example
|
|
82
|
+
# Faker::Types.complex_rb_hash #=> {user: {first: "bob", last: "marley"}}
|
|
83
|
+
# Faker::Types.complex_rb_hash(number: 1) #=> {user: {first: "bob", last: "marley"}}
|
|
84
|
+
# Faker::Types.complex_rb_hash(number: 2) #=> {user: {first: "bob", last: "marley"}, son: ["damien", "marley"]}
|
|
85
|
+
#
|
|
86
|
+
# @faker.version 1.8.6
|
|
87
|
+
def complex_rb_hash(number: 1)
|
|
88
|
+
rb_hash(number: number, type: -> { random_complex_type })
|
|
55
89
|
end
|
|
56
90
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
91
|
+
##
|
|
92
|
+
# Produces a random array.
|
|
93
|
+
#
|
|
94
|
+
# @param len [Integer] Specifies the number of elements in the array.
|
|
95
|
+
# @return [Array]
|
|
96
|
+
#
|
|
97
|
+
# @example
|
|
98
|
+
# Faker::Types.rb_array #=> ["a"]
|
|
99
|
+
# Faker::Types.rb_array(len: 4) #=> ["a", 1, 2, "bob"]
|
|
100
|
+
#
|
|
101
|
+
# @faker.version 1.8.6
|
|
102
|
+
def rb_array(len: 1)
|
|
62
103
|
[].tap do |ar|
|
|
63
104
|
len.times do
|
|
64
105
|
ar.push random_type
|
|
@@ -66,6 +107,15 @@ module Faker
|
|
|
66
107
|
end
|
|
67
108
|
end
|
|
68
109
|
|
|
110
|
+
##
|
|
111
|
+
# Produces a random type that's either a String or an Integer.
|
|
112
|
+
#
|
|
113
|
+
# @return [String, Integer]
|
|
114
|
+
#
|
|
115
|
+
# @example
|
|
116
|
+
# Faker::Types.random_type #=> 1 or "a" or "bob"
|
|
117
|
+
#
|
|
118
|
+
# @faker.version 1.8.6
|
|
69
119
|
def random_type
|
|
70
120
|
type_to_use = SIMPLE_TYPES[rand(0..SIMPLE_TYPES.length - 1)]
|
|
71
121
|
case type_to_use
|
|
@@ -76,6 +126,15 @@ module Faker
|
|
|
76
126
|
end
|
|
77
127
|
end
|
|
78
128
|
|
|
129
|
+
##
|
|
130
|
+
# Produces a random complex type that's either a String, an Integer, an array or a hash.
|
|
131
|
+
#
|
|
132
|
+
# @return [String, Integer]
|
|
133
|
+
#
|
|
134
|
+
# @example
|
|
135
|
+
# Faker::Types.random_complex_type #=> 1 or "a" or "bob" or {foo: "bar"}
|
|
136
|
+
#
|
|
137
|
+
# @faker.version 1.8.6
|
|
79
138
|
def random_complex_type
|
|
80
139
|
types = SIMPLE_TYPES + COMPLEX_TYPES
|
|
81
140
|
type_to_use = types[rand(0..types.length - 1)]
|
|
@@ -5,22 +5,67 @@ module Faker
|
|
|
5
5
|
flexible :university
|
|
6
6
|
|
|
7
7
|
class << self
|
|
8
|
+
##
|
|
9
|
+
# Produces a random university name.
|
|
10
|
+
#
|
|
11
|
+
# @return [String]
|
|
12
|
+
#
|
|
13
|
+
# @example
|
|
14
|
+
# Faker::University.name #=> "Eastern Mississippi Academy"
|
|
15
|
+
#
|
|
16
|
+
# @faker.version 1.5.0
|
|
8
17
|
def name
|
|
9
18
|
parse('university.name')
|
|
10
19
|
end
|
|
11
20
|
|
|
21
|
+
##
|
|
22
|
+
# Produces a random university prefix.
|
|
23
|
+
#
|
|
24
|
+
# @return [String]
|
|
25
|
+
#
|
|
26
|
+
# @example
|
|
27
|
+
# Faker::University.prefix #=> "Western"
|
|
28
|
+
#
|
|
29
|
+
# @faker.version 1.5.0
|
|
12
30
|
def prefix
|
|
13
31
|
fetch('university.prefix')
|
|
14
32
|
end
|
|
15
33
|
|
|
34
|
+
##
|
|
35
|
+
# Produces a random university suffix.
|
|
36
|
+
#
|
|
37
|
+
# @return [String]
|
|
38
|
+
#
|
|
39
|
+
# @example
|
|
40
|
+
# Faker::University.suffix #=> "Academy"
|
|
41
|
+
#
|
|
42
|
+
# @faker.version 1.5.0
|
|
16
43
|
def suffix
|
|
17
44
|
fetch('university.suffix')
|
|
18
45
|
end
|
|
19
46
|
|
|
47
|
+
##
|
|
48
|
+
# Produces a random greek organization.
|
|
49
|
+
#
|
|
50
|
+
# @return [String]
|
|
51
|
+
#
|
|
52
|
+
# @example
|
|
53
|
+
# Faker::University.greek_organization #=> "BEX"
|
|
54
|
+
#
|
|
55
|
+
# @faker.version 1.5.0
|
|
20
56
|
def greek_organization
|
|
21
57
|
Array.new(3) { |_| sample(greek_alphabet) }.join
|
|
22
58
|
end
|
|
23
59
|
|
|
60
|
+
##
|
|
61
|
+
# Produces a greek alphabet.
|
|
62
|
+
#
|
|
63
|
+
# @return [Array]
|
|
64
|
+
#
|
|
65
|
+
# @example
|
|
66
|
+
# Faker::University.greek_alphabet #=> ["Α", "B", "Γ", "Δ", ...]
|
|
67
|
+
#
|
|
68
|
+
# @faker.version 1.5.0
|
|
24
69
|
def greek_alphabet
|
|
25
70
|
%w[Α B Γ Δ E Z H Θ I K Λ M N Ξ
|
|
26
71
|
O Π P Σ T Y Φ X Ψ Ω]
|