faker 1.9.6 → 2.7.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 +386 -6
- data/README.md +12 -5
- data/lib/faker.rb +56 -1
- 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 +66 -5
- data/lib/faker/books/lovecraft.rb +221 -18
- data/lib/faker/creature/animal.rb +10 -1
- data/lib/faker/creature/cat.rb +28 -1
- data/lib/faker/creature/dog.rb +73 -1
- data/lib/faker/creature/horse.rb +19 -1
- data/lib/faker/default/address.rb +25 -5
- data/lib/faker/default/alphanumeric.rb +58 -9
- data/lib/faker/default/app.rb +55 -1
- data/lib/faker/default/appliance.rb +18 -0
- data/lib/faker/default/artist.rb +9 -0
- data/lib/faker/default/avatar.rb +43 -1
- data/lib/faker/default/bank.rb +10 -2
- data/lib/faker/default/boolean.rb +16 -1
- data/lib/faker/default/cannabis.rb +4 -0
- data/lib/faker/default/chile_rut.rb +13 -3
- data/lib/faker/default/chuck_norris.rb +1 -1
- data/lib/faker/default/code.rb +18 -5
- data/lib/faker/default/commerce.rb +18 -4
- data/lib/faker/default/company.rb +11 -3
- data/lib/faker/default/crypto_coin.rb +21 -4
- data/lib/faker/default/date.rb +122 -9
- data/lib/faker/default/demographic.rb +5 -1
- data/lib/faker/default/dessert.rb +27 -0
- data/lib/faker/default/device.rb +56 -2
- data/lib/faker/default/driving_licence.rb +13 -7
- data/lib/faker/default/educator.rb +0 -3
- data/lib/faker/default/electrical_components.rb +27 -0
- data/lib/faker/default/file.rb +20 -3
- data/lib/faker/default/fillmurray.rb +10 -2
- data/lib/faker/default/finance.rb +5 -1
- 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 +55 -16
- data/lib/faker/default/house.rb +18 -0
- data/lib/faker/default/id_number.rb +85 -11
- data/lib/faker/default/industry_segments.rb +36 -0
- data/lib/faker/default/internet.rb +107 -22
- data/lib/faker/default/invoice.rb +16 -3
- data/lib/faker/default/json.rb +19 -2
- data/lib/faker/default/lorem.rb +91 -20
- data/lib/faker/default/lorem_flickr.rb +38 -5
- data/lib/faker/default/lorem_pixel.rb +10 -1
- data/lib/faker/default/markdown.rb +12 -7
- data/lib/faker/default/marketing.rb +9 -0
- data/lib/faker/default/measurement.rb +40 -8
- data/lib/faker/default/military.rb +45 -0
- data/lib/faker/default/name.rb +6 -4
- data/lib/faker/default/nation.rb +48 -5
- data/lib/faker/default/nato_phonetic_alphabet.rb +9 -0
- data/lib/faker/default/nhs.rb +11 -7
- data/lib/faker/default/number.rb +202 -30
- data/lib/faker/default/omniauth.rb +98 -15
- data/lib/faker/default/phone_number.rb +5 -1
- data/lib/faker/default/placeholdit.rb +11 -1
- data/lib/faker/default/programming_language.rb +18 -0
- data/lib/faker/default/relationship.rb +5 -1
- data/lib/faker/default/restaurant.rb +54 -2
- data/lib/faker/default/science.rb +27 -0
- data/lib/faker/default/source.rb +59 -3
- data/lib/faker/default/south_africa.rb +1 -1
- data/lib/faker/default/space.rb +2 -2
- data/lib/faker/default/string.rb +5 -1
- data/lib/faker/default/stripe.rb +20 -4
- data/lib/faker/default/subscription.rb +45 -0
- data/lib/faker/default/superhero.rb +45 -0
- data/lib/faker/default/time.rb +133 -8
- data/lib/faker/default/twitter.rb +62 -48
- data/lib/faker/default/types.rb +29 -7
- data/lib/faker/default/vehicle.rb +19 -6
- data/lib/faker/default/world_cup.rb +61 -2
- data/lib/faker/games/dota.rb +53 -2
- data/lib/faker/games/elder_scrolls.rb +73 -1
- data/lib/faker/games/fallout.rb +38 -1
- data/lib/faker/games/game.rb +27 -0
- data/lib/faker/games/half_life.rb +28 -1
- data/lib/faker/games/heroes.rb +28 -1
- data/lib/faker/games/heroes_of_the_storm.rb +37 -1
- data/lib/faker/games/league_of_legends.rb +55 -1
- data/lib/faker/games/myst.rb +46 -1
- data/lib/faker/games/overwatch.rb +28 -1
- data/lib/faker/games/pokemon.rb +28 -1
- data/lib/faker/games/sonic_the_hedgehog.rb +28 -1
- data/lib/faker/games/super_smash_bros.rb +19 -1
- data/lib/faker/games/witcher.rb +55 -1
- data/lib/faker/games/world_of_warcraft.rb +19 -1
- data/lib/faker/games/zelda.rb +38 -2
- data/lib/faker/japanese_media/dragon_ball.rb +10 -1
- data/lib/faker/japanese_media/one_piece.rb +55 -1
- data/lib/faker/japanese_media/sword_art_online.rb +37 -1
- data/lib/faker/movies/back_to_the_future.rb +29 -1
- data/lib/faker/movies/ghostbusters.rb +29 -1
- data/lib/faker/movies/harry_potter.rb +55 -1
- data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +70 -1
- data/lib/faker/movies/hobbit.rb +38 -1
- data/lib/faker/movies/lebowski.rb +28 -1
- data/lib/faker/movies/lord_of_the_rings.rb +29 -1
- data/lib/faker/movies/movie.rb +9 -0
- data/lib/faker/movies/princess_bride.rb +20 -1
- data/lib/faker/movies/star_wars.rb +101 -5
- data/lib/faker/movies/v_for_vendetta.rb +30 -1
- 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 +10 -1
- data/lib/faker/tv_shows/bojack_horseman.rb +29 -1
- data/lib/faker/tv_shows/breaking_bad.rb +19 -1
- data/lib/faker/tv_shows/buffy.rb +46 -1
- data/lib/faker/tv_shows/community.rb +20 -1
- data/lib/faker/tv_shows/dr_who.rb +79 -3
- data/lib/faker/tv_shows/dumb_and_dumber.rb +29 -1
- data/lib/faker/tv_shows/family_guy.rb +29 -1
- data/lib/faker/tv_shows/friends.rb +28 -1
- data/lib/faker/tv_shows/game_of_thrones.rb +47 -1
- data/lib/faker/tv_shows/hey_arnold.rb +28 -1
- data/lib/faker/tv_shows/how_i_met_your_mother.rb +38 -1
- data/lib/faker/tv_shows/michael_scott.rb +14 -1
- data/lib/faker/tv_shows/new_girl.rb +20 -1
- data/lib/faker/tv_shows/parks_and_rec.rb +19 -1
- data/lib/faker/tv_shows/rick_and_morty.rb +29 -1
- data/lib/faker/tv_shows/ru_paul.rb +19 -1
- data/lib/faker/tv_shows/seinfeld.rb +29 -1
- data/lib/faker/tv_shows/silicon_valley.rb +76 -1
- data/lib/faker/tv_shows/simpsons.rb +29 -1
- data/lib/faker/tv_shows/south_park.rb +20 -1
- data/lib/faker/tv_shows/star_trek.rb +37 -1
- data/lib/faker/tv_shows/stargate.rb +29 -1
- data/lib/faker/tv_shows/stranger_things.rb +20 -1
- data/lib/faker/tv_shows/the_expanse.rb +37 -1
- data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +29 -1
- data/lib/faker/tv_shows/the_it_crowd.rb +38 -1
- data/lib/faker/tv_shows/the_thick_of_it.rb +29 -1
- data/lib/faker/tv_shows/twin_peaks.rb +29 -1
- data/lib/faker/tv_shows/venture_bros.rb +39 -1
- data/lib/faker/version.rb +1 -1
- data/lib/locales/en-CA.yml +2 -1
- data/lib/locales/en-IND.yml +1 -1
- data/lib/locales/en-TH.yml +360 -0
- data/lib/locales/en.yml +4 -1
- data/lib/locales/en/address.yml +1 -4
- data/lib/locales/en/animal.yml +2 -2
- data/lib/locales/en/cannabis.yml +1 -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/en/space.yml +1 -1
- data/lib/locales/en/super_smash_bros.yml +5 -0
- data/lib/locales/fr-CA.yml +1 -1
- data/lib/locales/ja.yml +12 -9
- data/lib/locales/th.yml +380 -0
- data/lib/locales/vi.yml +1 -1
- metadata +44 -27
- data/lib/faker/default/creature.rb +0 -6
- data/lib/faker/default/games.rb +0 -6
- data/lib/faker/default/japanese_media.rb +0 -6
- data/lib/faker/default/movies.rb +0 -6
- data/lib/faker/default/tv_shows.rb +0 -6
- data/lib/faker/deprecate/unreleased/football.rb +0 -35
- data/lib/faker/deprecate/unreleased/movies/grateful_dead.rb +0 -22
data/lib/faker/creature/horse.rb
CHANGED
|
@@ -1,15 +1,33 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module Faker
|
|
4
|
-
|
|
4
|
+
class Creature
|
|
5
5
|
class Horse < Base
|
|
6
6
|
flexible :horse
|
|
7
7
|
|
|
8
8
|
class << self
|
|
9
|
+
##
|
|
10
|
+
# Produces a random name for a horse
|
|
11
|
+
#
|
|
12
|
+
# @return [String]
|
|
13
|
+
#
|
|
14
|
+
# @example
|
|
15
|
+
# Faker::Creature::Horse.name #=> "Noir"
|
|
16
|
+
#
|
|
17
|
+
# @faker.version 1.9.2
|
|
9
18
|
def name
|
|
10
19
|
fetch('creature.horse.name')
|
|
11
20
|
end
|
|
12
21
|
|
|
22
|
+
##
|
|
23
|
+
# Produces a random horse breed
|
|
24
|
+
#
|
|
25
|
+
# @return [String]
|
|
26
|
+
#
|
|
27
|
+
# @example
|
|
28
|
+
# Faker::Creature::Horse.breed #=> "Spanish Barb see Barb Horse"
|
|
29
|
+
#
|
|
30
|
+
# @faker.version 1.9.2
|
|
13
31
|
def breed
|
|
14
32
|
fetch('creature.horse.breed')
|
|
15
33
|
end
|
|
@@ -5,7 +5,11 @@ module Faker
|
|
|
5
5
|
flexible :address
|
|
6
6
|
|
|
7
7
|
class << self
|
|
8
|
-
def city(
|
|
8
|
+
def city(legacy_options = NOT_GIVEN, options: {})
|
|
9
|
+
warn_for_deprecated_arguments do |keywords|
|
|
10
|
+
keywords << :options if legacy_options != NOT_GIVEN
|
|
11
|
+
end
|
|
12
|
+
|
|
9
13
|
parse(options[:with_state] ? 'address.city_with_state' : 'address.city')
|
|
10
14
|
end
|
|
11
15
|
|
|
@@ -13,7 +17,11 @@ module Faker
|
|
|
13
17
|
parse('address.street_name')
|
|
14
18
|
end
|
|
15
19
|
|
|
16
|
-
def street_address(
|
|
20
|
+
def street_address(legacy_include_secondary = NOT_GIVEN, include_secondary: false)
|
|
21
|
+
warn_for_deprecated_arguments do |keywords|
|
|
22
|
+
keywords << :include_secondary if legacy_include_secondary != NOT_GIVEN
|
|
23
|
+
end
|
|
24
|
+
|
|
17
25
|
numerify(parse('address.street_address') + (include_secondary ? ' ' + secondary_address : ''))
|
|
18
26
|
end
|
|
19
27
|
|
|
@@ -29,7 +37,11 @@ module Faker
|
|
|
29
37
|
parse('address.community')
|
|
30
38
|
end
|
|
31
39
|
|
|
32
|
-
def zip_code(
|
|
40
|
+
def zip_code(legacy_state_abbreviation = NOT_GIVEN, state_abbreviation: '')
|
|
41
|
+
warn_for_deprecated_arguments do |keywords|
|
|
42
|
+
keywords << :state_abbreviation if legacy_state_abbreviation != NOT_GIVEN
|
|
43
|
+
end
|
|
44
|
+
|
|
33
45
|
if state_abbreviation.empty?
|
|
34
46
|
letterified_string = letterify(fetch('address.postcode'))
|
|
35
47
|
return numerify(letterified_string, leading_zero: true)
|
|
@@ -71,11 +83,19 @@ module Faker
|
|
|
71
83
|
fetch('address.country')
|
|
72
84
|
end
|
|
73
85
|
|
|
74
|
-
def country_by_code(code: 'US')
|
|
86
|
+
def country_by_code(legacy_code = NOT_GIVEN, code: 'US')
|
|
87
|
+
warn_for_deprecated_arguments do |keywords|
|
|
88
|
+
keywords << :code if legacy_code != NOT_GIVEN
|
|
89
|
+
end
|
|
90
|
+
|
|
75
91
|
fetch('address.country_by_code.' + code)
|
|
76
92
|
end
|
|
77
93
|
|
|
78
|
-
def country_name_to_code(name: 'united_states')
|
|
94
|
+
def country_name_to_code(legacy_name = NOT_GIVEN, name: 'united_states')
|
|
95
|
+
warn_for_deprecated_arguments do |keywords|
|
|
96
|
+
keywords << :name if legacy_name != NOT_GIVEN
|
|
97
|
+
end
|
|
98
|
+
|
|
79
99
|
fetch('address.country_by_name.' + name)
|
|
80
100
|
end
|
|
81
101
|
|
|
@@ -2,22 +2,71 @@
|
|
|
2
2
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Alphanumeric < Base
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
##
|
|
6
|
+
# List of characters allowed for alphanumeric strings
|
|
7
|
+
# @private
|
|
8
|
+
ALPHANUMS = LLetters + Numbers
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
class << self
|
|
11
|
+
##
|
|
12
|
+
# Produces a random string of alphabetic characters (no digits)
|
|
13
|
+
#
|
|
14
|
+
# @param number [Integer] The length of the string to generate
|
|
15
|
+
#
|
|
16
|
+
# @return [String]
|
|
17
|
+
#
|
|
18
|
+
# @example
|
|
19
|
+
# Faker::Alphanumeric.alpha(number: 10) #=> "zlvubkrwga"
|
|
20
|
+
#
|
|
21
|
+
# @faker.version 1.9.2
|
|
22
|
+
def alpha(legacy_number = NOT_GIVEN, number: 32)
|
|
23
|
+
warn_for_deprecated_arguments do |keywords|
|
|
24
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
|
25
|
+
end
|
|
26
|
+
char_count = resolve(number)
|
|
11
27
|
return '' if char_count.to_i < 1
|
|
12
28
|
|
|
13
|
-
Array.new(char_count) { sample(
|
|
29
|
+
Array.new(char_count) { sample(self::LLetters) }.join
|
|
14
30
|
end
|
|
15
31
|
|
|
16
|
-
|
|
17
|
-
|
|
32
|
+
##
|
|
33
|
+
# Produces a random string of alphanumeric characters
|
|
34
|
+
#
|
|
35
|
+
# @param number [Integer] The number of characters to generate
|
|
36
|
+
# @param min_alpha [Integer] The minimum number of alphabetic to add to the string
|
|
37
|
+
# @param min_numeric [Integer] The minimum number of numbers to add to the string
|
|
38
|
+
#
|
|
39
|
+
# @return [String]
|
|
40
|
+
#
|
|
41
|
+
# @example
|
|
42
|
+
# Faker::Alphanumeric.alphanumeric(number: 10) #=> "3yfq2phxtb"
|
|
43
|
+
# @example
|
|
44
|
+
# Faker::Alphanumeric.alphanumeric(number: 10, min_alpha: 3) #=> "3yfq2phxtb"
|
|
45
|
+
# @example
|
|
46
|
+
# Faker::Alphanumeric.alphanumeric(number: 10, min_alpha: 3, min_numeric: 3) #=> "3yfq2phx8b"
|
|
47
|
+
#
|
|
48
|
+
# @faker.version 2.1.3
|
|
49
|
+
def alphanumeric(legacy_number = NOT_GIVEN, number: 32, min_alpha: 0, min_numeric: 0)
|
|
50
|
+
warn_for_deprecated_arguments do |keywords|
|
|
51
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
|
52
|
+
end
|
|
53
|
+
char_count = resolve(number)
|
|
18
54
|
return '' if char_count.to_i < 1
|
|
55
|
+
raise ArgumentError, 'min_alpha must be greater than or equal to 0' if min_alpha&.negative?
|
|
56
|
+
raise ArgumentError, 'min_numeric must be greater than or equal to 0' if min_numeric&.negative?
|
|
57
|
+
|
|
58
|
+
return Array.new(char_count) { sample(ALPHANUMS) }.join if min_alpha.zero? && min_numeric.zero?
|
|
59
|
+
|
|
60
|
+
raise ArgumentError, 'min_alpha + min_numeric must be <= number' if min_alpha + min_numeric > char_count
|
|
61
|
+
|
|
62
|
+
random_count = char_count - min_alpha - min_numeric
|
|
63
|
+
|
|
64
|
+
alphas = Array.new(min_alpha) { sample(self::LLetters) }
|
|
65
|
+
numbers = Array.new(min_numeric) { sample(self::Numbers) }
|
|
66
|
+
randoms = Array.new(random_count) { sample(ALPHANUMS) }
|
|
19
67
|
|
|
20
|
-
|
|
68
|
+
combined = alphas + numbers + randoms
|
|
69
|
+
combined.shuffle.join
|
|
21
70
|
end
|
|
22
71
|
end
|
|
23
72
|
end
|
data/lib/faker/default/app.rb
CHANGED
|
@@ -3,19 +3,73 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class App < Base
|
|
5
5
|
class << self
|
|
6
|
+
##
|
|
7
|
+
# Produces an app name.
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
#
|
|
11
|
+
# @example
|
|
12
|
+
# Faker::App.name #=> "Treeflex"
|
|
13
|
+
#
|
|
14
|
+
# @faker.version 1.4.3
|
|
6
15
|
def name
|
|
7
16
|
fetch('app.name')
|
|
8
17
|
end
|
|
9
18
|
|
|
19
|
+
##
|
|
20
|
+
# Produces a version string.
|
|
21
|
+
#
|
|
22
|
+
# @return [String]
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
# Faker::App.version #=> "1.85"
|
|
26
|
+
#
|
|
27
|
+
# @faker.version 1.4.3
|
|
10
28
|
def version
|
|
11
29
|
parse('app.version')
|
|
12
30
|
end
|
|
13
31
|
|
|
32
|
+
##
|
|
33
|
+
# Produces the name of an app's author.
|
|
34
|
+
#
|
|
35
|
+
# @return [String]
|
|
36
|
+
#
|
|
37
|
+
# @example
|
|
38
|
+
# Faker::App.author #=> "Daphne Swift"
|
|
39
|
+
#
|
|
40
|
+
# @faker.version 1.4.3
|
|
14
41
|
def author
|
|
15
42
|
parse('app.author')
|
|
16
43
|
end
|
|
17
44
|
|
|
18
|
-
|
|
45
|
+
# rubocop:disable Metrics/ParameterLists
|
|
46
|
+
|
|
47
|
+
##
|
|
48
|
+
# Produces a String representing a semantic version identifier.
|
|
49
|
+
#
|
|
50
|
+
# @param major [Integer, Range] An integer to use or a range to pick the integer from.
|
|
51
|
+
# @param minor [Integer, Range] An integer to use or a range to pick the integer from.
|
|
52
|
+
# @param patch [Integer, Range] An integer to use or a range to pick the integer from.
|
|
53
|
+
# @return [String]
|
|
54
|
+
#
|
|
55
|
+
# @example
|
|
56
|
+
# Faker::App.semantic_version #=> "3.2.5"
|
|
57
|
+
# @example
|
|
58
|
+
# Faker::App.semantic_version(major: 42) #=> "42.5.2"
|
|
59
|
+
# @example
|
|
60
|
+
# Faker::App.semantic_version(minor: 100..101) #=> "42.100.4"
|
|
61
|
+
# @example
|
|
62
|
+
# Faker::App.semantic_version(patch: 5..6) #=> "7.2.6"
|
|
63
|
+
#
|
|
64
|
+
# @faker.version 1.4.3
|
|
65
|
+
def semantic_version(legacy_major = NOT_GIVEN, legacy_minor = NOT_GIVEN, legacy_patch = NOT_GIVEN, major: 0..9, minor: 0..9, patch: 1..9)
|
|
66
|
+
# rubocop:enable Metrics/ParameterLists
|
|
67
|
+
warn_for_deprecated_arguments do |keywords|
|
|
68
|
+
keywords << :major if legacy_major != NOT_GIVEN
|
|
69
|
+
keywords << :minor if legacy_minor != NOT_GIVEN
|
|
70
|
+
keywords << :patch if legacy_patch != NOT_GIVEN
|
|
71
|
+
end
|
|
72
|
+
|
|
19
73
|
[major, minor, patch].map { |chunk| sample(Array(chunk)) }.join('.')
|
|
20
74
|
end
|
|
21
75
|
end
|
|
@@ -3,10 +3,28 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Appliance < Base
|
|
5
5
|
class << self
|
|
6
|
+
##
|
|
7
|
+
# Produces the name of an appliance brand.
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
#
|
|
11
|
+
# @example
|
|
12
|
+
# Faker::Appliance.brand #=> "Bosch"
|
|
13
|
+
#
|
|
14
|
+
# @faker.version 1.9.0
|
|
6
15
|
def brand
|
|
7
16
|
fetch('appliance.brand')
|
|
8
17
|
end
|
|
9
18
|
|
|
19
|
+
##
|
|
20
|
+
# Produces the name of a type of appliance equipment.
|
|
21
|
+
#
|
|
22
|
+
# @return [String]
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
# Faker::Appliance.equipment #=> "Appliance plug"
|
|
26
|
+
#
|
|
27
|
+
# @faker.version 1.9.0
|
|
10
28
|
def equipment
|
|
11
29
|
fetch('appliance.equipment')
|
|
12
30
|
end
|
data/lib/faker/default/artist.rb
CHANGED
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Artist < Base
|
|
5
5
|
class << self
|
|
6
|
+
##
|
|
7
|
+
# Produces the name of an artist.
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
#
|
|
11
|
+
# @example
|
|
12
|
+
# Faker::Artist.name #=> "Michelangelo"
|
|
13
|
+
#
|
|
14
|
+
# @faker.version 1.8.8
|
|
6
15
|
def name
|
|
7
16
|
fetch('artist.names')
|
|
8
17
|
end
|
data/lib/faker/default/avatar.rb
CHANGED
|
@@ -3,9 +3,51 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Avatar < Base
|
|
5
5
|
class << self
|
|
6
|
+
# @private
|
|
6
7
|
SUPPORTED_FORMATS = %w[png jpg bmp].freeze
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
# rubocop:disable Metrics/ParameterLists
|
|
10
|
+
|
|
11
|
+
##
|
|
12
|
+
# Produces a URL for an avatar from robohash.org
|
|
13
|
+
#
|
|
14
|
+
# @param slug [String, nil]
|
|
15
|
+
# @param size [String] image size in pixels, in the format of 'AxB'
|
|
16
|
+
# @param format [String] The image file format
|
|
17
|
+
# @param set [String] The avatar set to use
|
|
18
|
+
# @param bgset [String, nil] The background set to use
|
|
19
|
+
# @return [String] A robohash.org URL
|
|
20
|
+
#
|
|
21
|
+
# @example
|
|
22
|
+
# Faker::Avatar.image
|
|
23
|
+
# #=> "https://robohash.org/sitsequiquia.png?size=300x300&set=set1"
|
|
24
|
+
# @example
|
|
25
|
+
# Faker::Avatar.image(slug: "my-own-slug")
|
|
26
|
+
# #=> "https://robohash.org/my-own-slug.png?size=300x300&set=set1"
|
|
27
|
+
# @example
|
|
28
|
+
# Faker::Avatar.image(slug: "my-own-slug", size: "50x50")
|
|
29
|
+
# #=> "https://robohash.org/my-own-slug.png?size=50x50&set=set1"
|
|
30
|
+
# @example
|
|
31
|
+
# Faker::Avatar.image(slug: "my-own-slug", size: "50x50", format: "jpg")
|
|
32
|
+
# #=> "https://robohash.org/my-own-slug.jpg?size=50x50&set=set1"
|
|
33
|
+
# @example
|
|
34
|
+
# Faker::Avatar.image(slug: "my-own-slug", size: "50x50", format: "bmp")
|
|
35
|
+
# #=> "https://robohash.org/my-own-slug.bmp?size=50x50&set=set1"
|
|
36
|
+
# @example
|
|
37
|
+
# Faker::Avatar.image(slug: "my-own-slug", size: "50x50", format: "bmp", set: "set1", bgset: "bg1")
|
|
38
|
+
# #=> "https://robohash.org/my-own-slug.bmp?size=50x50&set=set1&bgset=bg1"
|
|
39
|
+
#
|
|
40
|
+
# @faker.version 1.4.3
|
|
41
|
+
def image(legacy_slug = NOT_GIVEN, legacy_size = NOT_GIVEN, legacy_format = NOT_GIVEN, legacy_set = NOT_GIVEN, legacy_bgset = NOT_GIVEN, slug: nil, size: '300x300', format: 'png', set: 'set1', bgset: nil)
|
|
42
|
+
# rubocop:enable Metrics/ParameterLists
|
|
43
|
+
warn_for_deprecated_arguments do |keywords|
|
|
44
|
+
keywords << :slug if legacy_slug != NOT_GIVEN
|
|
45
|
+
keywords << :size if legacy_size != NOT_GIVEN
|
|
46
|
+
keywords << :format if legacy_format != NOT_GIVEN
|
|
47
|
+
keywords << :set if legacy_set != NOT_GIVEN
|
|
48
|
+
keywords << :bgset if legacy_bgset != NOT_GIVEN
|
|
49
|
+
end
|
|
50
|
+
|
|
9
51
|
raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /^[0-9]+x[0-9]+$/
|
|
10
52
|
raise ArgumentError, "Supported formats are #{SUPPORTED_FORMATS.join(', ')}" unless SUPPORTED_FORMATS.include?(format)
|
|
11
53
|
|
data/lib/faker/default/bank.rb
CHANGED
|
@@ -5,7 +5,11 @@ module Faker
|
|
|
5
5
|
flexible :bank
|
|
6
6
|
|
|
7
7
|
class << self
|
|
8
|
-
def account_number(
|
|
8
|
+
def account_number(legacy_digits = NOT_GIVEN, digits: 10)
|
|
9
|
+
warn_for_deprecated_arguments do |keywords|
|
|
10
|
+
keywords << :digits if legacy_digits != NOT_GIVEN
|
|
11
|
+
end
|
|
12
|
+
|
|
9
13
|
output = ''
|
|
10
14
|
|
|
11
15
|
output += rand.to_s[2..-1] while output.length < digits
|
|
@@ -13,10 +17,14 @@ module Faker
|
|
|
13
17
|
output[0...digits]
|
|
14
18
|
end
|
|
15
19
|
|
|
16
|
-
def iban(
|
|
20
|
+
def iban(legacy_country_code = NOT_GIVEN, country_code: 'GB')
|
|
17
21
|
# Each country has it's own format for bank accounts
|
|
18
22
|
# Many of them use letters in certain parts of the account
|
|
19
23
|
# Using regex patterns we can create virtually any type of bank account
|
|
24
|
+
warn_for_deprecated_arguments do |keywords|
|
|
25
|
+
keywords << :country_code if legacy_country_code != NOT_GIVEN
|
|
26
|
+
end
|
|
27
|
+
|
|
20
28
|
begin
|
|
21
29
|
pattern = fetch("bank.iban_details.#{country_code.downcase}.bban_pattern")
|
|
22
30
|
rescue I18n::MissingTranslationData
|
|
@@ -3,7 +3,22 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Boolean < Base
|
|
5
5
|
class << self
|
|
6
|
-
|
|
6
|
+
##
|
|
7
|
+
# Produces a boolean
|
|
8
|
+
#
|
|
9
|
+
# @param true_ratio [Float] The likelihood (as a float, out of 1.0) for the method to return `true`.
|
|
10
|
+
# @return [Boolean]
|
|
11
|
+
#
|
|
12
|
+
# @example
|
|
13
|
+
# Faker::Boolean.boolean #=> true
|
|
14
|
+
# @example
|
|
15
|
+
# Faker::Boolean.boolean(true_ratio: 0.2) #=> false
|
|
16
|
+
#
|
|
17
|
+
# @faker.version 1.6.2
|
|
18
|
+
def boolean(legacy_true_ratio = NOT_GIVEN, true_ratio: 0.5)
|
|
19
|
+
warn_for_deprecated_arguments do |keywords|
|
|
20
|
+
keywords << :true_ratio if legacy_true_ratio != NOT_GIVEN
|
|
21
|
+
end
|
|
7
22
|
(rand < true_ratio)
|
|
8
23
|
end
|
|
9
24
|
end
|
|
@@ -6,7 +6,12 @@ module Faker
|
|
|
6
6
|
@last_rut = nil
|
|
7
7
|
|
|
8
8
|
# Fixed param added for testing a specific RUT and check digit combination.
|
|
9
|
-
def rut(
|
|
9
|
+
def rut(legacy_min_rut = NOT_GIVEN, legacy_fixed = NOT_GIVEN, min_rut: 1, fixed: false)
|
|
10
|
+
warn_for_deprecated_arguments do |keywords|
|
|
11
|
+
keywords << :min_rut if legacy_min_rut != NOT_GIVEN
|
|
12
|
+
keywords << :fixed if legacy_fixed != NOT_GIVEN
|
|
13
|
+
end
|
|
14
|
+
|
|
10
15
|
@last_rut = fixed ? min_rut : rand_in_range(min_rut, 99_999_999)
|
|
11
16
|
end
|
|
12
17
|
|
|
@@ -34,8 +39,13 @@ module Faker
|
|
|
34
39
|
dv
|
|
35
40
|
end
|
|
36
41
|
|
|
37
|
-
def full_rut(
|
|
38
|
-
|
|
42
|
+
def full_rut(legacy_min_rut = NOT_GIVEN, legacy_fixed = NOT_GIVEN, min_rut: 0, fixed: false)
|
|
43
|
+
warn_for_deprecated_arguments do |keywords|
|
|
44
|
+
keywords << :min_rut if legacy_min_rut != NOT_GIVEN
|
|
45
|
+
keywords << :fixed if legacy_fixed != NOT_GIVEN
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
"#{rut(min_rut: min_rut, fixed: fixed)}-#{dv}"
|
|
39
49
|
end
|
|
40
50
|
|
|
41
51
|
attr_reader :last_rut
|