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/crypto.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require '
|
|
3
|
+
require 'openssl'
|
|
4
4
|
|
|
5
5
|
module Faker
|
|
6
6
|
class Crypto < Base
|
|
@@ -15,7 +15,7 @@ module Faker
|
|
|
15
15
|
#
|
|
16
16
|
# @faker.version 1.6.4
|
|
17
17
|
def md5
|
|
18
|
-
Digest::MD5.hexdigest(Lorem.characters)
|
|
18
|
+
OpenSSL::Digest::MD5.hexdigest(Lorem.characters)
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
##
|
|
@@ -28,7 +28,7 @@ module Faker
|
|
|
28
28
|
#
|
|
29
29
|
# @faker.version 1.6.4
|
|
30
30
|
def sha1
|
|
31
|
-
Digest::SHA1.hexdigest(Lorem.characters)
|
|
31
|
+
OpenSSL::Digest::SHA1.hexdigest(Lorem.characters)
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
##
|
|
@@ -41,7 +41,20 @@ module Faker
|
|
|
41
41
|
#
|
|
42
42
|
# @faker.version 1.6.4
|
|
43
43
|
def sha256
|
|
44
|
-
Digest::SHA256.hexdigest(Lorem.characters)
|
|
44
|
+
OpenSSL::Digest::SHA256.hexdigest(Lorem.characters)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
##
|
|
48
|
+
# Produces a SHA512 hash.
|
|
49
|
+
#
|
|
50
|
+
# @return [String]
|
|
51
|
+
#
|
|
52
|
+
# @example
|
|
53
|
+
# Faker::Crypto.sha512 #=> "7b9fc82a6642874833d01b74a7b4fae3d15373193b55cfba47327f8f0afdc8d0ea155b58639a03a887009ef997dab8dd8d36767620d430f6e787e5996e26da80"
|
|
54
|
+
#
|
|
55
|
+
# @faker.version next
|
|
56
|
+
def sha512
|
|
57
|
+
OpenSSL::Digest::SHA512.hexdigest(Lorem.characters)
|
|
45
58
|
end
|
|
46
59
|
end
|
|
47
60
|
end
|
|
@@ -7,34 +7,67 @@ module Faker
|
|
|
7
7
|
ACRONYM = 1
|
|
8
8
|
URL_LOGO = 2
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
##
|
|
11
|
+
# Produces a random crypto coin name.
|
|
12
|
+
#
|
|
13
|
+
# @return [String]
|
|
14
|
+
#
|
|
15
|
+
# @example
|
|
16
|
+
# Faker::CryptoCoin.coin_name #=> "Bitcoin"
|
|
17
|
+
#
|
|
18
|
+
# @faker.version 1.9.2
|
|
19
|
+
def coin_name(coin: coin_array)
|
|
15
20
|
coin[COIN_NAME]
|
|
16
21
|
end
|
|
17
22
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
+
##
|
|
24
|
+
# Produces a random crypto coin acronym.
|
|
25
|
+
#
|
|
26
|
+
# @return [String]
|
|
27
|
+
#
|
|
28
|
+
# @example
|
|
29
|
+
# Faker::CryptoCoin.acronym #=> "BTC"
|
|
30
|
+
#
|
|
31
|
+
# @faker.version 1.9.2
|
|
32
|
+
def acronym(coin: coin_array)
|
|
23
33
|
coin[ACRONYM]
|
|
24
34
|
end
|
|
25
35
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
36
|
+
##
|
|
37
|
+
# Produces a random crypto coin logo url.
|
|
38
|
+
#
|
|
39
|
+
# @return [String]
|
|
40
|
+
#
|
|
41
|
+
# @example
|
|
42
|
+
# Faker::CryptoCoin.url_logo #=> "https://i.imgur.com/EFz61Ei.png"
|
|
43
|
+
#
|
|
44
|
+
# @faker.version 1.9.2
|
|
45
|
+
def url_logo(coin: coin_array)
|
|
31
46
|
coin[URL_LOGO]
|
|
32
47
|
end
|
|
33
48
|
|
|
49
|
+
##
|
|
50
|
+
# Produces a random crypto coin's name, acronym and logo in an array.
|
|
51
|
+
#
|
|
52
|
+
# @return [Array<String>]
|
|
53
|
+
#
|
|
54
|
+
# @example
|
|
55
|
+
# Faker::CryptoCoin.coin_array #=> ["Dash", "DASH", "https://i.imgur.com/2uX91cb.png"]
|
|
56
|
+
#
|
|
57
|
+
# @faker.version 1.9.2
|
|
34
58
|
def coin_array
|
|
35
59
|
fetch('crypto_coin.coin').split(',').map(&:strip)
|
|
36
60
|
end
|
|
37
61
|
|
|
62
|
+
##
|
|
63
|
+
# Produces a random crypto coin's name, acronym and logo in a hash.
|
|
64
|
+
#
|
|
65
|
+
# @return [Hash]
|
|
66
|
+
#
|
|
67
|
+
# @example
|
|
68
|
+
# Faker::CryptoCoin.coin_hash {:name=>"Ethereum", :acronym=>"ETH", :url_logo=>"https://i.imgur.com/uOPFCXj.png"}
|
|
69
|
+
#
|
|
70
|
+
# @faker.version 1.9.2
|
|
38
71
|
def coin_hash
|
|
39
72
|
coin = coin_array
|
|
40
73
|
|
data/lib/faker/default/date.rb
CHANGED
|
@@ -6,53 +6,40 @@ module Faker
|
|
|
6
6
|
##
|
|
7
7
|
# Produce a random date between two dates.
|
|
8
8
|
#
|
|
9
|
-
# @param from [Date] The start of the usable date range.
|
|
10
|
-
# @param to [Date] The end of the usable date range.
|
|
9
|
+
# @param from [Date, String] The start of the usable date range.
|
|
10
|
+
# @param to [Date, String] The end of the usable date range.
|
|
11
11
|
# @return [Date]
|
|
12
12
|
#
|
|
13
|
-
# @example
|
|
14
|
-
# Faker::Date.between(from:
|
|
15
|
-
#
|
|
13
|
+
# @example if used with or without Rails (Active Support)
|
|
14
|
+
# Faker::Date.between(from: '2014-09-23', to: '2014-09-25') #=> #<Date: 2014-09-24>
|
|
15
|
+
#
|
|
16
|
+
# @example if used with Rails (Active Support)
|
|
17
|
+
# Faker::Date.between(from: 2.days.ago, to: Date.today) #=> #<Date: 2014-09-24>
|
|
16
18
|
#
|
|
17
19
|
# @faker.version 1.0.0
|
|
18
|
-
def between(
|
|
19
|
-
warn_for_deprecated_arguments do |keywords|
|
|
20
|
-
keywords << :from if legacy_from != NOT_GIVEN
|
|
21
|
-
keywords << :to if legacy_to != NOT_GIVEN
|
|
22
|
-
end
|
|
23
|
-
|
|
20
|
+
def between(from:, to:)
|
|
24
21
|
from = get_date_object(from)
|
|
25
22
|
to = get_date_object(to)
|
|
26
23
|
|
|
27
24
|
Faker::Base.rand_in_range(from, to)
|
|
28
25
|
end
|
|
29
26
|
|
|
30
|
-
# rubocop:disable Metrics/ParameterLists
|
|
31
|
-
|
|
32
27
|
##
|
|
33
28
|
# Produce a random date between two dates.
|
|
34
29
|
#
|
|
35
|
-
# @param from [Date] The start of the usable date range.
|
|
36
|
-
# @param to [Date] The end of the usable date range.
|
|
37
|
-
# @param excepted [Date] A date to exclude.
|
|
30
|
+
# @param from [Date, String] The start of the usable date range.
|
|
31
|
+
# @param to [Date, String] The end of the usable date range.
|
|
32
|
+
# @param excepted [Date, String] A date to exclude.
|
|
38
33
|
# @return [Date]
|
|
39
34
|
#
|
|
40
|
-
# @example
|
|
41
|
-
# Faker::Date.between_except(from:
|
|
42
|
-
#
|
|
35
|
+
# @example if used with or without Rails (Active Support)
|
|
36
|
+
# Faker::Date.between_except(from: '2014-09-23', to: '2015-09-25', excepted: '2015-01-24') #=> #<Date: 2014-10-03>
|
|
37
|
+
#
|
|
38
|
+
# @example if used with Rails (Active Support)
|
|
39
|
+
# Faker::Date.between_except(from: 1.year.ago, to: 1.year.from_now, excepted: Date.today) #=> #<Date: 2014-10-03>
|
|
43
40
|
#
|
|
44
41
|
# @faker.version 1.6.2
|
|
45
|
-
def between_except(
|
|
46
|
-
warn_for_deprecated_arguments do |keywords|
|
|
47
|
-
keywords << :from if legacy_from != NOT_GIVEN
|
|
48
|
-
end
|
|
49
|
-
warn_for_deprecated_arguments do |keywords|
|
|
50
|
-
keywords << :to if legacy_to != NOT_GIVEN
|
|
51
|
-
end
|
|
52
|
-
warn_for_deprecated_arguments do |keywords|
|
|
53
|
-
keywords << :excepted if legacy_excepted != NOT_GIVEN
|
|
54
|
-
end
|
|
55
|
-
|
|
42
|
+
def between_except(from:, to:, excepted:)
|
|
56
43
|
raise ArgumentError, 'From date, to date and excepted date must not be the same' if from == to && to == excepted
|
|
57
44
|
|
|
58
45
|
excepted = get_date_object(excepted)
|
|
@@ -62,7 +49,6 @@ module Faker
|
|
|
62
49
|
break date.to_date if date != excepted
|
|
63
50
|
end
|
|
64
51
|
end
|
|
65
|
-
# rubocop:enable Metrics/ParameterLists
|
|
66
52
|
|
|
67
53
|
##
|
|
68
54
|
# Produce a random date in the future (up to N days).
|
|
@@ -74,11 +60,7 @@ module Faker
|
|
|
74
60
|
# Faker::Date.forward(days: 23) #=> #<Date: 2014-10-03>
|
|
75
61
|
#
|
|
76
62
|
# @faker.version 1.0.0
|
|
77
|
-
def forward(
|
|
78
|
-
warn_for_deprecated_arguments do |keywords|
|
|
79
|
-
keywords << :days if legacy_days != NOT_GIVEN
|
|
80
|
-
end
|
|
81
|
-
|
|
63
|
+
def forward(days: 365)
|
|
82
64
|
from = ::Date.today + 1
|
|
83
65
|
to = ::Date.today + days
|
|
84
66
|
|
|
@@ -95,11 +77,7 @@ module Faker
|
|
|
95
77
|
# Faker::Date.backward(days: 14) #=> #<Date: 2019-09-12>
|
|
96
78
|
#
|
|
97
79
|
# @faker.version 1.0.0
|
|
98
|
-
def backward(
|
|
99
|
-
warn_for_deprecated_arguments do |keywords|
|
|
100
|
-
keywords << :days if legacy_days != NOT_GIVEN
|
|
101
|
-
end
|
|
102
|
-
|
|
80
|
+
def backward(days: 365)
|
|
103
81
|
from = ::Date.today - days
|
|
104
82
|
to = ::Date.today - 1
|
|
105
83
|
|
|
@@ -117,14 +95,7 @@ module Faker
|
|
|
117
95
|
# Faker::Date.birthday(min_age: 18, max_age: 65) #=> #<Date: 1986-03-28>
|
|
118
96
|
#
|
|
119
97
|
# @faker.version 1.4.3
|
|
120
|
-
def birthday(
|
|
121
|
-
warn_for_deprecated_arguments do |keywords|
|
|
122
|
-
keywords << :min_age if legacy_min_age != NOT_GIVEN
|
|
123
|
-
end
|
|
124
|
-
warn_for_deprecated_arguments do |keywords|
|
|
125
|
-
keywords << :max_age if legacy_max_age != NOT_GIVEN
|
|
126
|
-
end
|
|
127
|
-
|
|
98
|
+
def birthday(min_age: 18, max_age: 65)
|
|
128
99
|
t = ::Date.today
|
|
129
100
|
|
|
130
101
|
from = birthday_date(t, max_age)
|
|
@@ -149,7 +120,7 @@ module Faker
|
|
|
149
120
|
# @example
|
|
150
121
|
# Faker::Date.in_date_period(month: 2) #=> #<Date: 2019-02-26>
|
|
151
122
|
#
|
|
152
|
-
# @faker.version
|
|
123
|
+
# @faker.version 2.13.0
|
|
153
124
|
def in_date_period(month: nil, year: ::Date.today.year)
|
|
154
125
|
from = ::Date.new(year, month || 1, 1)
|
|
155
126
|
to = ::Date.new(year, month || 12, ::Date.civil(year, month || 12, -1).day)
|
|
@@ -80,11 +80,7 @@ module Faker
|
|
|
80
80
|
# Faker::Demographic.height(unit: :imperial) #=> "6 ft, 2 in"
|
|
81
81
|
#
|
|
82
82
|
# @faker.version 1.7.3
|
|
83
|
-
def height(
|
|
84
|
-
warn_for_deprecated_arguments do |keywords|
|
|
85
|
-
keywords << :unit if legacy_unit != NOT_GIVEN
|
|
86
|
-
end
|
|
87
|
-
|
|
83
|
+
def height(unit: :metric)
|
|
88
84
|
case unit
|
|
89
85
|
when :imperial
|
|
90
86
|
inches = rand_in_range(57, 86)
|
|
@@ -6,16 +6,24 @@ module Faker
|
|
|
6
6
|
NI_CHANCE = 0.03 # NI Pop is about 3% of total UK population
|
|
7
7
|
|
|
8
8
|
class << self
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
##
|
|
10
|
+
# Produces a random British driving licence number.
|
|
11
|
+
#
|
|
12
|
+
# @param last_name [String] The last name of the driving licence's owner.
|
|
13
|
+
# @param initials [String] The initials of the driving licence's owner.
|
|
14
|
+
# @param gender [String] The gender of the driving licence's owner.
|
|
15
|
+
# @param date_of_birth [String] The date of birth of the driving licence's owner.
|
|
16
|
+
# @return [String]
|
|
17
|
+
#
|
|
18
|
+
# @example
|
|
19
|
+
# Faker::DrivingLicence.british_driving_licence #=> "MCDER712081VF7EK"
|
|
20
|
+
# Faker::DrivingLicence.british_driving_licence(last_name: "O'Carroll",
|
|
21
|
+
# initials: "J",
|
|
22
|
+
# gender: :female,
|
|
23
|
+
# date_of_birth: Date.parse("1986-10-24")) #=> "OCARR815246J91HT"
|
|
24
|
+
#
|
|
25
|
+
# @faker.version 1.9.2
|
|
26
|
+
def british_driving_licence(last_name: Faker::Name.last_name, initials: Faker::Name.initials, gender: random_gender, date_of_birth: Faker::Date.birthday(min_age: 18, max_age: 65))
|
|
19
27
|
[
|
|
20
28
|
gb_licence_padding(last_name, 5),
|
|
21
29
|
gb_licence_year(date_of_birth, gender),
|
|
@@ -24,10 +32,35 @@ module Faker
|
|
|
24
32
|
].join
|
|
25
33
|
end
|
|
26
34
|
|
|
35
|
+
##
|
|
36
|
+
# Produces a random Northern Irish licence number.
|
|
37
|
+
#
|
|
38
|
+
# @return [String]
|
|
39
|
+
#
|
|
40
|
+
# @example
|
|
41
|
+
# Faker::DrivingLicence.northern_irish_driving_licence #=> "70702548"
|
|
42
|
+
#
|
|
43
|
+
# @faker.version 1.9.2
|
|
27
44
|
def northern_irish_driving_licence
|
|
28
45
|
Faker::Number.number(digits: 8).to_s
|
|
29
46
|
end
|
|
30
47
|
|
|
48
|
+
##
|
|
49
|
+
# Produces a random UK driving licence number in either GB or NI format, at a rate consistent with their relative populations
|
|
50
|
+
#
|
|
51
|
+
# @overload uk_driving_licence(last_name, initials, gender, date_of_birth)
|
|
52
|
+
# @param last_name [String] The last name of the driving licence's owner.
|
|
53
|
+
# @param initials [String] The initials of the driving licence's owner.
|
|
54
|
+
# @param gender [String] The gender of the driving licence's owner.
|
|
55
|
+
# @param date_of_birth [String] The date of birth of the driving licence's owner.
|
|
56
|
+
# @overload uk_driving_licence()
|
|
57
|
+
# @return [String]
|
|
58
|
+
#
|
|
59
|
+
# @example
|
|
60
|
+
# Faker::DrivingLicence.uk_driving_licence #=> "OCARR815246J91HT"
|
|
61
|
+
# Faker::DrivingLicence.uk_driving_licence #=> "70702548"
|
|
62
|
+
#
|
|
63
|
+
# @faker.version 1.9.2
|
|
31
64
|
def uk_driving_licence(*args)
|
|
32
65
|
if Faker::Config.random.rand < NI_CHANCE
|
|
33
66
|
northern_irish_driving_licence
|
|
@@ -36,6 +69,23 @@ module Faker
|
|
|
36
69
|
end
|
|
37
70
|
end
|
|
38
71
|
|
|
72
|
+
##
|
|
73
|
+
# Produces a random USA driving licence number by state code passed.
|
|
74
|
+
#
|
|
75
|
+
# @return [String]
|
|
76
|
+
#
|
|
77
|
+
# @example
|
|
78
|
+
# Faker::DrivingLicence.usa_driving_licence #=> "V5598249"
|
|
79
|
+
# Faker::DrivingLicence.usa_driving_licence('new mexico') #=> "270692028"
|
|
80
|
+
# Faker::DrivingLicence.usa_driving_licence('New Mexico') #=> "68178637"
|
|
81
|
+
#
|
|
82
|
+
# @faker.version 2.14.0
|
|
83
|
+
def usa_driving_licence(state = 'California')
|
|
84
|
+
bothify(fetch("driving_licence.usa.#{state.to_s.strip.downcase.gsub(' ', '_')}"))
|
|
85
|
+
rescue I18n::MissingTranslationData => _e
|
|
86
|
+
raise InvalidStatePassed, "Invalid state code passed for USA, '#{state}'"
|
|
87
|
+
end
|
|
88
|
+
|
|
39
89
|
private
|
|
40
90
|
|
|
41
91
|
def random_gender
|
|
@@ -62,4 +112,10 @@ module Faker
|
|
|
62
112
|
end
|
|
63
113
|
end
|
|
64
114
|
end
|
|
115
|
+
|
|
116
|
+
class InvalidStatePassed < StandardError
|
|
117
|
+
def initialize(msg = 'Invalid state code passed')
|
|
118
|
+
super
|
|
119
|
+
end
|
|
120
|
+
end
|
|
65
121
|
end
|