faker 2.10.0 → 2.13.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 +265 -0
- data/README.md +14 -2
- data/lib/faker.rb +20 -10
- data/lib/faker/default/address.rb +31 -1
- data/lib/faker/default/bank.rb +79 -0
- data/lib/faker/default/blood.rb +48 -0
- data/lib/faker/default/business.rb +1 -1
- data/lib/faker/default/cannabis.rb +80 -0
- data/lib/faker/default/chile_rut.rb +44 -1
- data/lib/faker/default/commerce.rb +73 -10
- data/lib/faker/default/company.rb +276 -7
- 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_coin.rb +45 -0
- data/lib/faker/default/date.rb +16 -12
- data/lib/faker/default/dc_comics.rb +45 -0
- data/lib/faker/default/driving_licence.rb +42 -0
- data/lib/faker/default/file.rb +51 -2
- data/lib/faker/default/finance.rb +24 -0
- data/lib/faker/default/funny_name.rb +45 -0
- data/lib/faker/default/gender.rb +1 -1
- data/lib/faker/default/hipster.rb +94 -0
- data/lib/faker/default/id_number.rb +86 -0
- data/lib/faker/default/internet.rb +64 -7
- data/lib/faker/default/internet_http.rb +48 -0
- data/lib/faker/default/invoice.rb +32 -5
- data/lib/faker/default/json.rb +55 -0
- data/lib/faker/default/lorem.rb +1 -1
- data/lib/faker/default/lorem_flickr.rb +65 -0
- data/lib/faker/default/lorem_pixel.rb +22 -0
- data/lib/faker/default/markdown.rb +89 -0
- data/lib/faker/default/measurement.rb +90 -0
- data/lib/faker/default/name.rb +98 -0
- data/lib/faker/default/nhs.rb +19 -0
- data/lib/faker/default/number.rb +5 -7
- data/lib/faker/default/omniauth.rb +105 -52
- data/lib/faker/default/phone_number.rb +88 -5
- data/lib/faker/default/placeholdit.rb +21 -0
- data/lib/faker/default/slack_emoji.rb +81 -0
- data/lib/faker/default/south_africa.rb +90 -0
- data/lib/faker/default/string.rb +19 -3
- data/lib/faker/default/stripe.rb +61 -0
- data/lib/faker/default/twitter.rb +35 -0
- data/lib/faker/default/types.rb +80 -0
- 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/games/control.rb +113 -0
- data/lib/faker/games/dnd.rb +61 -0
- data/lib/faker/games/heroes_of_the_storm.rb +16 -5
- data/lib/faker/games/minecraft.rb +48 -0
- data/lib/faker/games/warhammer_fantasy.rb +74 -0
- data/lib/faker/movies/departed.rb +49 -0
- data/lib/faker/movies/movie.rb +13 -0
- 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/rush.rb +37 -0
- data/lib/faker/music/show.rb +49 -0
- data/lib/faker/quotes/chiquito.rb +80 -0
- data/lib/faker/quotes/quote.rb +54 -1
- data/lib/faker/quotes/rajnikanth.rb +26 -0
- data/lib/faker/quotes/shakespeare.rb +36 -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/dr_who.rb +1 -1
- 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/version.rb +1 -1
- data/lib/helpers/base58.rb +1 -1
- data/lib/helpers/char.rb +22 -27
- data/lib/helpers/unique_generator.rb +4 -0
- data/lib/locales/bg.yml +2 -2
- data/lib/locales/ca.yml +0 -8
- data/lib/locales/da-DK.yml +3 -3
- data/lib/locales/de-CH.yml +1693 -0
- data/lib/locales/en-AU.yml +44 -10
- data/lib/locales/en-CA.yml +2 -0
- data/lib/locales/en-GB.yml +1 -1
- data/lib/locales/en-NEP.yml +1 -1
- data/lib/locales/en-NZ.yml +2 -0
- data/lib/locales/en-US.yml +29 -3
- data/lib/locales/en-ZA.yml +1 -1
- data/lib/locales/en/address.yml +2 -0
- data/lib/locales/en/aqua_teen_hunger_force.yml +33 -1
- data/lib/locales/en/bank.yml +1 -1
- data/lib/locales/en/big_bang_theory.yml +38 -0
- data/lib/locales/en/blood.yml +13 -0
- data/lib/locales/en/chiquito.yml +64 -0
- data/lib/locales/en/color.yml +1 -1
- data/lib/locales/en/computer.yml +36 -0
- data/lib/locales/en/control.yml +247 -0
- data/lib/locales/en/departed.yml +50 -0
- data/lib/locales/en/dnd.yml +54 -0
- data/lib/locales/en/futurama.yml +344 -0
- data/lib/locales/en/heroes_of_the_storm.yml +2 -2
- data/lib/locales/en/house.yml +1 -1
- data/lib/locales/en/minecraft.yml +390 -0
- data/lib/locales/en/movie.yml +192 -1
- data/lib/locales/en/name.yml +4 -3
- data/lib/locales/en/one_piece.yml +2 -2
- data/lib/locales/en/pearl_jam.yml +213 -0
- data/lib/locales/en/phish.yml +392 -1
- data/lib/locales/en/prince.yml +227 -0
- data/lib/locales/en/rajnikanth.yml +77 -0
- data/lib/locales/en/rush.yml +32 -0
- data/lib/locales/en/shakespeare.yml +3 -3
- data/lib/locales/en/show.yml +597 -0
- data/lib/locales/en/simpsons.yml +668 -0
- data/lib/locales/en/star_wars.yml +568 -220
- data/lib/locales/en/stripe.yml +3 -3
- data/lib/locales/en/suits.yml +45 -0
- data/lib/locales/en/warhammer_fantasy.yml +582 -0
- data/lib/locales/es-MX.yml +3 -0
- data/lib/locales/fr-CA.yml +7 -4
- data/lib/locales/fr-CH.yml +1 -1
- data/lib/locales/fr.yml +5 -4
- data/lib/locales/hy.yml +1 -6
- data/lib/locales/id.yml +2 -1
- data/lib/locales/ja.yml +1 -1
- data/lib/locales/ko.yml +82 -0
- data/lib/locales/pt-BR.yml +1 -0
- data/lib/locales/pt.yml +2 -2
- data/lib/locales/uk.yml +5 -5
- data/lib/locales/zh-CN.yml +1 -1
- data/lib/locales/zh-TW.yml +1 -1
- metadata +52 -19
data/lib/faker/default/bank.rb
CHANGED
|
@@ -5,6 +5,17 @@ module Faker
|
|
|
5
5
|
flexible :bank
|
|
6
6
|
|
|
7
7
|
class << self
|
|
8
|
+
##
|
|
9
|
+
# Produces a bank account number.
|
|
10
|
+
#
|
|
11
|
+
# @param digits [Integer] Number of digits that the generated account number should have.
|
|
12
|
+
# @return [String]
|
|
13
|
+
#
|
|
14
|
+
# @example
|
|
15
|
+
# Faker::Bank.account_number #=> 6738582379
|
|
16
|
+
# Faker::Bank.account_number(digits: 13) #=> 673858237902
|
|
17
|
+
#
|
|
18
|
+
# @faker.version 1.9.1
|
|
8
19
|
def account_number(legacy_digits = NOT_GIVEN, digits: 10)
|
|
9
20
|
warn_for_deprecated_arguments do |keywords|
|
|
10
21
|
keywords << :digits if legacy_digits != NOT_GIVEN
|
|
@@ -17,6 +28,17 @@ module Faker
|
|
|
17
28
|
output[0...digits]
|
|
18
29
|
end
|
|
19
30
|
|
|
31
|
+
##
|
|
32
|
+
# Produces a bank iban number.
|
|
33
|
+
#
|
|
34
|
+
# @param country_code [String] Specifies what country prefix is used to generate the iban code.
|
|
35
|
+
# @return [String]
|
|
36
|
+
#
|
|
37
|
+
# @example
|
|
38
|
+
# Faker::Bank.iban #=> "GB76DZJM33188515981979"
|
|
39
|
+
# Faker::Bank.iban(country_code: "be") #=> "BE6375388567752043"
|
|
40
|
+
#
|
|
41
|
+
# @faker.version 1.7.0
|
|
20
42
|
def iban(legacy_country_code = NOT_GIVEN, country_code: 'GB')
|
|
21
43
|
# Each country has its own format for bank accounts
|
|
22
44
|
# Many of them use letters in certain parts of the account
|
|
@@ -38,22 +60,72 @@ module Faker
|
|
|
38
60
|
country_code.upcase + iban_checksum(country_code, account) + account
|
|
39
61
|
end
|
|
40
62
|
|
|
63
|
+
##
|
|
64
|
+
# Produces a bank name.
|
|
65
|
+
#
|
|
66
|
+
# @return [String]
|
|
67
|
+
#
|
|
68
|
+
# @example
|
|
69
|
+
# Faker::Bank.name #=> "ABN AMRO CORPORATE FINANCE LIMITED"
|
|
70
|
+
#
|
|
71
|
+
# @faker.version 1.7.0
|
|
41
72
|
def name
|
|
42
73
|
fetch('bank.name')
|
|
43
74
|
end
|
|
44
75
|
|
|
76
|
+
##
|
|
77
|
+
# Produces a routing number.
|
|
78
|
+
#
|
|
79
|
+
# @return [String]
|
|
80
|
+
#
|
|
81
|
+
# @example
|
|
82
|
+
# Faker::Bank.routing_number #=> "729343831"
|
|
83
|
+
#
|
|
84
|
+
# @faker.version 1.9.1
|
|
45
85
|
def routing_number
|
|
46
86
|
valid_routing_number
|
|
47
87
|
end
|
|
48
88
|
|
|
89
|
+
##
|
|
90
|
+
# Produces a valid routing number.
|
|
91
|
+
#
|
|
92
|
+
# @return [String]
|
|
93
|
+
#
|
|
94
|
+
# @example
|
|
95
|
+
# Faker::Bank.routing_number #=> "729343831"
|
|
96
|
+
#
|
|
97
|
+
# @faker.version 1.9.1
|
|
49
98
|
def routing_number_with_format
|
|
50
99
|
compile_fraction(valid_routing_number)
|
|
51
100
|
end
|
|
52
101
|
|
|
102
|
+
##
|
|
103
|
+
# Produces a swift / bic number.
|
|
104
|
+
#
|
|
105
|
+
# @return [String]
|
|
106
|
+
#
|
|
107
|
+
# @example
|
|
108
|
+
# Faker::Bank.swift_bic #=> "AAFMGB21"
|
|
109
|
+
#
|
|
110
|
+
# @faker.version 1.7.0
|
|
53
111
|
def swift_bic
|
|
54
112
|
fetch('bank.swift_bic')
|
|
55
113
|
end
|
|
56
114
|
|
|
115
|
+
##
|
|
116
|
+
# Produces an Australian BSB (Bank-State-Branch) number
|
|
117
|
+
#
|
|
118
|
+
# @return [String]
|
|
119
|
+
#
|
|
120
|
+
# @example
|
|
121
|
+
# Faker::Bank.bsb_number
|
|
122
|
+
# #=> "036616"
|
|
123
|
+
#
|
|
124
|
+
# @faker.version 2.13.0
|
|
125
|
+
def bsb_number
|
|
126
|
+
compile_bsb_number
|
|
127
|
+
end
|
|
128
|
+
|
|
57
129
|
private
|
|
58
130
|
|
|
59
131
|
def checksum(num_string)
|
|
@@ -72,6 +144,13 @@ module Faker
|
|
|
72
144
|
routing_num
|
|
73
145
|
end
|
|
74
146
|
|
|
147
|
+
def compile_bsb_number
|
|
148
|
+
digit_one_two = %w[01 03 06 08 11 12 73 76 78 30]
|
|
149
|
+
state = (2..7).to_a.map(&:to_s).sample
|
|
150
|
+
bsb_num = digit_one_two.sample + state + rand_numstring + rand_numstring + rand_numstring
|
|
151
|
+
bsb_num
|
|
152
|
+
end
|
|
153
|
+
|
|
75
154
|
# Calculates the mandatory checksum in 3rd and 4th characters in IBAN format
|
|
76
155
|
# source: https://en.wikipedia.org/wiki/International_Bank_Account_Number#Validating_the_IBAN
|
|
77
156
|
def iban_checksum(country_code, account)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Faker
|
|
4
|
+
class Blood < Base
|
|
5
|
+
flexible :blood
|
|
6
|
+
|
|
7
|
+
class << self
|
|
8
|
+
##
|
|
9
|
+
# Produces a random blood type.
|
|
10
|
+
#
|
|
11
|
+
# @return [String]
|
|
12
|
+
#
|
|
13
|
+
# @example
|
|
14
|
+
# Faker::Blood.type #=> "AB"
|
|
15
|
+
#
|
|
16
|
+
# @faker.version 2.13.0
|
|
17
|
+
def type
|
|
18
|
+
fetch('blood.type')
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
##
|
|
22
|
+
# Produces a random blood RH-Factor.
|
|
23
|
+
#
|
|
24
|
+
# @return [String]
|
|
25
|
+
#
|
|
26
|
+
# @example
|
|
27
|
+
# Faker::Blood.rh_factor #=> "-"
|
|
28
|
+
#
|
|
29
|
+
# @faker.version 2.13.0
|
|
30
|
+
def rh_factor
|
|
31
|
+
fetch('blood.rh_factor')
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
##
|
|
35
|
+
# Produces a random blood group name.
|
|
36
|
+
#
|
|
37
|
+
# @return [String]
|
|
38
|
+
#
|
|
39
|
+
# @example
|
|
40
|
+
# Faker::Blood.group #=> "AB-"
|
|
41
|
+
#
|
|
42
|
+
# @faker.version 2.13.0
|
|
43
|
+
def group
|
|
44
|
+
parse('blood.group')
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -26,7 +26,7 @@ module Faker
|
|
|
26
26
|
# @return [Date]
|
|
27
27
|
#
|
|
28
28
|
# @example
|
|
29
|
-
# Faker::Business.
|
|
29
|
+
# Faker::Business.credit_card_expiry_date #=> <Date: 2015-11-11 ((2457338j,0s,0n),+0s,2299161j)>
|
|
30
30
|
#
|
|
31
31
|
# @faker.version 1.2.0
|
|
32
32
|
def credit_card_expiry_date
|
|
@@ -2,42 +2,122 @@
|
|
|
2
2
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Cannabis < Base
|
|
5
|
+
# Produces a random strain.
|
|
6
|
+
#
|
|
7
|
+
# @return [String]
|
|
8
|
+
#
|
|
9
|
+
# @example
|
|
10
|
+
# Faker::Cannabis.strain #=> "Super Glue"
|
|
11
|
+
#
|
|
12
|
+
# @faker.version 1.9.1
|
|
5
13
|
def self.strain
|
|
6
14
|
fetch('cannabis.strains')
|
|
7
15
|
end
|
|
8
16
|
|
|
17
|
+
# Produces a random abbreviation.
|
|
18
|
+
#
|
|
19
|
+
# @return [String]
|
|
20
|
+
#
|
|
21
|
+
# @example
|
|
22
|
+
# Faker::Cannabis.cannabinoid_abbreviation #=> "CBGa"
|
|
23
|
+
#
|
|
24
|
+
# @faker.version 1.9.1
|
|
9
25
|
def self.cannabinoid_abbreviation
|
|
10
26
|
fetch('cannabis.cannabinoid_abbreviations')
|
|
11
27
|
end
|
|
12
28
|
|
|
29
|
+
# Produces a random cannabinoid type.
|
|
30
|
+
#
|
|
31
|
+
# @return [String]
|
|
32
|
+
#
|
|
33
|
+
# @example
|
|
34
|
+
# Faker::Cannabis.cannabinoid #=> "Cannabinolic Acid"
|
|
35
|
+
#
|
|
36
|
+
# @faker.version 1.9.1
|
|
13
37
|
def self.cannabinoid
|
|
14
38
|
fetch('cannabis.cannabinoids')
|
|
15
39
|
end
|
|
16
40
|
|
|
41
|
+
# Produces a random terpene type.
|
|
42
|
+
#
|
|
43
|
+
# @return [String]
|
|
44
|
+
#
|
|
45
|
+
# @example
|
|
46
|
+
# Faker::Cannabis.terpene #=> "Terpinene"
|
|
47
|
+
#
|
|
48
|
+
# @faker.version 1.9.1
|
|
17
49
|
def self.terpene
|
|
18
50
|
fetch('cannabis.terpenes')
|
|
19
51
|
end
|
|
20
52
|
|
|
53
|
+
# Produces a random kind of medical use.
|
|
54
|
+
#
|
|
55
|
+
# @return [String]
|
|
56
|
+
#
|
|
57
|
+
# @example
|
|
58
|
+
# Faker::Cannabis.medical_use #=> "anti-cancer"
|
|
59
|
+
#
|
|
60
|
+
# @faker.version 1.9.1
|
|
21
61
|
def self.medical_use
|
|
22
62
|
fetch('cannabis.medical_uses')
|
|
23
63
|
end
|
|
24
64
|
|
|
65
|
+
# Produces a random health benefit.
|
|
66
|
+
#
|
|
67
|
+
# @return [String]
|
|
68
|
+
#
|
|
69
|
+
# @example
|
|
70
|
+
# Faker::Cannabis.health_benefit #=> "prevents infection"
|
|
71
|
+
#
|
|
72
|
+
# @faker.version 1.9.1
|
|
25
73
|
def self.health_benefit
|
|
26
74
|
fetch('cannabis.health_benefits')
|
|
27
75
|
end
|
|
28
76
|
|
|
77
|
+
# Produces a random category.
|
|
78
|
+
#
|
|
79
|
+
# @return [String]
|
|
80
|
+
#
|
|
81
|
+
# @example
|
|
82
|
+
# Faker::Cannabis.category #=> "crystalline"
|
|
83
|
+
#
|
|
84
|
+
# @faker.version 1.9.1
|
|
29
85
|
def self.category
|
|
30
86
|
fetch('cannabis.categories')
|
|
31
87
|
end
|
|
32
88
|
|
|
89
|
+
# Produces a random type.
|
|
90
|
+
#
|
|
91
|
+
# @return [String]
|
|
92
|
+
#
|
|
93
|
+
# @example
|
|
94
|
+
# Faker::Cannabis.type #=> "indica"
|
|
95
|
+
#
|
|
96
|
+
# @faker.version 1.9.1
|
|
33
97
|
def self.type
|
|
34
98
|
fetch('cannabis.types')
|
|
35
99
|
end
|
|
36
100
|
|
|
101
|
+
# Produces a random buzzword.
|
|
102
|
+
#
|
|
103
|
+
# @return [String]
|
|
104
|
+
#
|
|
105
|
+
# @example
|
|
106
|
+
# Faker::Cannabis.buzzword #=> "high"
|
|
107
|
+
#
|
|
108
|
+
# @faker.version 1.9.1
|
|
37
109
|
def self.buzzword
|
|
38
110
|
fetch('cannabis.buzzwords')
|
|
39
111
|
end
|
|
40
112
|
|
|
113
|
+
# Produces a random brand.
|
|
114
|
+
#
|
|
115
|
+
# @return [String]
|
|
116
|
+
#
|
|
117
|
+
# @example
|
|
118
|
+
# Faker::Cannabis.brand #=> "Cannavore Confections"
|
|
119
|
+
#
|
|
120
|
+
# @faker.version 1.9.1
|
|
41
121
|
def self.brand
|
|
42
122
|
fetch('cannabis.brands')
|
|
43
123
|
end
|
|
@@ -5,7 +5,19 @@ module Faker
|
|
|
5
5
|
class << self
|
|
6
6
|
@last_rut = nil
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
##
|
|
9
|
+
# Produces a random Chilean RUT (Rol Unico Tributario, ID with 8 digits).
|
|
10
|
+
#
|
|
11
|
+
# @param min_rut [Integer] Specifies the minimum value of the rut.
|
|
12
|
+
# @param fixed [Boolean] Determines if the rut is fixed (returns the min_rut value).
|
|
13
|
+
# @return [Number]
|
|
14
|
+
#
|
|
15
|
+
# @example
|
|
16
|
+
# Faker::ChileRut.rut #=> 11235813
|
|
17
|
+
# Faker::ChileRut.rut(min_rut: 20890156) #=> 31853211
|
|
18
|
+
# Faker::ChileRut.rut(min_rut: 20890156, fixed: true) #=> 20890156
|
|
19
|
+
#
|
|
20
|
+
# @faker.version 1.9.2
|
|
9
21
|
def rut(legacy_min_rut = NOT_GIVEN, legacy_fixed = NOT_GIVEN, min_rut: 1, fixed: false)
|
|
10
22
|
warn_for_deprecated_arguments do |keywords|
|
|
11
23
|
keywords << :min_rut if legacy_min_rut != NOT_GIVEN
|
|
@@ -15,6 +27,15 @@ module Faker
|
|
|
15
27
|
@last_rut = fixed ? min_rut : rand_in_range(min_rut, 99_999_999)
|
|
16
28
|
end
|
|
17
29
|
|
|
30
|
+
##
|
|
31
|
+
# Produces a random Chilean digito verificador (check-digit).
|
|
32
|
+
#
|
|
33
|
+
# @return [String]
|
|
34
|
+
#
|
|
35
|
+
# @example
|
|
36
|
+
# Faker::ChileRut.dv #=> "k"
|
|
37
|
+
#
|
|
38
|
+
# @faker.version 1.9.2
|
|
18
39
|
def dv
|
|
19
40
|
split_reversed_rut = @last_rut.to_s.reverse.split('')
|
|
20
41
|
seq = [2, 3, 4, 5, 6, 7]
|
|
@@ -34,11 +55,33 @@ module Faker
|
|
|
34
55
|
end
|
|
35
56
|
end
|
|
36
57
|
|
|
58
|
+
##
|
|
59
|
+
# Produces a random Chilean digito verificador (check-digit).
|
|
37
60
|
# Alias for english speaking devs.
|
|
61
|
+
#
|
|
62
|
+
# @return [String]
|
|
63
|
+
#
|
|
64
|
+
# @example
|
|
65
|
+
# Faker::ChileRut.check_digit #=> "5"
|
|
66
|
+
#
|
|
67
|
+
# @faker.version 1.9.2
|
|
38
68
|
def check_digit
|
|
39
69
|
dv
|
|
40
70
|
end
|
|
41
71
|
|
|
72
|
+
##
|
|
73
|
+
# Produces a random Chilean RUT (Rol Unico Tributario, ID with 8 digits) with a dv (digito verificador, check-digit).
|
|
74
|
+
#
|
|
75
|
+
# @param min_rut [Integer] Specifies the minimum value of the rut.
|
|
76
|
+
# @param fixed [Boolean] Determines if the rut is fixed (returns the min_rut value).
|
|
77
|
+
# @return [String]
|
|
78
|
+
#
|
|
79
|
+
# @example
|
|
80
|
+
# Faker::ChileRut.full_rut #=> "30686957-4"
|
|
81
|
+
# Faker::ChileRut.full_rut(min_rut: 20890156) #=> "30686957-4"
|
|
82
|
+
# Faker::ChileRut.full_rut(min_rut: 30686957, fixed: true) #=> "30686957-4"
|
|
83
|
+
#
|
|
84
|
+
# @faker.version 1.9.2
|
|
42
85
|
def full_rut(legacy_min_rut = NOT_GIVEN, legacy_fixed = NOT_GIVEN, min_rut: 0, fixed: false)
|
|
43
86
|
warn_for_deprecated_arguments do |keywords|
|
|
44
87
|
keywords << :min_rut if legacy_min_rut != NOT_GIVEN
|
|
@@ -3,10 +3,30 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Commerce < Base
|
|
5
5
|
class << self
|
|
6
|
+
##
|
|
7
|
+
# Produces a random color.
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
#
|
|
11
|
+
# @example
|
|
12
|
+
# Faker::Commerce.color #=> "lavender"
|
|
13
|
+
#
|
|
14
|
+
# @faker.version 1.2.0
|
|
6
15
|
def color
|
|
7
16
|
fetch('color.name')
|
|
8
17
|
end
|
|
9
18
|
|
|
19
|
+
##
|
|
20
|
+
# Produces a random promotion code.
|
|
21
|
+
#
|
|
22
|
+
# @param digits [Integer] Updates the number of numerical digits used to generate the promotion code.
|
|
23
|
+
# @return [String]
|
|
24
|
+
#
|
|
25
|
+
# @example
|
|
26
|
+
# Faker::Commerce.promotion_code #=> "AmazingDeal829102"
|
|
27
|
+
# Faker::Commerce.promotion_code(digits: 2) #=> "AmazingPrice57"
|
|
28
|
+
#
|
|
29
|
+
# @faker.version 1.7.0
|
|
10
30
|
def promotion_code(legacy_digits = NOT_GIVEN, digits: 6)
|
|
11
31
|
warn_for_deprecated_arguments do |keywords|
|
|
12
32
|
keywords << :digits if legacy_digits != NOT_GIVEN
|
|
@@ -19,6 +39,19 @@ module Faker
|
|
|
19
39
|
].join
|
|
20
40
|
end
|
|
21
41
|
|
|
42
|
+
##
|
|
43
|
+
# Produces a random department.
|
|
44
|
+
#
|
|
45
|
+
# @param max [Integer] Updates the maximum number of names used to generate the department name.
|
|
46
|
+
# @param fixed_amount [Boolean] Fixes the amount of departments to use instead of using a range.
|
|
47
|
+
# @return [String]
|
|
48
|
+
#
|
|
49
|
+
# @example
|
|
50
|
+
# Faker::Commerce.department #=> "Grocery, Health & Beauty"
|
|
51
|
+
# Faker::Commerce.department(max: 5) #=> "Grocery, Books, Health & Beauty"
|
|
52
|
+
# Faker::Commerce.department(max: 2, fixed_amount: true) #=> "Books & Tools"
|
|
53
|
+
#
|
|
54
|
+
# @faker.version 1.2.0
|
|
22
55
|
def department(legacy_max = NOT_GIVEN, legacy_fixed_amount = NOT_GIVEN, max: 3, fixed_amount: false)
|
|
23
56
|
warn_for_deprecated_arguments do |keywords|
|
|
24
57
|
keywords << :max if legacy_max != NOT_GIVEN
|
|
@@ -30,19 +63,55 @@ module Faker
|
|
|
30
63
|
|
|
31
64
|
categories = categories(num)
|
|
32
65
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
66
|
+
if categories.is_a?(Array)
|
|
67
|
+
if categories.length > 1
|
|
68
|
+
merge_categories(categories)
|
|
69
|
+
else
|
|
70
|
+
categories[0]
|
|
71
|
+
end
|
|
72
|
+
else
|
|
73
|
+
categories
|
|
74
|
+
end
|
|
36
75
|
end
|
|
37
76
|
|
|
77
|
+
##
|
|
78
|
+
# Produces a random product name.
|
|
79
|
+
#
|
|
80
|
+
# @return [String]
|
|
81
|
+
#
|
|
82
|
+
# @example
|
|
83
|
+
# Faker::Commerce.product_name #=> "Practical Granite Shirt"
|
|
84
|
+
#
|
|
85
|
+
# @faker.version 1.2.0
|
|
38
86
|
def product_name
|
|
39
87
|
"#{fetch('commerce.product_name.adjective')} #{fetch('commerce.product_name.material')} #{fetch('commerce.product_name.product')}"
|
|
40
88
|
end
|
|
41
89
|
|
|
90
|
+
##
|
|
91
|
+
# Produces a random material.
|
|
92
|
+
#
|
|
93
|
+
# @return [String]
|
|
94
|
+
#
|
|
95
|
+
# @example
|
|
96
|
+
# Faker::Commerce.material #=> "Plastic"
|
|
97
|
+
#
|
|
98
|
+
# @faker.version 1.5.0
|
|
42
99
|
def material
|
|
43
100
|
fetch('commerce.product_name.material')
|
|
44
101
|
end
|
|
45
102
|
|
|
103
|
+
##
|
|
104
|
+
# Produces a random product price.
|
|
105
|
+
#
|
|
106
|
+
# @param range [Range] A range to generate the random number within.
|
|
107
|
+
# @param as_string [Boolean] Changes the return value to [String].
|
|
108
|
+
# @return [Float]
|
|
109
|
+
#
|
|
110
|
+
# @example
|
|
111
|
+
# Faker::Commerce.price #=> 44.6
|
|
112
|
+
# Faker::Commerce.price(range: 0..10.0, as_string: true) #=> "2.18"
|
|
113
|
+
#
|
|
114
|
+
# @faker.version 1.2.0
|
|
46
115
|
def price(legacy_range = NOT_GIVEN, legacy_as_string = NOT_GIVEN, range: 0..100.0, as_string: false)
|
|
47
116
|
warn_for_deprecated_arguments do |keywords|
|
|
48
117
|
keywords << :range if legacy_range != NOT_GIVEN
|
|
@@ -60,13 +129,7 @@ module Faker
|
|
|
60
129
|
private
|
|
61
130
|
|
|
62
131
|
def categories(num)
|
|
63
|
-
|
|
64
|
-
while categories.length < num
|
|
65
|
-
category = fetch('commerce.department')
|
|
66
|
-
categories << category unless categories.include?(category)
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
categories
|
|
132
|
+
sample(fetch_all('commerce.department'), num)
|
|
70
133
|
end
|
|
71
134
|
|
|
72
135
|
def merge_categories(categories)
|