faker 2.2.0 → 2.5.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 +131 -15
- data/README.md +2 -2
- data/lib/faker.rb +34 -0
- data/lib/faker/blockchain/aeternity.rb +70 -0
- data/lib/faker/blockchain/bitcoin.rb +26 -0
- data/lib/faker/blockchain/ethereum.rb +10 -0
- data/lib/faker/blockchain/tezos.rb +62 -6
- data/lib/faker/books/book.rb +36 -0
- data/lib/faker/books/culture_series.rb +49 -0
- data/lib/faker/books/dune.rb +60 -9
- data/lib/faker/books/lovecraft.rb +189 -33
- data/lib/faker/creature/animal.rb +9 -0
- data/lib/faker/creature/cat.rb +27 -0
- data/lib/faker/creature/dog.rb +72 -0
- data/lib/faker/creature/horse.rb +18 -0
- data/lib/faker/default/address.rb +10 -15
- data/lib/faker/default/alphanumeric.rb +29 -18
- data/lib/faker/default/app.rb +50 -11
- data/lib/faker/default/appliance.rb +18 -0
- data/lib/faker/default/artist.rb +9 -0
- data/lib/faker/default/avatar.rb +38 -19
- data/lib/faker/default/bank.rb +4 -6
- data/lib/faker/default/boolean.rb +14 -4
- data/lib/faker/default/chile_rut.rb +6 -14
- data/lib/faker/default/chuck_norris.rb +1 -1
- data/lib/faker/default/code.rb +7 -13
- data/lib/faker/default/commerce.rb +8 -17
- data/lib/faker/default/company.rb +4 -6
- data/lib/faker/default/crypto_coin.rb +6 -9
- data/lib/faker/default/date.rb +76 -30
- data/lib/faker/default/demographic.rb +2 -3
- data/lib/faker/default/dessert.rb +27 -0
- data/lib/faker/default/device.rb +54 -0
- data/lib/faker/default/driving_licence.rb +5 -15
- data/lib/faker/default/electrical_components.rb +27 -0
- data/lib/faker/default/file.rb +9 -26
- data/lib/faker/default/fillmurray.rb +4 -11
- data/lib/faker/default/finance.rb +2 -3
- data/lib/faker/default/gender.rb +18 -0
- data/lib/faker/default/greek_philosophers.rb +18 -0
- data/lib/faker/default/hacker.rb +59 -1
- data/lib/faker/default/hipster.rb +21 -54
- data/lib/faker/default/house.rb +18 -0
- data/lib/faker/default/id_number.rb +5 -7
- data/lib/faker/default/industry_segments.rb +36 -0
- data/lib/faker/default/internet.rb +49 -76
- data/lib/faker/default/invoice.rb +7 -13
- data/lib/faker/default/json.rb +9 -16
- data/lib/faker/default/lorem.rb +38 -77
- data/lib/faker/default/lorem_flickr.rb +17 -48
- data/lib/faker/default/lorem_pixel.rb +7 -23
- data/lib/faker/default/markdown.rb +3 -7
- data/lib/faker/default/marketing.rb +9 -0
- data/lib/faker/default/measurement.rb +16 -24
- data/lib/faker/default/military.rb +45 -0
- data/lib/faker/default/name.rb +2 -3
- data/lib/faker/default/nation.rb +48 -5
- data/lib/faker/default/nato_phonetic_alphabet.rb +9 -0
- data/lib/faker/default/nhs.rb +2 -3
- data/lib/faker/default/number.rb +150 -51
- data/lib/faker/default/omniauth.rb +67 -63
- data/lib/faker/default/phone_number.rb +2 -3
- data/lib/faker/default/placeholdit.rb +6 -19
- data/lib/faker/default/programming_language.rb +18 -0
- data/lib/faker/default/relationship.rb +2 -3
- data/lib/faker/default/restaurant.rb +54 -2
- data/lib/faker/default/science.rb +27 -0
- data/lib/faker/default/source.rb +51 -14
- data/lib/faker/default/string.rb +2 -3
- data/lib/faker/default/stripe.rb +8 -12
- data/lib/faker/default/subscription.rb +45 -0
- data/lib/faker/default/superhero.rb +45 -0
- data/lib/faker/default/time.rb +102 -56
- data/lib/faker/default/twitter.rb +23 -32
- data/lib/faker/default/types.rb +12 -23
- data/lib/faker/default/vehicle.rb +8 -14
- data/lib/faker/default/world_cup.rb +5 -10
- data/lib/faker/games/dota.rb +49 -3
- data/lib/faker/games/elder_scrolls.rb +72 -0
- data/lib/faker/games/fallout.rb +37 -0
- data/lib/faker/games/game.rb +27 -0
- data/lib/faker/games/half_life.rb +27 -0
- data/lib/faker/games/heroes.rb +27 -0
- data/lib/faker/games/heroes_of_the_storm.rb +36 -0
- data/lib/faker/games/league_of_legends.rb +54 -0
- data/lib/faker/games/myst.rb +45 -0
- data/lib/faker/games/overwatch.rb +27 -0
- data/lib/faker/games/pokemon.rb +27 -0
- data/lib/faker/games/sonic_the_hedgehog.rb +27 -0
- data/lib/faker/games/super_smash_bros.rb +18 -0
- data/lib/faker/games/witcher.rb +54 -0
- data/lib/faker/games/world_of_warcraft.rb +18 -0
- data/lib/faker/games/zelda.rb +37 -1
- data/lib/faker/japanese_media/dragon_ball.rb +9 -0
- data/lib/faker/japanese_media/one_piece.rb +54 -0
- data/lib/faker/japanese_media/sword_art_online.rb +36 -0
- data/lib/faker/movies/back_to_the_future.rb +28 -0
- data/lib/faker/movies/ghostbusters.rb +28 -0
- data/lib/faker/movies/harry_potter.rb +54 -0
- data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +69 -0
- data/lib/faker/movies/hobbit.rb +37 -0
- data/lib/faker/movies/lebowski.rb +27 -0
- data/lib/faker/movies/lord_of_the_rings.rb +28 -0
- data/lib/faker/movies/movie.rb +9 -0
- data/lib/faker/movies/princess_bride.rb +19 -0
- data/lib/faker/movies/star_wars.rb +97 -6
- data/lib/faker/movies/v_for_vendetta.rb +29 -0
- data/lib/faker/music/grateful_dead.rb +18 -0
- data/lib/faker/music/phish.rb +9 -0
- data/lib/faker/music/rock_band.rb +9 -0
- data/lib/faker/music/umphreys_mcgee.rb +9 -0
- data/lib/faker/sports/basketball.rb +36 -0
- data/lib/faker/sports/football.rb +45 -0
- data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +9 -0
- data/lib/faker/tv_shows/bojack_horseman.rb +28 -0
- data/lib/faker/tv_shows/breaking_bad.rb +18 -0
- data/lib/faker/tv_shows/buffy.rb +45 -0
- data/lib/faker/tv_shows/community.rb +19 -0
- data/lib/faker/tv_shows/dr_who.rb +78 -2
- data/lib/faker/tv_shows/dumb_and_dumber.rb +28 -0
- data/lib/faker/tv_shows/family_guy.rb +28 -0
- data/lib/faker/tv_shows/friends.rb +27 -0
- data/lib/faker/tv_shows/game_of_thrones.rb +46 -0
- data/lib/faker/tv_shows/hey_arnold.rb +27 -0
- data/lib/faker/tv_shows/how_i_met_your_mother.rb +37 -0
- data/lib/faker/tv_shows/michael_scott.rb +13 -0
- data/lib/faker/tv_shows/new_girl.rb +19 -0
- data/lib/faker/tv_shows/parks_and_rec.rb +18 -0
- data/lib/faker/tv_shows/rick_and_morty.rb +28 -0
- data/lib/faker/tv_shows/ru_paul.rb +18 -0
- data/lib/faker/tv_shows/seinfeld.rb +28 -0
- data/lib/faker/tv_shows/silicon_valley.rb +75 -0
- data/lib/faker/tv_shows/simpsons.rb +28 -0
- data/lib/faker/tv_shows/south_park.rb +19 -0
- data/lib/faker/tv_shows/star_trek.rb +36 -0
- data/lib/faker/tv_shows/stargate.rb +28 -0
- data/lib/faker/tv_shows/stranger_things.rb +19 -0
- data/lib/faker/tv_shows/the_expanse.rb +36 -0
- data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +28 -0
- data/lib/faker/tv_shows/the_it_crowd.rb +37 -0
- data/lib/faker/tv_shows/the_thick_of_it.rb +28 -0
- data/lib/faker/tv_shows/twin_peaks.rb +28 -0
- data/lib/faker/tv_shows/venture_bros.rb +38 -0
- data/lib/faker/version.rb +1 -1
- data/lib/locales/en-CA.yml +1 -1
- data/lib/locales/en-TH.yml +360 -0
- data/lib/locales/en/color.yml +1 -1
- data/lib/locales/en/dr_who.yml +1 -1
- data/lib/locales/en/science.yml +1 -1
- data/lib/locales/ja.yml +8 -9
- data/lib/locales/th.yml +380 -0
- metadata +33 -14
|
@@ -8,17 +8,10 @@ module Faker
|
|
|
8
8
|
# rubocop:disable Metrics/ParameterLists
|
|
9
9
|
def image(legacy_size = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', search_terms: [], match_all: false)
|
|
10
10
|
# rubocop:enable Metrics/ParameterLists
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
if legacy_search_terms != NOT_GIVEN
|
|
16
|
-
warn_with_uplevel 'Passing `search_terms` with the 2nd argument of `LoremFlickr.image` is deprecated. Use keyword argument like `LoremFlickr.image(search_terms: ...)` instead.', uplevel: 1
|
|
17
|
-
search_terms = legacy_search_terms
|
|
18
|
-
end
|
|
19
|
-
if legacy_match_all != NOT_GIVEN
|
|
20
|
-
warn_with_uplevel 'Passing `match_all` with the 3rd argument of `LoremFlickr.image` is deprecated. Use keyword argument like `LoremFlickr.image(match_all: ...)` instead.', uplevel: 1
|
|
21
|
-
match_all = legacy_match_all
|
|
11
|
+
warn_for_deprecated_arguments do |keywords|
|
|
12
|
+
keywords << :size if legacy_size != NOT_GIVEN
|
|
13
|
+
keywords << :search_terms if legacy_search_terms != NOT_GIVEN
|
|
14
|
+
keywords << :match_all if legacy_match_all != NOT_GIVEN
|
|
22
15
|
end
|
|
23
16
|
|
|
24
17
|
build_url(size, nil, search_terms, match_all)
|
|
@@ -27,17 +20,10 @@ module Faker
|
|
|
27
20
|
# rubocop:disable Metrics/ParameterLists
|
|
28
21
|
def grayscale_image(legacy_size = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', search_terms: ['all'], match_all: false)
|
|
29
22
|
# rubocop:enable Metrics/ParameterLists
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if legacy_search_terms != NOT_GIVEN
|
|
35
|
-
warn_with_uplevel 'Passing `search_terms` with the 2nd argument of `LoremFlickr.grayscale_image` is deprecated. Use keyword argument like `LoremFlickr.grayscale_image(search_terms: ...)` instead.', uplevel: 1
|
|
36
|
-
search_terms = legacy_search_terms
|
|
37
|
-
end
|
|
38
|
-
if legacy_match_all != NOT_GIVEN
|
|
39
|
-
warn_with_uplevel 'Passing `match_all` with the 3rd argument of `LoremFlickr.grayscale_image` is deprecated. Use keyword argument like `LoremFlickr.grayscale_image(match_all: ...)` instead.', uplevel: 1
|
|
40
|
-
match_all = legacy_match_all
|
|
23
|
+
warn_for_deprecated_arguments do |keywords|
|
|
24
|
+
keywords << :size if legacy_size != NOT_GIVEN
|
|
25
|
+
keywords << :search_terms if legacy_search_terms != NOT_GIVEN
|
|
26
|
+
keywords << :match_all if legacy_match_all != NOT_GIVEN
|
|
41
27
|
end
|
|
42
28
|
|
|
43
29
|
raise ArgumentError, 'Search terms must be specified for grayscale images' unless search_terms.any?
|
|
@@ -48,17 +34,10 @@ module Faker
|
|
|
48
34
|
# rubocop:disable Metrics/ParameterLists
|
|
49
35
|
def pixelated_image(legacy_size = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', search_terms: ['all'], match_all: false)
|
|
50
36
|
# rubocop:enable Metrics/ParameterLists
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
if legacy_search_terms != NOT_GIVEN
|
|
56
|
-
warn_with_uplevel 'Passing `search_terms` with the 2nd argument of `LoremFlickr.pixelated_image` is deprecated. Use keyword argument like `LoremFlickr.pixelated_image(search_terms: ...)` instead.', uplevel: 1
|
|
57
|
-
search_terms = legacy_search_terms
|
|
58
|
-
end
|
|
59
|
-
if legacy_match_all != NOT_GIVEN
|
|
60
|
-
warn_with_uplevel 'Passing `match_all` with the 3rd argument of `LoremFlickr.pixelated_image` is deprecated. Use keyword argument like `LoremFlickr.pixelated_image(match_all: ...)` instead.', uplevel: 1
|
|
61
|
-
match_all = legacy_match_all
|
|
37
|
+
warn_for_deprecated_arguments do |keywords|
|
|
38
|
+
keywords << :size if legacy_size != NOT_GIVEN
|
|
39
|
+
keywords << :search_terms if legacy_search_terms != NOT_GIVEN
|
|
40
|
+
keywords << :match_all if legacy_match_all != NOT_GIVEN
|
|
62
41
|
end
|
|
63
42
|
|
|
64
43
|
raise ArgumentError, 'Search terms must be specified for pixelated images' unless search_terms.any?
|
|
@@ -69,21 +48,11 @@ module Faker
|
|
|
69
48
|
# rubocop:disable Metrics/ParameterLists
|
|
70
49
|
def colorized_image(legacy_size = NOT_GIVEN, legacy_color = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', color: 'red', search_terms: ['all'], match_all: false)
|
|
71
50
|
# rubocop:enable Metrics/ParameterLists
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
warn_with_uplevel 'Passing `color` with the 2nd argument of `LoremFlickr.colorized_image` is deprecated. Use keyword argument like `LoremFlickr.colorized_image(color: ...)` instead.', uplevel: 1
|
|
78
|
-
color = legacy_color
|
|
79
|
-
end
|
|
80
|
-
if legacy_search_terms != NOT_GIVEN
|
|
81
|
-
warn_with_uplevel 'Passing `search_terms` with the 3rd argument of `LoremFlickr.colorized_image` is deprecated. Use keyword argument like `LoremFlickr.colorized_image(search_terms: ...)` instead.', uplevel: 1
|
|
82
|
-
search_terms = legacy_search_terms
|
|
83
|
-
end
|
|
84
|
-
if legacy_match_all != NOT_GIVEN
|
|
85
|
-
warn_with_uplevel 'Passing `match_all` with the 4th argument of `LoremFlickr.colorized_image` is deprecated. Use keyword argument like `LoremFlickr.colorized_image(match_all: ...)` instead.', uplevel: 1
|
|
86
|
-
match_all = legacy_match_all
|
|
51
|
+
warn_for_deprecated_arguments do |keywords|
|
|
52
|
+
keywords << :size if legacy_size != NOT_GIVEN
|
|
53
|
+
keywords << :color if legacy_color != NOT_GIVEN
|
|
54
|
+
keywords << :search_terms if legacy_search_terms != NOT_GIVEN
|
|
55
|
+
keywords << :match_all if legacy_match_all != NOT_GIVEN
|
|
87
56
|
end
|
|
88
57
|
|
|
89
58
|
raise ArgumentError, 'Search terms must be specified for colorized images' unless search_terms.any?
|
|
@@ -19,29 +19,13 @@ module Faker
|
|
|
19
19
|
|
|
20
20
|
# rubocop:disable Metrics/ParameterLists
|
|
21
21
|
def image(legacy_size = NOT_GIVEN, legacy_is_gray = NOT_GIVEN, legacy_category = NOT_GIVEN, legacy_number = NOT_GIVEN, legacy_text = NOT_GIVEN, legacy_secure = NOT_GIVEN, size: '300x300', is_gray: false, category: nil, number: nil, text: nil, secure: true)
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
end
|
|
30
|
-
if legacy_category != NOT_GIVEN
|
|
31
|
-
warn_with_uplevel 'Passing `category` with the 3rd argument of `LoremPixel.image` is deprecated. Use keyword argument like `LoremPixel.image(category: ...)` instead.', uplevel: 1
|
|
32
|
-
category = legacy_category
|
|
33
|
-
end
|
|
34
|
-
if legacy_number != NOT_GIVEN
|
|
35
|
-
warn_with_uplevel 'Passing `number` with the 4th argument of `LoremPixel.image` is deprecated. Use keyword argument like `LoremPixel.image(number: ...)` instead.', uplevel: 1
|
|
36
|
-
number = legacy_number
|
|
37
|
-
end
|
|
38
|
-
if legacy_text != NOT_GIVEN
|
|
39
|
-
warn_with_uplevel 'Passing `text` with the 5th argument of `LoremPixel.image` is deprecated. Use keyword argument like `LoremPixel.image(text: ...)` instead.', uplevel: 1
|
|
40
|
-
text = legacy_text
|
|
41
|
-
end
|
|
42
|
-
if legacy_secure != NOT_GIVEN
|
|
43
|
-
warn_with_uplevel 'Passing `secure` with the 6th argument of `LoremPixel.image` is deprecated. Use keyword argument like `LoremPixel.image(secure: ...)` instead.', uplevel: 1
|
|
44
|
-
secure = legacy_secure
|
|
22
|
+
warn_for_deprecated_arguments do |keywords|
|
|
23
|
+
keywords << :size if legacy_size != NOT_GIVEN
|
|
24
|
+
keywords << :is_gray if legacy_is_gray != NOT_GIVEN
|
|
25
|
+
keywords << :category if legacy_category != NOT_GIVEN
|
|
26
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
|
27
|
+
keywords << :text if legacy_text != NOT_GIVEN
|
|
28
|
+
keywords << :secure if legacy_secure != NOT_GIVEN
|
|
45
29
|
end
|
|
46
30
|
|
|
47
31
|
raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /^[0-9]+x[0-9]+$/
|
|
@@ -60,13 +60,9 @@ module Faker
|
|
|
60
60
|
end
|
|
61
61
|
|
|
62
62
|
def sandwich(legacy_sentences = NOT_GIVEN, legacy_repeat = NOT_GIVEN, sentences: 3, repeat: 1)
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
end
|
|
67
|
-
if legacy_repeat != NOT_GIVEN
|
|
68
|
-
warn_with_uplevel 'Passing `repeat` with the 2nd argument of `Markdown.sandwich` is deprecated. Use keyword argument like `Markdown.sandwich(repeat: ...)` instead.', uplevel: 1
|
|
69
|
-
repeat = legacy_repeat
|
|
63
|
+
warn_for_deprecated_arguments do |keywords|
|
|
64
|
+
keywords << :sentences if legacy_sentences != NOT_GIVEN
|
|
65
|
+
keywords << :repeat if legacy_repeat != NOT_GIVEN
|
|
70
66
|
end
|
|
71
67
|
|
|
72
68
|
text_block = []
|
|
@@ -5,6 +5,15 @@ module Faker
|
|
|
5
5
|
flexible :marketing
|
|
6
6
|
|
|
7
7
|
class << self
|
|
8
|
+
##
|
|
9
|
+
# Produces the name of a video game console or platform.
|
|
10
|
+
#
|
|
11
|
+
# @return [String]
|
|
12
|
+
#
|
|
13
|
+
# @example
|
|
14
|
+
# Faker::Marketing.buzzwords #=> "rubber meets the road"
|
|
15
|
+
#
|
|
16
|
+
# @faker.version 1.9.4
|
|
8
17
|
def buzzwords
|
|
9
18
|
fetch('marketing.buzzwords')
|
|
10
19
|
end
|
|
@@ -7,72 +7,64 @@ module Faker
|
|
|
7
7
|
NONE = 'none'
|
|
8
8
|
|
|
9
9
|
def height(legacy_amount = NOT_GIVEN, amount: rand(10))
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
amount = legacy_amount
|
|
10
|
+
warn_for_deprecated_arguments do |keywords|
|
|
11
|
+
keywords << :amount if legacy_amount != NOT_GIVEN
|
|
13
12
|
end
|
|
14
13
|
|
|
15
14
|
define_measurement_locale(amount, 'height')
|
|
16
15
|
end
|
|
17
16
|
|
|
18
17
|
def length(legacy_amount = NOT_GIVEN, amount: rand(10))
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
amount = legacy_amount
|
|
18
|
+
warn_for_deprecated_arguments do |keywords|
|
|
19
|
+
keywords << :amount if legacy_amount != NOT_GIVEN
|
|
22
20
|
end
|
|
23
21
|
|
|
24
22
|
define_measurement_locale(amount, 'length')
|
|
25
23
|
end
|
|
26
24
|
|
|
27
25
|
def volume(legacy_amount = NOT_GIVEN, amount: rand(10))
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
amount = legacy_amount
|
|
26
|
+
warn_for_deprecated_arguments do |keywords|
|
|
27
|
+
keywords << :amount if legacy_amount != NOT_GIVEN
|
|
31
28
|
end
|
|
32
29
|
|
|
33
30
|
define_measurement_locale(amount, 'volume')
|
|
34
31
|
end
|
|
35
32
|
|
|
36
33
|
def weight(legacy_amount = NOT_GIVEN, amount: rand(10))
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
amount = legacy_amount
|
|
34
|
+
warn_for_deprecated_arguments do |keywords|
|
|
35
|
+
keywords << :amount if legacy_amount != NOT_GIVEN
|
|
40
36
|
end
|
|
41
37
|
|
|
42
38
|
define_measurement_locale(amount, 'weight')
|
|
43
39
|
end
|
|
44
40
|
|
|
45
41
|
def metric_height(legacy_amount = NOT_GIVEN, amount: rand(10))
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
amount = legacy_amount
|
|
42
|
+
warn_for_deprecated_arguments do |keywords|
|
|
43
|
+
keywords << :amount if legacy_amount != NOT_GIVEN
|
|
49
44
|
end
|
|
50
45
|
|
|
51
46
|
define_measurement_locale(amount, 'metric_height')
|
|
52
47
|
end
|
|
53
48
|
|
|
54
49
|
def metric_length(legacy_amount = NOT_GIVEN, amount: rand(10))
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
amount = legacy_amount
|
|
50
|
+
warn_for_deprecated_arguments do |keywords|
|
|
51
|
+
keywords << :amount if legacy_amount != NOT_GIVEN
|
|
58
52
|
end
|
|
59
53
|
|
|
60
54
|
define_measurement_locale(amount, 'metric_length')
|
|
61
55
|
end
|
|
62
56
|
|
|
63
57
|
def metric_volume(legacy_amount = NOT_GIVEN, amount: rand(10))
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
amount = legacy_amount
|
|
58
|
+
warn_for_deprecated_arguments do |keywords|
|
|
59
|
+
keywords << :amount if legacy_amount != NOT_GIVEN
|
|
67
60
|
end
|
|
68
61
|
|
|
69
62
|
define_measurement_locale(amount, 'metric_volume')
|
|
70
63
|
end
|
|
71
64
|
|
|
72
65
|
def metric_weight(legacy_amount = NOT_GIVEN, amount: rand(10))
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
amount = legacy_amount
|
|
66
|
+
warn_for_deprecated_arguments do |keywords|
|
|
67
|
+
keywords << :amount if legacy_amount != NOT_GIVEN
|
|
76
68
|
end
|
|
77
69
|
|
|
78
70
|
define_measurement_locale(amount, 'metric_weight')
|
|
@@ -3,22 +3,67 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Military < Base
|
|
5
5
|
class << self
|
|
6
|
+
##
|
|
7
|
+
# Produces a rank in the U.S. Army.
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
#
|
|
11
|
+
# @example
|
|
12
|
+
# Faker::Military.army_rank #=> "Staff Sergeant"
|
|
13
|
+
#
|
|
14
|
+
# @faker.version 1.9.0
|
|
6
15
|
def army_rank
|
|
7
16
|
fetch('military.army_rank')
|
|
8
17
|
end
|
|
9
18
|
|
|
19
|
+
##
|
|
20
|
+
# Produces a rank in the U.S. Marines.
|
|
21
|
+
#
|
|
22
|
+
# @return [String]
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
# Faker::Military.marines_rank #=> "Gunnery Sergeant"
|
|
26
|
+
#
|
|
27
|
+
# @faker.version 1.9.0
|
|
10
28
|
def marines_rank
|
|
11
29
|
fetch('military.marines_rank')
|
|
12
30
|
end
|
|
13
31
|
|
|
32
|
+
##
|
|
33
|
+
# Produces a rank in the U.S. Navy.
|
|
34
|
+
#
|
|
35
|
+
# @return [String]
|
|
36
|
+
#
|
|
37
|
+
# @example
|
|
38
|
+
# Faker::Military.navy_rank #=> "Seaman"
|
|
39
|
+
#
|
|
40
|
+
# @faker.version 1.9.0
|
|
14
41
|
def navy_rank
|
|
15
42
|
fetch('military.navy_rank')
|
|
16
43
|
end
|
|
17
44
|
|
|
45
|
+
##
|
|
46
|
+
# Produces a rank in the U.S. Air Force.
|
|
47
|
+
#
|
|
48
|
+
# @return [String]
|
|
49
|
+
#
|
|
50
|
+
# @example
|
|
51
|
+
# Faker::Military.air_force_rank #=> "Captain"
|
|
52
|
+
#
|
|
53
|
+
# @faker.version 1.9.0
|
|
18
54
|
def air_force_rank
|
|
19
55
|
fetch('military.air_force_rank')
|
|
20
56
|
end
|
|
21
57
|
|
|
58
|
+
##
|
|
59
|
+
# Produces a U.S. Department of Defense Paygrade.
|
|
60
|
+
#
|
|
61
|
+
# @return [String]
|
|
62
|
+
#
|
|
63
|
+
# @example
|
|
64
|
+
# Faker::Military.dod_paygrade #=> "E-6"
|
|
65
|
+
#
|
|
66
|
+
# @faker.version 1.9.0
|
|
22
67
|
def dod_paygrade
|
|
23
68
|
fetch('military.dod_paygrade')
|
|
24
69
|
end
|
data/lib/faker/default/name.rb
CHANGED
|
@@ -47,9 +47,8 @@ module Faker
|
|
|
47
47
|
end
|
|
48
48
|
|
|
49
49
|
def initials(legacy_number = NOT_GIVEN, number: 3)
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
number = legacy_number
|
|
50
|
+
warn_for_deprecated_arguments do |keywords|
|
|
51
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
|
53
52
|
end
|
|
54
53
|
|
|
55
54
|
(0...number).map { rand(65..90).chr }.join
|
data/lib/faker/default/nation.rb
CHANGED
|
@@ -4,27 +4,70 @@ module Faker
|
|
|
4
4
|
class Nation < Base
|
|
5
5
|
flexible :nation
|
|
6
6
|
class << self
|
|
7
|
-
|
|
7
|
+
##
|
|
8
|
+
# Produces a random nationality.
|
|
9
|
+
#
|
|
10
|
+
# @return [String]
|
|
11
|
+
#
|
|
12
|
+
# @example
|
|
13
|
+
# Faker::Nation.nationality #=> "Nepalese"
|
|
14
|
+
#
|
|
15
|
+
# @faker.version 1.9.0
|
|
8
16
|
def nationality
|
|
9
17
|
fetch('nation.nationality')
|
|
10
18
|
end
|
|
11
19
|
|
|
12
|
-
#
|
|
20
|
+
# rubocop:disable Style/AsciiComments
|
|
21
|
+
|
|
22
|
+
##
|
|
23
|
+
# Produces a random national flag emoji.
|
|
24
|
+
#
|
|
25
|
+
# @return [String]
|
|
26
|
+
#
|
|
27
|
+
# @example
|
|
28
|
+
# Faker::Nation.flag #=> "🇫🇮"
|
|
29
|
+
#
|
|
30
|
+
# @faker.version 1.9.0
|
|
13
31
|
def flag
|
|
14
32
|
sample(translate('faker.nation.flag')).pack('C*').force_encoding('utf-8')
|
|
15
33
|
end
|
|
34
|
+
# rubocop:enable Style/AsciiComments
|
|
16
35
|
|
|
17
|
-
|
|
36
|
+
##
|
|
37
|
+
# Produces a random national language.
|
|
38
|
+
#
|
|
39
|
+
# @return [String]
|
|
40
|
+
#
|
|
41
|
+
# @example
|
|
42
|
+
# Faker::Nation.language #=> "Nepali"
|
|
43
|
+
#
|
|
44
|
+
# @faker.version 1.9.0
|
|
18
45
|
def language
|
|
19
46
|
fetch('nation.language')
|
|
20
47
|
end
|
|
21
48
|
|
|
22
|
-
|
|
49
|
+
##
|
|
50
|
+
# Produces a random capital city.
|
|
51
|
+
#
|
|
52
|
+
# @return [String]
|
|
53
|
+
#
|
|
54
|
+
# @example
|
|
55
|
+
# Faker::Nation.capital_city #=> "Kathmandu"
|
|
56
|
+
#
|
|
57
|
+
# @faker.version 1.9.0
|
|
23
58
|
def capital_city
|
|
24
59
|
fetch('nation.capital_city')
|
|
25
60
|
end
|
|
26
61
|
|
|
27
|
-
|
|
62
|
+
##
|
|
63
|
+
# Produces a random national sport.
|
|
64
|
+
#
|
|
65
|
+
# @return [String]
|
|
66
|
+
#
|
|
67
|
+
# @example
|
|
68
|
+
# Faker::Nation.national_sport #=> "dandi biyo"
|
|
69
|
+
#
|
|
70
|
+
# @faker.version 1.9.0
|
|
28
71
|
def national_sport
|
|
29
72
|
fetch('team.sport')
|
|
30
73
|
end
|
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class NatoPhoneticAlphabet < Base
|
|
5
5
|
class << self
|
|
6
|
+
##
|
|
7
|
+
# Produces a code word from the NATO phonetic alphabet.
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
#
|
|
11
|
+
# @example
|
|
12
|
+
# Faker::NatoPhoneticAlphabet.code_word #=> "Hotel"
|
|
13
|
+
#
|
|
14
|
+
# @faker.version 1.9.0
|
|
6
15
|
def code_word
|
|
7
16
|
fetch('nato_phonetic_alphabet.code_word')
|
|
8
17
|
end
|
data/lib/faker/default/nhs.rb
CHANGED
|
@@ -16,9 +16,8 @@ module Faker
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def check_digit(legacy_number = NOT_GIVEN, number: 0)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
number = legacy_number
|
|
19
|
+
warn_for_deprecated_arguments do |keywords|
|
|
20
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
|
22
21
|
end
|
|
23
22
|
|
|
24
23
|
sum = 0
|
data/lib/faker/default/number.rb
CHANGED
|
@@ -3,32 +3,59 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Number < Base
|
|
5
5
|
class << self
|
|
6
|
+
##
|
|
7
|
+
# Produce a random number.
|
|
8
|
+
#
|
|
9
|
+
# @param digits [Integer] Number of digits that the generated number should have.
|
|
10
|
+
# @return [Integer]
|
|
11
|
+
#
|
|
12
|
+
# @example
|
|
13
|
+
# Faker::Number.number(digits: 10) #=> 1968353479
|
|
14
|
+
#
|
|
15
|
+
# @faker.version 1.0.0
|
|
6
16
|
def number(legacy_digits = NOT_GIVEN, digits: 10)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
digits = legacy_digits
|
|
17
|
+
warn_for_deprecated_arguments do |keywords|
|
|
18
|
+
keywords << :digits if legacy_digits != NOT_GIVEN
|
|
10
19
|
end
|
|
11
20
|
|
|
12
21
|
return if digits < 1
|
|
13
|
-
return 0 if digits == 1
|
|
22
|
+
return rand(0..9).round if digits == 1
|
|
14
23
|
|
|
15
24
|
# Ensure the first digit is not zero
|
|
16
25
|
([non_zero_digit] + generate(digits - 1)).join.to_i
|
|
17
26
|
end
|
|
18
27
|
|
|
28
|
+
##
|
|
29
|
+
# Produce a random number with a leading zero.
|
|
30
|
+
#
|
|
31
|
+
# @param digits [Integer] Number of digits that the generated number should have.
|
|
32
|
+
# @return [String]
|
|
33
|
+
#
|
|
34
|
+
# @example
|
|
35
|
+
# Faker::Number.leading_zero_number(digits: 10) #=> "0669336915"
|
|
36
|
+
#
|
|
37
|
+
# @faker.version 1.0.0
|
|
19
38
|
def leading_zero_number(legacy_digits = NOT_GIVEN, digits: 10)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
digits = legacy_digits
|
|
39
|
+
warn_for_deprecated_arguments do |keywords|
|
|
40
|
+
keywords << :digits if legacy_digits != NOT_GIVEN
|
|
23
41
|
end
|
|
24
42
|
|
|
25
43
|
'0' + (2..digits).collect { digit }.join
|
|
26
44
|
end
|
|
27
45
|
|
|
46
|
+
##
|
|
47
|
+
# Produce a number with a number of digits, preserves leading zeroes.
|
|
48
|
+
#
|
|
49
|
+
# @param digits [Integer] Number of digits that the generated number should have.
|
|
50
|
+
# @return [String]
|
|
51
|
+
#
|
|
52
|
+
# @example
|
|
53
|
+
# Faker::Number.decimal_part(digits: 2) #=> "09"
|
|
54
|
+
#
|
|
55
|
+
# @faker.version 1.0.0
|
|
28
56
|
def decimal_part(legacy_digits = NOT_GIVEN, digits: 10)
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
digits = legacy_digits
|
|
57
|
+
warn_for_deprecated_arguments do |keywords|
|
|
58
|
+
keywords << :digits if legacy_digits != NOT_GIVEN
|
|
32
59
|
end
|
|
33
60
|
|
|
34
61
|
num = ''
|
|
@@ -39,14 +66,22 @@ module Faker
|
|
|
39
66
|
leading_zero_number(digits: digits) + num.to_s
|
|
40
67
|
end
|
|
41
68
|
|
|
69
|
+
##
|
|
70
|
+
# Produces a float.
|
|
71
|
+
#
|
|
72
|
+
# @param l_digits [Integer] Number of digits that the generated decimal should have to the left of the decimal point.
|
|
73
|
+
# @param r_digits [Integer] Number of digits that the generated decimal should have to the right of the decimal point.
|
|
74
|
+
# @return [Float]
|
|
75
|
+
#
|
|
76
|
+
# @example
|
|
77
|
+
# Faker::Number.decimal(l_digits: 2) #=> 11.88
|
|
78
|
+
# Faker::Number.decimal(l_digits: 3, r_digits: 3) #=> 181.843
|
|
79
|
+
#
|
|
80
|
+
# @faker.version 1.0.0
|
|
42
81
|
def decimal(legacy_l_digits = NOT_GIVEN, legacy_r_digits = NOT_GIVEN, l_digits: 5, r_digits: 2)
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
end
|
|
47
|
-
if legacy_r_digits != NOT_GIVEN
|
|
48
|
-
warn_with_uplevel 'Passing `r_digits` with the 2nd argument of `Number.decimal` is deprecated. Use keyword argument like `Number.decimal(r_digits: ...)` instead.', uplevel: 1
|
|
49
|
-
r_digits = legacy_r_digits
|
|
82
|
+
warn_for_deprecated_arguments do |keywords|
|
|
83
|
+
keywords << :l_digits if legacy_l_digits != NOT_GIVEN
|
|
84
|
+
keywords << :r_digits if legacy_r_digits != NOT_GIVEN
|
|
50
85
|
end
|
|
51
86
|
|
|
52
87
|
l_d = number(digits: l_digits)
|
|
@@ -60,18 +95,45 @@ module Faker
|
|
|
60
95
|
"#{l_d}.#{r_d}".to_f
|
|
61
96
|
end
|
|
62
97
|
|
|
98
|
+
##
|
|
99
|
+
# Produces a non-zero single-digit integer.
|
|
100
|
+
#
|
|
101
|
+
# @return [Integer]
|
|
102
|
+
#
|
|
103
|
+
# @example
|
|
104
|
+
# Faker::Number.non_zero_digit #=> 8
|
|
105
|
+
#
|
|
106
|
+
# @faker.version 1.0.0
|
|
63
107
|
def non_zero_digit
|
|
64
108
|
rand(1..9)
|
|
65
109
|
end
|
|
66
110
|
|
|
111
|
+
##
|
|
112
|
+
# Produces a single-digit integer.
|
|
113
|
+
#
|
|
114
|
+
# @return [Integer]
|
|
115
|
+
#
|
|
116
|
+
# @example
|
|
117
|
+
# Faker::Number.digit #=> 1
|
|
118
|
+
#
|
|
119
|
+
# @faker.version 1.0.0
|
|
67
120
|
def digit
|
|
68
121
|
rand(10)
|
|
69
122
|
end
|
|
70
123
|
|
|
124
|
+
##
|
|
125
|
+
# Produces a number in hexadecimal format.
|
|
126
|
+
#
|
|
127
|
+
# @param digits [Integer] Number of digits in the he
|
|
128
|
+
# @return [String]
|
|
129
|
+
#
|
|
130
|
+
# @example
|
|
131
|
+
# Faker::Number.hexadecimal(digits: 3) #=> "e74"
|
|
132
|
+
#
|
|
133
|
+
# @faker.version 1.0.0
|
|
71
134
|
def hexadecimal(legacy_digits = NOT_GIVEN, digits: 6)
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
digits = legacy_digits
|
|
135
|
+
warn_for_deprecated_arguments do |keywords|
|
|
136
|
+
keywords << :digits if legacy_digits != NOT_GIVEN
|
|
75
137
|
end
|
|
76
138
|
|
|
77
139
|
hex = ''
|
|
@@ -79,14 +141,21 @@ module Faker
|
|
|
79
141
|
hex
|
|
80
142
|
end
|
|
81
143
|
|
|
144
|
+
##
|
|
145
|
+
# Produces a float given a mean and standard deviation.
|
|
146
|
+
#
|
|
147
|
+
# @param mean [Integer]
|
|
148
|
+
# @param standard_deviation [Integer, Float]
|
|
149
|
+
# @return [Float]
|
|
150
|
+
#
|
|
151
|
+
# @example
|
|
152
|
+
# Faker::Number.normal(mean: 50, standard_deviation: 3.5) #=> 47.14669604069156
|
|
153
|
+
#
|
|
154
|
+
# @faker.version 1.0.0
|
|
82
155
|
def normal(legacy_mean = NOT_GIVEN, legacy_standard_deviation = NOT_GIVEN, mean: 1, standard_deviation: 1)
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
end
|
|
87
|
-
if legacy_standard_deviation != NOT_GIVEN
|
|
88
|
-
warn_with_uplevel 'Passing `standard_deviation` with the 2nd argument of `Number.normal` is deprecated. Use keyword argument like `Number.normal(standard_deviation: ...)` instead.', uplevel: 1
|
|
89
|
-
standard_deviation = legacy_standard_deviation
|
|
156
|
+
warn_for_deprecated_arguments do |keywords|
|
|
157
|
+
keywords << :mean if legacy_mean != NOT_GIVEN
|
|
158
|
+
keywords << :standard_deviation if legacy_standard_deviation != NOT_GIVEN
|
|
90
159
|
end
|
|
91
160
|
|
|
92
161
|
theta = 2 * Math::PI * rand
|
|
@@ -95,36 +164,59 @@ module Faker
|
|
|
95
164
|
mean + scale * Math.cos(theta)
|
|
96
165
|
end
|
|
97
166
|
|
|
167
|
+
##
|
|
168
|
+
# Produces a number between two provided values. Boundaries are inclusive.
|
|
169
|
+
#
|
|
170
|
+
# @param from [Integer] The lowest number to include.
|
|
171
|
+
# @param to [Integer] The highest number to include.
|
|
172
|
+
# @return [Integer]
|
|
173
|
+
#
|
|
174
|
+
# @example
|
|
175
|
+
# Faker::Number.between(from: 1, to: 10) #=> 7
|
|
176
|
+
#
|
|
177
|
+
# @faker.version 1.0.0
|
|
98
178
|
def between(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: 1.00, to: 5000.00)
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
end
|
|
103
|
-
if legacy_to != NOT_GIVEN
|
|
104
|
-
warn_with_uplevel 'Passing `to` with the 2nd argument of `Number.between` is deprecated. Use keyword argument like `Number.between(to: ...)` instead.', uplevel: 1
|
|
105
|
-
to = legacy_to
|
|
179
|
+
warn_for_deprecated_arguments do |keywords|
|
|
180
|
+
keywords << :from if legacy_from != NOT_GIVEN
|
|
181
|
+
keywords << :to if legacy_to != NOT_GIVEN
|
|
106
182
|
end
|
|
107
183
|
|
|
108
184
|
Faker::Base.rand_in_range(from, to)
|
|
109
185
|
end
|
|
110
186
|
|
|
187
|
+
##
|
|
188
|
+
# Produces a number within two provided values. Boundaries are inclusive or exclusive depending on the range passed.
|
|
189
|
+
#
|
|
190
|
+
# @param range [Range] The range from which to generate a number.
|
|
191
|
+
# @return [Integer]
|
|
192
|
+
#
|
|
193
|
+
# @example
|
|
194
|
+
# Faker::Number.within(range: 1..10) #=> 7
|
|
195
|
+
#
|
|
196
|
+
# @faker.version 1.0.0
|
|
111
197
|
def within(legacy_range = NOT_GIVEN, range: 1.00..5000.00)
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
range = legacy_range
|
|
198
|
+
warn_for_deprecated_arguments do |keywords|
|
|
199
|
+
keywords << :range if legacy_range != NOT_GIVEN
|
|
115
200
|
end
|
|
116
201
|
|
|
117
202
|
between(from: range.min, to: range.max)
|
|
118
203
|
end
|
|
119
204
|
|
|
205
|
+
##
|
|
206
|
+
# Produces a positive float.
|
|
207
|
+
#
|
|
208
|
+
# @param from [Integer] The lower boundary.
|
|
209
|
+
# @param to [Integer] The higher boundary.
|
|
210
|
+
# @return [Float]
|
|
211
|
+
#
|
|
212
|
+
# @example
|
|
213
|
+
# Faker::Number.positive #=> 235.59238499107653
|
|
214
|
+
#
|
|
215
|
+
# @faker.version 1.0.0
|
|
120
216
|
def positive(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: 1.00, to: 5000.00)
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
end
|
|
125
|
-
if legacy_to != NOT_GIVEN
|
|
126
|
-
warn_with_uplevel 'Passing `to` with the 2nd argument of `Number.positive` is deprecated. Use keyword argument like `Number.positive(to: ...)` instead.', uplevel: 1
|
|
127
|
-
to = legacy_to
|
|
217
|
+
warn_for_deprecated_arguments do |keywords|
|
|
218
|
+
keywords << :from if legacy_from != NOT_GIVEN
|
|
219
|
+
keywords << :to if legacy_to != NOT_GIVEN
|
|
128
220
|
end
|
|
129
221
|
|
|
130
222
|
random_number = between(from: from, to: to)
|
|
@@ -132,14 +224,21 @@ module Faker
|
|
|
132
224
|
greater_than_zero(random_number)
|
|
133
225
|
end
|
|
134
226
|
|
|
227
|
+
##
|
|
228
|
+
# Produces a negative float.
|
|
229
|
+
#
|
|
230
|
+
# @param from [Integer] The lower boundary.
|
|
231
|
+
# @param to [Integer] The higher boundary.
|
|
232
|
+
# @return [Float]
|
|
233
|
+
#
|
|
234
|
+
# @example
|
|
235
|
+
# Faker::Number.negative #=> -4480.042585669558
|
|
236
|
+
#
|
|
237
|
+
# @faker.version 1.0.0
|
|
135
238
|
def negative(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: -5000.00, to: -1.00)
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
end
|
|
140
|
-
if legacy_to != NOT_GIVEN
|
|
141
|
-
warn_with_uplevel 'Passing `to` with the 2nd argument of `Number.negative` is deprecated. Use keyword argument like `Number.negative(to: ...)` instead.', uplevel: 1
|
|
142
|
-
to = legacy_to
|
|
239
|
+
warn_for_deprecated_arguments do |keywords|
|
|
240
|
+
keywords << :from if legacy_from != NOT_GIVEN
|
|
241
|
+
keywords << :to if legacy_to != NOT_GIVEN
|
|
143
242
|
end
|
|
144
243
|
|
|
145
244
|
random_number = between(from: from, to: to)
|