faker 2.11.0 → 2.18.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 +421 -13
- data/History.md +4 -4
- data/README.md +33 -3
- data/lib/faker.rb +28 -23
- data/lib/faker/blockchain/aeternity.rb +4 -4
- data/lib/faker/blockchain/bitcoin.rb +2 -2
- data/lib/faker/blockchain/tezos.rb +30 -2
- data/lib/faker/books/dune.rb +15 -2
- data/lib/faker/books/lovecraft.rb +8 -4
- data/lib/faker/creature/bird.rb +203 -0
- data/lib/faker/default/address.rb +35 -5
- data/lib/faker/default/app.rb +1 -1
- data/lib/faker/default/avatar.rb +1 -1
- data/lib/faker/default/bank.rb +96 -3
- 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/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 +47 -3
- data/lib/faker/default/chuck_norris.rb +1 -0
- data/lib/faker/default/code.rb +98 -17
- data/lib/faker/default/commerce.rb +74 -11
- data/lib/faker/default/company.rb +96 -11
- 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 +45 -0
- data/lib/faker/default/date.rb +16 -12
- data/lib/faker/default/driving_licence.rb +67 -1
- data/lib/faker/default/drone.rb +332 -0
- data/lib/faker/default/educator.rb +13 -0
- data/lib/faker/default/faker_adjective.rb +35 -0
- data/lib/faker/default/file.rb +53 -2
- data/lib/faker/default/finance.rb +45 -0
- data/lib/faker/default/food.rb +1 -1
- data/lib/faker/default/gender.rb +1 -1
- data/lib/faker/default/hipster.rb +107 -10
- data/lib/faker/default/id_number.rb +122 -2
- data/lib/faker/default/internet.rb +266 -12
- data/lib/faker/default/internet_http.rb +48 -0
- data/lib/faker/default/invoice.rb +33 -6
- data/lib/faker/default/json.rb +61 -5
- data/lib/faker/default/lorem.rb +160 -5
- data/lib/faker/default/lorem_flickr.rb +67 -7
- data/lib/faker/default/lorem_pixel.rb +23 -0
- data/lib/faker/default/markdown.rb +91 -0
- data/lib/faker/default/measurement.rb +93 -2
- data/lib/faker/default/military.rb +26 -0
- data/lib/faker/default/mountain.rb +33 -0
- data/lib/faker/default/name.rb +98 -0
- data/lib/faker/default/nhs.rb +19 -0
- data/lib/faker/default/number.rb +28 -13
- data/lib/faker/default/omniauth.rb +62 -14
- data/lib/faker/default/phone_number.rb +88 -5
- data/lib/faker/default/placeholdit.rb +23 -1
- data/lib/faker/default/relationship.rb +1 -1
- data/lib/faker/default/science.rb +26 -0
- data/lib/faker/default/slack_emoji.rb +81 -0
- data/lib/faker/default/south_africa.rb +90 -0
- data/lib/faker/default/space.rb +1 -1
- data/lib/faker/default/string.rb +20 -3
- data/lib/faker/default/stripe.rb +64 -3
- data/lib/faker/default/tea.rb +41 -0
- data/lib/faker/default/twitter.rb +35 -0
- data/lib/faker/default/types.rb +84 -3
- data/lib/faker/default/university.rb +45 -0
- data/lib/faker/default/vehicle.rb +184 -4
- data/lib/faker/default/verb.rb +45 -0
- data/lib/faker/default/world_cup.rb +4 -4
- data/lib/faker/fantasy/tolkien.rb +67 -0
- data/lib/faker/games/clash_of_clans.rb +48 -0
- data/lib/faker/games/control.rb +113 -0
- data/lib/faker/games/dnd.rb +136 -0
- data/lib/faker/games/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/street_fighter.rb +61 -0
- data/lib/faker/games/super_mario.rb +48 -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/doraemon.rb +48 -0
- data/lib/faker/japanese_media/dragon_ball.rb +26 -0
- data/lib/faker/japanese_media/naruto.rb +61 -0
- data/lib/faker/japanese_media/studio_ghibli.rb +48 -0
- data/lib/faker/movies/departed.rb +49 -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 +74 -2
- 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 +80 -1
- data/lib/faker/quotes/rajnikanth.rb +1 -0
- data/lib/faker/quotes/shakespeare.rb +70 -0
- data/lib/faker/sports/volleyball.rb +74 -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/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/simpsons.rb +14 -0
- data/lib/faker/tv_shows/suits.rb +37 -0
- data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +17 -4
- data/lib/faker/version.rb +1 -1
- data/lib/helpers/base58.rb +1 -1
- data/lib/helpers/char.rb +22 -27
- data/lib/helpers/unique_generator.rb +0 -2
- data/lib/locales/de-AT.yml +4 -2
- data/lib/locales/de-CH.yml +1696 -1
- data/lib/locales/de.yml +4 -2
- data/lib/locales/en-AU.yml +50 -10
- data/lib/locales/en-CA.yml +2 -0
- data/lib/locales/en-GB.yml +1 -1
- data/lib/locales/en-IND.yml +2 -1
- data/lib/locales/en-MS.yml +2 -1
- data/lib/locales/en-NEP.yml +4 -1
- data/lib/locales/en-NZ.yml +3 -1
- data/lib/locales/en-PAK.yml +2 -1
- data/lib/locales/en-SG.yml +2 -1
- data/lib/locales/en-US.yml +37 -11
- data/lib/locales/en-au-ocker.yml +2 -1
- data/lib/locales/en.yml +0 -3
- data/lib/locales/en/address.yml +2 -0
- data/lib/locales/en/adjective.yml +179 -0
- data/lib/locales/en/animal.yml +1 -1
- data/lib/locales/en/aqua_teen_hunger_force.yml +33 -1
- data/lib/locales/en/bank.yml +1 -1
- data/lib/locales/en/barcode.yml +24 -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/buffy.yml +1 -1
- data/lib/locales/en/camera.yml +611 -0
- data/lib/locales/en/clash_of_clan.yml +101 -0
- data/lib/locales/en/company.yml +2 -2
- data/lib/locales/en/computer.yml +36 -0
- data/lib/locales/en/conan.yml +171 -0
- data/lib/locales/en/control.yml +247 -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 +451 -0
- data/lib/locales/en/doraemon.yml +286 -0
- data/lib/locales/en/dota.yml +531 -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/fallout.yml +311 -133
- data/lib/locales/en/final_space.yml +37 -0
- data/lib/locales/en/finance.yml +53 -0
- 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/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/house.yml +1 -1
- data/lib/locales/en/how_to_train_your_dragon.yml +174 -0
- data/lib/locales/en/jack_handey.yml +54 -0
- 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/mountain.yml +158 -0
- data/lib/locales/en/movie.yml +192 -1
- 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 +231 -0
- data/lib/locales/en/one_piece.yml +2 -2
- data/lib/locales/en/opera.yml +168 -0
- data/lib/locales/en/overwatch.yml +2650 -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 +355 -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 +30 -0
- data/lib/locales/en/space.yml +1 -1
- data/lib/locales/en/star_trek.yml +1 -1
- data/lib/locales/en/star_wars.yml +568 -220
- 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 +18 -4
- data/lib/locales/en/tea.yml +172 -0
- data/lib/locales/en/tolkien.yml +2453 -0
- data/lib/locales/en/touhou.yml +839 -0
- 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/es-AR.yml +4603 -0
- data/lib/locales/es.yml +56 -0
- data/lib/locales/fi-FI.yml +1 -1
- data/lib/locales/fr-CA.yml +21 -5
- data/lib/locales/fr-CH.yml +2 -2
- data/lib/locales/fr.yml +1 -113
- data/lib/locales/fr/address.yml +21 -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 +9 -0
- data/lib/locales/id.yml +3 -1
- data/lib/locales/it.yml +2 -1
- data/lib/locales/ja/README.md +13 -0
- data/lib/locales/ja/address.yml +17 -0
- data/lib/locales/ja/ancient.yml +4 -0
- data/lib/locales/ja/bank.yml +4 -0
- data/lib/locales/ja/book.yml +7 -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/creature.yml +9 -0
- data/lib/locales/ja/food.yml +4 -0
- data/lib/locales/ja/games.yml +18 -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/phone_number.yml +7 -0
- data/lib/locales/ja/restaurant.yml +11 -0
- data/lib/locales/ja/space.yml +5 -0
- data/lib/locales/ja/subscription.yml +8 -0
- data/lib/locales/ja/university.yml +9 -0
- data/lib/locales/ko.yml +94 -2
- data/lib/locales/nb-NO.yml +4 -2
- data/lib/locales/pt-BR.yml +3 -1
- data/lib/locales/pt.yml +3 -1
- data/lib/locales/ru.yml +42 -1
- data/lib/locales/sk.yml +4 -2
- data/lib/locales/uk.yml +2 -0
- metadata +133 -24
- 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,6 +7,15 @@ module Faker
|
|
|
7
7
|
ACRONYM = 1
|
|
8
8
|
URL_LOGO = 2
|
|
9
9
|
|
|
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
|
|
10
19
|
def coin_name(legacy_coin = NOT_GIVEN, coin: coin_array)
|
|
11
20
|
warn_for_deprecated_arguments do |keywords|
|
|
12
21
|
keywords << :coin if legacy_coin != NOT_GIVEN
|
|
@@ -15,6 +24,15 @@ module Faker
|
|
|
15
24
|
coin[COIN_NAME]
|
|
16
25
|
end
|
|
17
26
|
|
|
27
|
+
##
|
|
28
|
+
# Produces a random crypto coin acronym.
|
|
29
|
+
#
|
|
30
|
+
# @return [String]
|
|
31
|
+
#
|
|
32
|
+
# @example
|
|
33
|
+
# Faker::CryptoCoin.acronym #=> "BTC"
|
|
34
|
+
#
|
|
35
|
+
# @faker.version 1.9.2
|
|
18
36
|
def acronym(legacy_coin = NOT_GIVEN, coin: coin_array)
|
|
19
37
|
warn_for_deprecated_arguments do |keywords|
|
|
20
38
|
keywords << :coin if legacy_coin != NOT_GIVEN
|
|
@@ -23,6 +41,15 @@ module Faker
|
|
|
23
41
|
coin[ACRONYM]
|
|
24
42
|
end
|
|
25
43
|
|
|
44
|
+
##
|
|
45
|
+
# Produces a random crypto coin logo url.
|
|
46
|
+
#
|
|
47
|
+
# @return [String]
|
|
48
|
+
#
|
|
49
|
+
# @example
|
|
50
|
+
# Faker::CryptoCoin.url_logo #=> "https://i.imgur.com/EFz61Ei.png"
|
|
51
|
+
#
|
|
52
|
+
# @faker.version 1.9.2
|
|
26
53
|
def url_logo(legacy_coin = NOT_GIVEN, coin: coin_array)
|
|
27
54
|
warn_for_deprecated_arguments do |keywords|
|
|
28
55
|
keywords << :coin if legacy_coin != NOT_GIVEN
|
|
@@ -31,10 +58,28 @@ module Faker
|
|
|
31
58
|
coin[URL_LOGO]
|
|
32
59
|
end
|
|
33
60
|
|
|
61
|
+
##
|
|
62
|
+
# Produces a random crypto coin's name, acronym and logo in an array.
|
|
63
|
+
#
|
|
64
|
+
# @return [Array<String>]
|
|
65
|
+
#
|
|
66
|
+
# @example
|
|
67
|
+
# Faker::CryptoCoin.coin_array #=> ["Dash", "DASH", "https://i.imgur.com/2uX91cb.png"]
|
|
68
|
+
#
|
|
69
|
+
# @faker.version 1.9.2
|
|
34
70
|
def coin_array
|
|
35
71
|
fetch('crypto_coin.coin').split(',').map(&:strip)
|
|
36
72
|
end
|
|
37
73
|
|
|
74
|
+
##
|
|
75
|
+
# Produces a random crypto coin's name, acronym and logo in a hash.
|
|
76
|
+
#
|
|
77
|
+
# @return [Hash]
|
|
78
|
+
#
|
|
79
|
+
# @example
|
|
80
|
+
# Faker::CryptoCoin.coin_hash {:name=>"Ethereum", :acronym=>"ETH", :url_logo=>"https://i.imgur.com/uOPFCXj.png"}
|
|
81
|
+
#
|
|
82
|
+
# @faker.version 1.9.2
|
|
38
83
|
def coin_hash
|
|
39
84
|
coin = coin_array
|
|
40
85
|
|
data/lib/faker/default/date.rb
CHANGED
|
@@ -6,13 +6,15 @@ 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
20
|
def between(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from:, to:)
|
|
@@ -32,14 +34,16 @@ module Faker
|
|
|
32
34
|
##
|
|
33
35
|
# Produce a random date between two dates.
|
|
34
36
|
#
|
|
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.
|
|
37
|
+
# @param from [Date, String] The start of the usable date range.
|
|
38
|
+
# @param to [Date, String] The end of the usable date range.
|
|
39
|
+
# @param excepted [Date, String] A date to exclude.
|
|
38
40
|
# @return [Date]
|
|
39
41
|
#
|
|
40
|
-
# @example
|
|
41
|
-
# Faker::Date.between_except(from:
|
|
42
|
-
#
|
|
42
|
+
# @example if used with or without Rails (Active Support)
|
|
43
|
+
# Faker::Date.between_except(from: '2014-09-23', to: '2015-09-25', excepted: '2015-01-24') #=> #<Date: 2014-10-03>
|
|
44
|
+
#
|
|
45
|
+
# @example if used with Rails (Active Support)
|
|
46
|
+
# Faker::Date.between_except(from: 1.year.ago, to: 1.year.from_now, excepted: Date.today) #=> #<Date: 2014-10-03>
|
|
43
47
|
#
|
|
44
48
|
# @faker.version 1.6.2
|
|
45
49
|
def between_except(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, legacy_excepted = NOT_GIVEN, from:, to:, excepted:)
|
|
@@ -149,7 +153,7 @@ module Faker
|
|
|
149
153
|
# @example
|
|
150
154
|
# Faker::Date.in_date_period(month: 2) #=> #<Date: 2019-02-26>
|
|
151
155
|
#
|
|
152
|
-
# @faker.version
|
|
156
|
+
# @faker.version 2.13.0
|
|
153
157
|
def in_date_period(month: nil, year: ::Date.today.year)
|
|
154
158
|
from = ::Date.new(year, month || 1, 1)
|
|
155
159
|
to = ::Date.new(year, month || 12, ::Date.civil(year, month || 12, -1).day)
|
|
@@ -7,8 +7,25 @@ module Faker
|
|
|
7
7
|
|
|
8
8
|
class << self
|
|
9
9
|
# rubocop:disable Metrics/ParameterLists
|
|
10
|
+
|
|
11
|
+
##
|
|
12
|
+
# Produces a random British driving licence number.
|
|
13
|
+
#
|
|
14
|
+
# @param last_name [String] The last name of the driving licence's owner.
|
|
15
|
+
# @param initials [String] The initials of the driving licence's owner.
|
|
16
|
+
# @param gender [String] The gender of the driving licence's owner.
|
|
17
|
+
# @param date_of_birth [String] The date of birth of the driving licence's owner.
|
|
18
|
+
# @return [String]
|
|
19
|
+
#
|
|
20
|
+
# @example
|
|
21
|
+
# Faker::DrivingLicence.british_driving_licence #=> "MCDER712081VF7EK"
|
|
22
|
+
# Faker::DrivingLicence.british_driving_licence(last_name: "O'Carroll",
|
|
23
|
+
# initials: "J",
|
|
24
|
+
# gender: :female,
|
|
25
|
+
# date_of_birth: Date.parse("1986-10-24")) #=> "OCARR815246J91HT"
|
|
26
|
+
#
|
|
27
|
+
# @faker.version 1.9.2
|
|
10
28
|
def british_driving_licence(legacy_last_name = NOT_GIVEN, legacy_initials = NOT_GIVEN, legacy_gender = NOT_GIVEN, legacy_date_of_birth = NOT_GIVEN, 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))
|
|
11
|
-
# rubocop:enable Metrics/ParameterLists
|
|
12
29
|
warn_for_deprecated_arguments do |keywords|
|
|
13
30
|
keywords << :last_name if legacy_last_name != NOT_GIVEN
|
|
14
31
|
keywords << :initials if legacy_initials != NOT_GIVEN
|
|
@@ -23,11 +40,37 @@ module Faker
|
|
|
23
40
|
gb_licence_checksum
|
|
24
41
|
].join
|
|
25
42
|
end
|
|
43
|
+
# rubocop:enable Metrics/ParameterLists
|
|
26
44
|
|
|
45
|
+
##
|
|
46
|
+
# Produces a random Northern Irish licence number.
|
|
47
|
+
#
|
|
48
|
+
# @return [String]
|
|
49
|
+
#
|
|
50
|
+
# @example
|
|
51
|
+
# Faker::DrivingLicence.northern_irish_driving_licence #=> "70702548"
|
|
52
|
+
#
|
|
53
|
+
# @faker.version 1.9.2
|
|
27
54
|
def northern_irish_driving_licence
|
|
28
55
|
Faker::Number.number(digits: 8).to_s
|
|
29
56
|
end
|
|
30
57
|
|
|
58
|
+
##
|
|
59
|
+
# Produces a random UK driving licence number in either GB or NI format, at a rate consistent with their relative populations
|
|
60
|
+
#
|
|
61
|
+
# @overload uk_driving_licence(last_name, initials, gender, date_of_birth)
|
|
62
|
+
# @param last_name [String] The last name of the driving licence's owner.
|
|
63
|
+
# @param initials [String] The initials of the driving licence's owner.
|
|
64
|
+
# @param gender [String] The gender of the driving licence's owner.
|
|
65
|
+
# @param date_of_birth [String] The date of birth of the driving licence's owner.
|
|
66
|
+
# @overload uk_driving_licence()
|
|
67
|
+
# @return [String]
|
|
68
|
+
#
|
|
69
|
+
# @example
|
|
70
|
+
# Faker::DrivingLicence.uk_driving_licence #=> "OCARR815246J91HT"
|
|
71
|
+
# Faker::DrivingLicence.uk_driving_licence #=> "70702548"
|
|
72
|
+
#
|
|
73
|
+
# @faker.version 1.9.2
|
|
31
74
|
def uk_driving_licence(*args)
|
|
32
75
|
if Faker::Config.random.rand < NI_CHANCE
|
|
33
76
|
northern_irish_driving_licence
|
|
@@ -36,6 +79,23 @@ module Faker
|
|
|
36
79
|
end
|
|
37
80
|
end
|
|
38
81
|
|
|
82
|
+
##
|
|
83
|
+
# Produces a random USA driving licence number by state code passed.
|
|
84
|
+
#
|
|
85
|
+
# @return [String]
|
|
86
|
+
#
|
|
87
|
+
# @example
|
|
88
|
+
# Faker::DrivingLicence.usa_driving_licence #=> "V5598249"
|
|
89
|
+
# Faker::DrivingLicence.usa_driving_licence('new mexico') #=> "270692028"
|
|
90
|
+
# Faker::DrivingLicence.usa_driving_licence('New Mexico') #=> "68178637"
|
|
91
|
+
#
|
|
92
|
+
# @faker.version 2.14.0
|
|
93
|
+
def usa_driving_licence(state = 'California')
|
|
94
|
+
bothify(fetch("driving_licence.usa.#{state.to_s.strip.downcase.gsub(' ', '_')}"))
|
|
95
|
+
rescue I18n::MissingTranslationData => _e
|
|
96
|
+
raise InvalidStatePassed, "Invalid state code passed for USA, '#{state}'"
|
|
97
|
+
end
|
|
98
|
+
|
|
39
99
|
private
|
|
40
100
|
|
|
41
101
|
def random_gender
|
|
@@ -62,4 +122,10 @@ module Faker
|
|
|
62
122
|
end
|
|
63
123
|
end
|
|
64
124
|
end
|
|
125
|
+
|
|
126
|
+
class InvalidStatePassed < StandardError
|
|
127
|
+
def initialize(msg = 'Invalid state code passed')
|
|
128
|
+
super
|
|
129
|
+
end
|
|
130
|
+
end
|
|
65
131
|
end
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Faker
|
|
4
|
+
class Drone < Base
|
|
5
|
+
class << self
|
|
6
|
+
##
|
|
7
|
+
# Returns random drone name with company
|
|
8
|
+
#
|
|
9
|
+
# @return [string]
|
|
10
|
+
#
|
|
11
|
+
# @example
|
|
12
|
+
# Faker::Drone.name #=> "DJI Mavic Air 2"
|
|
13
|
+
#
|
|
14
|
+
# @faker.version 2.14.0
|
|
15
|
+
def name
|
|
16
|
+
fetch('drone.name')
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
##
|
|
20
|
+
# Returns total drone weight in grams
|
|
21
|
+
#
|
|
22
|
+
# @return [String]
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
# Faker::Drone.weight #=> "570 g"
|
|
26
|
+
#
|
|
27
|
+
# @faker.version 2.14.0
|
|
28
|
+
def weight
|
|
29
|
+
parse('drone.weight')
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
##
|
|
33
|
+
# Returns maximum ascent speed for drone in m/s
|
|
34
|
+
#
|
|
35
|
+
# @return [String]
|
|
36
|
+
#
|
|
37
|
+
# @example
|
|
38
|
+
# Faker::Drone.max_ascent_speed #=> "4 m/s"
|
|
39
|
+
#
|
|
40
|
+
# @faker.version 2.14.0
|
|
41
|
+
def max_ascent_speed
|
|
42
|
+
parse('drone.max_ascent_speed')
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
##
|
|
46
|
+
# Returns maximum descent speed for drone in m/s
|
|
47
|
+
#
|
|
48
|
+
# @return [String]
|
|
49
|
+
#
|
|
50
|
+
# @example
|
|
51
|
+
# Faker::Drone.max_descent_speed #=> "4 m/s"
|
|
52
|
+
#
|
|
53
|
+
# @faker.version 2.14.0
|
|
54
|
+
def max_descent_speed
|
|
55
|
+
parse('drone.max_descent_speed')
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
##
|
|
59
|
+
# Returns max flight time for drone in optimal conditions
|
|
60
|
+
#
|
|
61
|
+
# @return [String]
|
|
62
|
+
#
|
|
63
|
+
# @example
|
|
64
|
+
# Faker::Drone.flight_time #=> "34 min"
|
|
65
|
+
#
|
|
66
|
+
# @faker.version 2.14.0
|
|
67
|
+
def flight_time
|
|
68
|
+
parse('drone.flight_time')
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
##
|
|
72
|
+
# Returns max altitude drone can go above sea level in meters
|
|
73
|
+
#
|
|
74
|
+
# @return [String]
|
|
75
|
+
#
|
|
76
|
+
# @example
|
|
77
|
+
# Faker::Drone.max_altitude #=> "5000 m"
|
|
78
|
+
#
|
|
79
|
+
# @faker.version 2.14.0
|
|
80
|
+
def max_altitude
|
|
81
|
+
parse('drone.max_altitude')
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
##
|
|
85
|
+
# Returns how far drone can go in optimal condition when full charged in meters
|
|
86
|
+
#
|
|
87
|
+
# @return [String]
|
|
88
|
+
#
|
|
89
|
+
# @example
|
|
90
|
+
# Faker::Drone.max_flight_distance #=> "18500 m"
|
|
91
|
+
#
|
|
92
|
+
# @faker.version 2.14.0
|
|
93
|
+
def max_flight_distance
|
|
94
|
+
parse('drone.max_flight_distance')
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
##
|
|
98
|
+
# Returns max horizontal speed by drone in m/s
|
|
99
|
+
#
|
|
100
|
+
# @return [String]
|
|
101
|
+
#
|
|
102
|
+
# @example
|
|
103
|
+
# Faker::Drone.max_speed #=> "19 m/s"
|
|
104
|
+
#
|
|
105
|
+
# @faker.version 2.14.0
|
|
106
|
+
def max_speed
|
|
107
|
+
parse('drone.max_speed')
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
##
|
|
111
|
+
# Returns max wind resistance by drone in m/s
|
|
112
|
+
#
|
|
113
|
+
# @return [String]
|
|
114
|
+
#
|
|
115
|
+
# @example
|
|
116
|
+
# Faker::Drone.max_wind_resistance #=> "10.5 m/s"
|
|
117
|
+
#
|
|
118
|
+
# @faker.version 2.14.0
|
|
119
|
+
def max_wind_resistance
|
|
120
|
+
parse('drone.max_wind_resistance')
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
##
|
|
124
|
+
# Returns max angular velocity of drone in degrees/s
|
|
125
|
+
#
|
|
126
|
+
# @return [String]
|
|
127
|
+
#
|
|
128
|
+
# @example
|
|
129
|
+
# Faker::Drone.max_angular_velocity #=> "250 degree/s"
|
|
130
|
+
#
|
|
131
|
+
# @faker.version 2.14.0
|
|
132
|
+
def max_angular_velocity
|
|
133
|
+
parse('drone.max_angular_velocity')
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
##
|
|
137
|
+
# Returns max tilt angle drone can go in degrees
|
|
138
|
+
#
|
|
139
|
+
# @return [String]
|
|
140
|
+
#
|
|
141
|
+
# @example
|
|
142
|
+
# Faker::Drone.max_tilt_angle #=> "35 degrees"
|
|
143
|
+
#
|
|
144
|
+
# @faker.version 2.14.0
|
|
145
|
+
def max_tilt_angle
|
|
146
|
+
parse('drone.max_tilt_angle')
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
##
|
|
150
|
+
# Returns operating temprature for drone in Fahrenheit
|
|
151
|
+
#
|
|
152
|
+
# @return [String]
|
|
153
|
+
#
|
|
154
|
+
# @example
|
|
155
|
+
# Faker::Drone.operating_temperature #=> "14-104F"
|
|
156
|
+
#
|
|
157
|
+
# @faker.version 2.14.0
|
|
158
|
+
def operating_temperature
|
|
159
|
+
parse('drone.operating_temperature')
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
##
|
|
163
|
+
# Returns the drone battery capacity
|
|
164
|
+
#
|
|
165
|
+
# @return [String]
|
|
166
|
+
#
|
|
167
|
+
# @example
|
|
168
|
+
# Faker::Drone.battery_capacity #=> "3500 mAh"
|
|
169
|
+
#
|
|
170
|
+
# @faker.version 2.14.0
|
|
171
|
+
def battery_capacity
|
|
172
|
+
parse('drone.battery_capacity')
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
##
|
|
176
|
+
# Returns battery voltage
|
|
177
|
+
#
|
|
178
|
+
# @return [String]
|
|
179
|
+
#
|
|
180
|
+
# @example
|
|
181
|
+
# Faker::Drone.battery_voltage #=> "13.2V"
|
|
182
|
+
#
|
|
183
|
+
# @faker.version 2.14.0
|
|
184
|
+
def battery_voltage
|
|
185
|
+
parse('drone.battery_voltage')
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
##
|
|
189
|
+
# Returns the battery type
|
|
190
|
+
#
|
|
191
|
+
# @return [String]
|
|
192
|
+
#
|
|
193
|
+
# @example
|
|
194
|
+
# Faker::Drone.battery_type #=> "LiPo 4S"
|
|
195
|
+
#
|
|
196
|
+
# @faker.version 2.14.0
|
|
197
|
+
def battery_type
|
|
198
|
+
parse('drone.battery_type')
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
##
|
|
202
|
+
# Returns total battery weight in grams
|
|
203
|
+
#
|
|
204
|
+
# @return [String]
|
|
205
|
+
#
|
|
206
|
+
# @example
|
|
207
|
+
# Faker::Drone.battery_weight #=> "198 g"
|
|
208
|
+
#
|
|
209
|
+
# @faker.version 2.14.0
|
|
210
|
+
def battery_weight
|
|
211
|
+
parse('drone.battery_weight')
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
##
|
|
215
|
+
# Returns charging temperature for battery in Fahrenheit
|
|
216
|
+
#
|
|
217
|
+
# @return [String]
|
|
218
|
+
#
|
|
219
|
+
# @example
|
|
220
|
+
# Faker::Drone.charging_temperature #=> "41-104F"
|
|
221
|
+
#
|
|
222
|
+
# @faker.version 2.14.0
|
|
223
|
+
def charging_temperature
|
|
224
|
+
parse('drone.charging_temperature')
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
##
|
|
228
|
+
# Returns max chargin power required for battery
|
|
229
|
+
#
|
|
230
|
+
# @return [String]
|
|
231
|
+
#
|
|
232
|
+
# @example
|
|
233
|
+
# Faker::Drone.max_charging_power #=> "38W"
|
|
234
|
+
#
|
|
235
|
+
# @faker.version 2.14.0
|
|
236
|
+
def max_charging_power
|
|
237
|
+
parse('drone.max_charging_power')
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
##
|
|
241
|
+
# Returns camera ISO range for drone
|
|
242
|
+
#
|
|
243
|
+
# @return [String]
|
|
244
|
+
#
|
|
245
|
+
# @example
|
|
246
|
+
# Faker::Drone.iso #=> "100-3200"
|
|
247
|
+
#
|
|
248
|
+
# @faker.version 2.14.0
|
|
249
|
+
def iso
|
|
250
|
+
parse('drone.iso')
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
##
|
|
254
|
+
# Returns max camera resolution in MP"
|
|
255
|
+
#
|
|
256
|
+
# @return [String]
|
|
257
|
+
#
|
|
258
|
+
# @example
|
|
259
|
+
# Faker::Drone.max_resolution #=> "48MP"
|
|
260
|
+
#
|
|
261
|
+
# @faker.version 2.14.0
|
|
262
|
+
def max_resolution
|
|
263
|
+
parse('drone.max_resolution')
|
|
264
|
+
end
|
|
265
|
+
|
|
266
|
+
##
|
|
267
|
+
# Returns photo format for drone
|
|
268
|
+
#
|
|
269
|
+
# @return [String]
|
|
270
|
+
#
|
|
271
|
+
# @example
|
|
272
|
+
# Faker::Drone.photo_format #=> "JPEG"
|
|
273
|
+
#
|
|
274
|
+
# @faker.version 2.14.0
|
|
275
|
+
def photo_format
|
|
276
|
+
parse('drone.photo_format')
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
##
|
|
280
|
+
# Returns video format
|
|
281
|
+
#
|
|
282
|
+
# @return [String]
|
|
283
|
+
#
|
|
284
|
+
# @example
|
|
285
|
+
# Faker::Drone.video_format #=> "MP4"
|
|
286
|
+
#
|
|
287
|
+
# @faker.version 2.14.0
|
|
288
|
+
def video_format
|
|
289
|
+
parse('drone.video_format')
|
|
290
|
+
end
|
|
291
|
+
|
|
292
|
+
##
|
|
293
|
+
# Returns max and min shutter speed for camera
|
|
294
|
+
#
|
|
295
|
+
# @return [String]
|
|
296
|
+
#
|
|
297
|
+
# @example
|
|
298
|
+
# Faker::Drone.shutter_speed_range #=> "8-1/8000s"
|
|
299
|
+
#
|
|
300
|
+
# @faker.version 2.14.0
|
|
301
|
+
def shutter_speed_range
|
|
302
|
+
"#{fetch('drone.max_shutter_speed')}-#{fetch('drone.min_shutter_speed')}#{fetch('drone.shutter_speed_units')}"
|
|
303
|
+
end
|
|
304
|
+
|
|
305
|
+
##
|
|
306
|
+
# Returns max shutter speed for camera
|
|
307
|
+
#
|
|
308
|
+
# @return [String]
|
|
309
|
+
#
|
|
310
|
+
# @example
|
|
311
|
+
# Faker::Drone.max_shutter_speed #=> "60s"
|
|
312
|
+
#
|
|
313
|
+
# @faker.version 2.14.0
|
|
314
|
+
def max_shutter_speed
|
|
315
|
+
"#{fetch('drone.max_shutter_speed')}#{fetch('drone.shutter_speed_units')}"
|
|
316
|
+
end
|
|
317
|
+
|
|
318
|
+
##
|
|
319
|
+
# Returns min shutter speed for camera
|
|
320
|
+
#
|
|
321
|
+
# @return [String]
|
|
322
|
+
#
|
|
323
|
+
# @example
|
|
324
|
+
# Faker::Drone.min_shutter_speed #=> "1/8000s"
|
|
325
|
+
#
|
|
326
|
+
# @faker.version 2.14.0
|
|
327
|
+
def min_shutter_speed
|
|
328
|
+
"#{fetch('drone.min_shutter_speed')}#{fetch('drone.shutter_speed_units')}"
|
|
329
|
+
end
|
|
330
|
+
end
|
|
331
|
+
end
|
|
332
|
+
end
|