faker 2.14.0 → 2.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +83 -0
- data/README.md +9 -0
- data/lib/faker.rb +37 -15
- data/lib/faker/blockchain/aeternity.rb +4 -4
- data/lib/faker/books/dune.rb +15 -2
- data/lib/faker/books/lovecraft.rb +8 -4
- data/lib/faker/default/address.rb +4 -4
- data/lib/faker/default/bank.rb +3 -5
- data/lib/faker/default/barcode.rb +11 -11
- data/lib/faker/default/beer.rb +3 -3
- data/lib/faker/default/camera.rb +46 -0
- data/lib/faker/default/chile_rut.rb +3 -2
- data/lib/faker/default/code.rb +2 -2
- data/lib/faker/default/commerce.rb +1 -1
- data/lib/faker/default/company.rb +40 -10
- data/lib/faker/default/driving_licence.rb +1 -1
- data/lib/faker/default/drone.rb +25 -25
- data/lib/faker/default/faker_adjective.rb +35 -0
- data/lib/faker/default/finance.rb +21 -0
- data/lib/faker/default/food.rb +1 -1
- data/lib/faker/default/hipster.rb +8 -5
- data/lib/faker/default/id_number.rb +2 -2
- data/lib/faker/default/internet.rb +5 -4
- data/lib/faker/default/invoice.rb +1 -1
- data/lib/faker/default/json.rb +4 -4
- data/lib/faker/default/lorem.rb +2 -2
- data/lib/faker/default/measurement.rb +3 -2
- data/lib/faker/default/military.rb +26 -0
- data/lib/faker/default/mountain.rb +33 -0
- data/lib/faker/default/number.rb +1 -1
- data/lib/faker/default/omniauth.rb +2 -0
- data/lib/faker/default/relationship.rb +1 -1
- data/lib/faker/default/space.rb +1 -1
- data/lib/faker/default/stripe.rb +3 -3
- data/lib/faker/default/vehicle.rb +1 -1
- data/lib/faker/fantasy/tolkien.rb +67 -0
- data/lib/faker/games/clash_of_clans.rb +48 -0
- data/lib/faker/games/control.rb +1 -1
- data/lib/faker/games/dnd.rb +6 -6
- data/lib/faker/games/elder_scrolls.rb +26 -0
- data/lib/faker/games/heroes.rb +13 -0
- data/lib/faker/games/minecraft.rb +65 -0
- data/lib/faker/games/street_fighter.rb +4 -4
- data/lib/faker/games/super_mario.rb +48 -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/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/room.rb +63 -0
- data/lib/faker/movies/star_wars.rb +2 -2
- data/lib/faker/music/hiphop.rb +48 -0
- data/lib/faker/music/opera.rb +237 -1
- data/lib/faker/quotes/quote.rb +26 -0
- data/lib/faker/sports/volleyball.rb +74 -0
- data/lib/faker/tv_shows/buffy.rb +17 -4
- data/lib/faker/tv_shows/final_space.rb +51 -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/unique_generator.rb +3 -0
- data/lib/locales/en/adjective.yml +179 -0
- 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/conan.yml +171 -0
- data/lib/locales/en/demographic.yml +218 -5
- 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 +3 -0
- data/lib/locales/en/dune.yml +401 -131
- 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/fresh_prince_of_bel_air.yml +1 -1
- 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/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/military.yml +179 -5
- data/lib/locales/en/minecraft.yml +273 -0
- data/lib/locales/en/mountain.yml +158 -0
- data/lib/locales/en/music.yml +451 -29
- data/lib/locales/en/myst.yml +87 -31
- data/lib/locales/en/naruto.yml +231 -0
- data/lib/locales/en/opera.yml +168 -0
- data/lib/locales/en/overwatch.yml +2650 -2622
- data/lib/locales/en/pokemon.yml +417 -4
- data/lib/locales/en/quote.yml +692 -163
- data/lib/locales/en/room.yml +68 -0
- data/lib/locales/en/source.yml +30 -0
- data/lib/locales/en/star_trek.yml +1 -1
- data/lib/locales/en/street_fighter.yml +4 -4
- data/lib/locales/en/studio_ghibli.yml +107 -0
- data/lib/locales/en/super_mario.yml +58 -0
- data/lib/locales/en/super_smash_bros.yml +16 -4
- data/lib/locales/en/tolkien.yml +2453 -0
- data/lib/locales/en/volleyball.yml +501 -0
- data/lib/locales/en/witcher.yml +389 -7
- data/lib/locales/en/world_of_warcraft.yml +122 -4
- data/lib/locales/en/zelda.yml +962 -4
- data/lib/locales/es.yml +56 -0
- data/lib/locales/ja.yml +5 -1
- data/lib/locales/pt-BR.yml +1 -1
- data/lib/locales/uk.yml +2 -0
- metadata +38 -10
- data/lib/locales/en/hobbit.yml +0 -19
- data/lib/locales/en/lord_of_the_rings.yml +0 -6
data/lib/faker/default/beer.rb
CHANGED
@@ -80,7 +80,7 @@ module Faker
|
|
80
80
|
#
|
81
81
|
# @faker.version 1.6.2
|
82
82
|
def ibu
|
83
|
-
rand(10..100)
|
83
|
+
"#{rand(10..100)} IBU"
|
84
84
|
end
|
85
85
|
|
86
86
|
##
|
@@ -93,7 +93,7 @@ module Faker
|
|
93
93
|
#
|
94
94
|
# @faker.version 1.6.2
|
95
95
|
def alcohol
|
96
|
-
rand(2.0..10.0).round(1)
|
96
|
+
"#{rand(2.0..10.0).round(1)}%"
|
97
97
|
end
|
98
98
|
|
99
99
|
##
|
@@ -106,7 +106,7 @@ module Faker
|
|
106
106
|
#
|
107
107
|
# @faker.version 1.6.2
|
108
108
|
def blg
|
109
|
-
rand(5.0..20.0).round(1)
|
109
|
+
"#{rand(5.0..20.0).round(1)}°Blg"
|
110
110
|
end
|
111
111
|
end
|
112
112
|
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Camera < Base
|
5
|
+
class << self
|
6
|
+
##
|
7
|
+
# Produces a brand of a camera
|
8
|
+
#
|
9
|
+
# @return [String]
|
10
|
+
#
|
11
|
+
# @example
|
12
|
+
# Faker::Camera.brand #=> "Canon"
|
13
|
+
#
|
14
|
+
# @faker.version next
|
15
|
+
def brand
|
16
|
+
fetch('camera.brand')
|
17
|
+
end
|
18
|
+
|
19
|
+
##
|
20
|
+
# Produces a model of camera
|
21
|
+
#
|
22
|
+
# @return [String]
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
# Faker::Camera.model #=> "450D"
|
26
|
+
#
|
27
|
+
# @faker.version next
|
28
|
+
def model
|
29
|
+
fetch('camera.model')
|
30
|
+
end
|
31
|
+
|
32
|
+
##
|
33
|
+
# Produces a brand with model
|
34
|
+
#
|
35
|
+
# @return [String]
|
36
|
+
#
|
37
|
+
# @example
|
38
|
+
# Faker::Camera.brand_with_model #=> "Canon 450D"
|
39
|
+
#
|
40
|
+
# @faker.version next
|
41
|
+
def brand_with_model
|
42
|
+
fetch('camera.brand_with_model')
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -46,9 +46,10 @@ module Faker
|
|
46
46
|
partial_result
|
47
47
|
end
|
48
48
|
partial_check_digit = 11 - (digit_sum % 11)
|
49
|
-
|
49
|
+
case partial_check_digit
|
50
|
+
when 11
|
50
51
|
'0'
|
51
|
-
|
52
|
+
when 10
|
52
53
|
'k'
|
53
54
|
else
|
54
55
|
partial_check_digit.to_s
|
data/lib/faker/default/code.rb
CHANGED
@@ -160,7 +160,7 @@ module Faker
|
|
160
160
|
partial = Array.new(7) { Faker::Config.random.rand(0..9) }.join
|
161
161
|
|
162
162
|
# Generate 9th digit
|
163
|
-
check_digit = generate_sin_check_digit(registry
|
163
|
+
check_digit = generate_sin_check_digit("#{registry}#{partial}0").to_s
|
164
164
|
|
165
165
|
registry + partial + check_digit
|
166
166
|
end
|
@@ -218,7 +218,7 @@ module Faker
|
|
218
218
|
def generate_base13_isbn
|
219
219
|
values = regexify(/\d{12}/)
|
220
220
|
remainder = sum(values) { |value, index| index.even? ? value.to_i : value.to_i * 3 } % 10
|
221
|
-
values << "-#{(
|
221
|
+
values << "-#{(10 - remainder) % 10}"
|
222
222
|
end
|
223
223
|
|
224
224
|
def sum(values)
|
@@ -121,7 +121,7 @@ module Faker
|
|
121
121
|
price = (rand(range) * 100).floor / 100.0
|
122
122
|
if as_string
|
123
123
|
price_parts = price.to_s.split('.')
|
124
|
-
price = price_parts[0]
|
124
|
+
price = "#{price_parts[0]}.#{price_parts[-1].ljust(2, '0')}"
|
125
125
|
end
|
126
126
|
price
|
127
127
|
end
|
@@ -162,10 +162,17 @@ module Faker
|
|
162
162
|
# @faker.version 1.8.5
|
163
163
|
#
|
164
164
|
# Get a random Spanish organization number. See more here https://es.wikipedia.org/wiki/N%C3%BAmero_de_identificaci%C3%B3n_fiscal
|
165
|
-
def spanish_organisation_number
|
165
|
+
def spanish_organisation_number(organization_type: nil)
|
166
166
|
# Valid leading character: A, B, C, D, E, F, G, H, J, N, P, Q, R, S, U, V, W
|
167
|
-
# 7 digit numbers
|
168
|
-
|
167
|
+
# format: 1 digit letter (organization type) + 7 digit numbers + 1 digit control (letter or number based on
|
168
|
+
# organization type)
|
169
|
+
letters = %w[A B C D E F G H J N P Q R S U V W]
|
170
|
+
|
171
|
+
organization_type = sample(letters) unless letters.include?(organization_type)
|
172
|
+
code = format('%07d', rand(10**7))
|
173
|
+
control = spanish_cif_control_digit(organization_type, code)
|
174
|
+
|
175
|
+
[organization_type, code, control].join
|
169
176
|
end
|
170
177
|
|
171
178
|
##
|
@@ -457,13 +464,11 @@ module Faker
|
|
457
464
|
end
|
458
465
|
end
|
459
466
|
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
control_digit
|
467
|
+
if (sum % 10).zero?
|
468
|
+
0
|
469
|
+
else
|
470
|
+
(sum / 10 + 1) * 10 - sum
|
471
|
+
end
|
467
472
|
end
|
468
473
|
|
469
474
|
def abn_checksum(abn)
|
@@ -528,6 +533,31 @@ module Faker
|
|
528
533
|
end % 11 % 10
|
529
534
|
).to_s
|
530
535
|
end
|
536
|
+
|
537
|
+
def spanish_cif_control_digit(organization_type, code)
|
538
|
+
letters = %w[J A B C D E F G H]
|
539
|
+
|
540
|
+
control = code.split('').each_with_index.inject(0) do |sum, (value, index)|
|
541
|
+
if (index + 1).even?
|
542
|
+
sum + value.to_i
|
543
|
+
else
|
544
|
+
sum + spanish_b_algorithm(value.to_i)
|
545
|
+
end
|
546
|
+
end
|
547
|
+
|
548
|
+
control = control.to_s[-1].to_i
|
549
|
+
control = control.zero? ? control : 10 - control
|
550
|
+
|
551
|
+
%w[A B C D E F G H J U V].include?(organization_type) ? control : letters[control]
|
552
|
+
end
|
553
|
+
|
554
|
+
def spanish_b_algorithm(value)
|
555
|
+
result = value.to_i * 2
|
556
|
+
|
557
|
+
return result if result < 10
|
558
|
+
|
559
|
+
result.to_s[0].to_i + result.to_s[1].to_i
|
560
|
+
end
|
531
561
|
end
|
532
562
|
end
|
533
563
|
end
|
@@ -88,7 +88,7 @@ module Faker
|
|
88
88
|
# Faker::DrivingLicence.usa_driving_licence('new mexico') #=> "270692028"
|
89
89
|
# Faker::DrivingLicence.usa_driving_licence('New Mexico') #=> "68178637"
|
90
90
|
#
|
91
|
-
# @faker.version
|
91
|
+
# @faker.version 2.14.0
|
92
92
|
def usa_driving_licence(state = 'California')
|
93
93
|
bothify(fetch("driving_licence.usa.#{state.to_s.strip.downcase.gsub(' ', '_')}"))
|
94
94
|
rescue I18n::MissingTranslationData => _e
|
data/lib/faker/default/drone.rb
CHANGED
@@ -11,7 +11,7 @@ module Faker
|
|
11
11
|
# @example
|
12
12
|
# Faker::Drone.name #=> "DJI Mavic Air 2"
|
13
13
|
#
|
14
|
-
# @faker.version
|
14
|
+
# @faker.version 2.14.0
|
15
15
|
def name
|
16
16
|
fetch('drone.name')
|
17
17
|
end
|
@@ -24,7 +24,7 @@ module Faker
|
|
24
24
|
# @example
|
25
25
|
# Faker::Drone.weight #=> "570 g"
|
26
26
|
#
|
27
|
-
# @faker.version
|
27
|
+
# @faker.version 2.14.0
|
28
28
|
def weight
|
29
29
|
parse('drone.weight')
|
30
30
|
end
|
@@ -37,7 +37,7 @@ module Faker
|
|
37
37
|
# @example
|
38
38
|
# Faker::Drone.max_ascent_speed #=> "4 m/s"
|
39
39
|
#
|
40
|
-
# @faker.version
|
40
|
+
# @faker.version 2.14.0
|
41
41
|
def max_ascent_speed
|
42
42
|
parse('drone.max_ascent_speed')
|
43
43
|
end
|
@@ -50,7 +50,7 @@ module Faker
|
|
50
50
|
# @example
|
51
51
|
# Faker::Drone.max_descent_speed #=> "4 m/s"
|
52
52
|
#
|
53
|
-
# @faker.version
|
53
|
+
# @faker.version 2.14.0
|
54
54
|
def max_descent_speed
|
55
55
|
parse('drone.max_descent_speed')
|
56
56
|
end
|
@@ -63,7 +63,7 @@ module Faker
|
|
63
63
|
# @example
|
64
64
|
# Faker::Drone.flight_time #=> "34 min"
|
65
65
|
#
|
66
|
-
# @faker.version
|
66
|
+
# @faker.version 2.14.0
|
67
67
|
def flight_time
|
68
68
|
parse('drone.flight_time')
|
69
69
|
end
|
@@ -76,7 +76,7 @@ module Faker
|
|
76
76
|
# @example
|
77
77
|
# Faker::Drone.max_altitude #=> "5000 m"
|
78
78
|
#
|
79
|
-
# @faker.version
|
79
|
+
# @faker.version 2.14.0
|
80
80
|
def max_altitude
|
81
81
|
parse('drone.max_altitude')
|
82
82
|
end
|
@@ -89,7 +89,7 @@ module Faker
|
|
89
89
|
# @example
|
90
90
|
# Faker::Drone.max_flight_distance #=> "18500 m"
|
91
91
|
#
|
92
|
-
# @faker.version
|
92
|
+
# @faker.version 2.14.0
|
93
93
|
def max_flight_distance
|
94
94
|
parse('drone.max_flight_distance')
|
95
95
|
end
|
@@ -102,7 +102,7 @@ module Faker
|
|
102
102
|
# @example
|
103
103
|
# Faker::Drone.max_speed #=> "19 m/s"
|
104
104
|
#
|
105
|
-
# @faker.version
|
105
|
+
# @faker.version 2.14.0
|
106
106
|
def max_speed
|
107
107
|
parse('drone.max_speed')
|
108
108
|
end
|
@@ -115,7 +115,7 @@ module Faker
|
|
115
115
|
# @example
|
116
116
|
# Faker::Drone.max_wind_resistance #=> "10.5 m/s"
|
117
117
|
#
|
118
|
-
# @faker.version
|
118
|
+
# @faker.version 2.14.0
|
119
119
|
def max_wind_resistance
|
120
120
|
parse('drone.max_wind_resistance')
|
121
121
|
end
|
@@ -128,7 +128,7 @@ module Faker
|
|
128
128
|
# @example
|
129
129
|
# Faker::Drone.max_angular_velocity #=> "250 degree/s"
|
130
130
|
#
|
131
|
-
# @faker.version
|
131
|
+
# @faker.version 2.14.0
|
132
132
|
def max_angular_velocity
|
133
133
|
parse('drone.max_angular_velocity')
|
134
134
|
end
|
@@ -141,7 +141,7 @@ module Faker
|
|
141
141
|
# @example
|
142
142
|
# Faker::Drone.max_tilt_angle #=> "35 degrees"
|
143
143
|
#
|
144
|
-
# @faker.version
|
144
|
+
# @faker.version 2.14.0
|
145
145
|
def max_tilt_angle
|
146
146
|
parse('drone.max_tilt_angle')
|
147
147
|
end
|
@@ -154,7 +154,7 @@ module Faker
|
|
154
154
|
# @example
|
155
155
|
# Faker::Drone.operating_temperature #=> "14-104F"
|
156
156
|
#
|
157
|
-
# @faker.version
|
157
|
+
# @faker.version 2.14.0
|
158
158
|
def operating_temperature
|
159
159
|
parse('drone.operating_temperature')
|
160
160
|
end
|
@@ -167,7 +167,7 @@ module Faker
|
|
167
167
|
# @example
|
168
168
|
# Faker::Drone.battery_capacity #=> "3500 mAh"
|
169
169
|
#
|
170
|
-
# @faker.version
|
170
|
+
# @faker.version 2.14.0
|
171
171
|
def battery_capacity
|
172
172
|
parse('drone.battery_capacity')
|
173
173
|
end
|
@@ -180,7 +180,7 @@ module Faker
|
|
180
180
|
# @example
|
181
181
|
# Faker::Drone.battery_voltage #=> "13.2V"
|
182
182
|
#
|
183
|
-
# @faker.version
|
183
|
+
# @faker.version 2.14.0
|
184
184
|
def battery_voltage
|
185
185
|
parse('drone.battery_voltage')
|
186
186
|
end
|
@@ -193,7 +193,7 @@ module Faker
|
|
193
193
|
# @example
|
194
194
|
# Faker::Drone.battery_type #=> "LiPo 4S"
|
195
195
|
#
|
196
|
-
# @faker.version
|
196
|
+
# @faker.version 2.14.0
|
197
197
|
def battery_type
|
198
198
|
parse('drone.battery_type')
|
199
199
|
end
|
@@ -206,7 +206,7 @@ module Faker
|
|
206
206
|
# @example
|
207
207
|
# Faker::Drone.battery_weight #=> "198 g"
|
208
208
|
#
|
209
|
-
# @faker.version
|
209
|
+
# @faker.version 2.14.0
|
210
210
|
def battery_weight
|
211
211
|
parse('drone.battery_weight')
|
212
212
|
end
|
@@ -219,7 +219,7 @@ module Faker
|
|
219
219
|
# @example
|
220
220
|
# Faker::Drone.charging_temperature #=> "41-104F"
|
221
221
|
#
|
222
|
-
# @faker.version
|
222
|
+
# @faker.version 2.14.0
|
223
223
|
def charging_temperature
|
224
224
|
parse('drone.charging_temperature')
|
225
225
|
end
|
@@ -232,7 +232,7 @@ module Faker
|
|
232
232
|
# @example
|
233
233
|
# Faker::Drone.max_charging_power #=> "38W"
|
234
234
|
#
|
235
|
-
# @faker.version
|
235
|
+
# @faker.version 2.14.0
|
236
236
|
def max_charging_power
|
237
237
|
parse('drone.max_charging_power')
|
238
238
|
end
|
@@ -245,7 +245,7 @@ module Faker
|
|
245
245
|
# @example
|
246
246
|
# Faker::Drone.iso #=> "100-3200"
|
247
247
|
#
|
248
|
-
# @faker.version
|
248
|
+
# @faker.version 2.14.0
|
249
249
|
def iso
|
250
250
|
parse('drone.iso')
|
251
251
|
end
|
@@ -258,7 +258,7 @@ module Faker
|
|
258
258
|
# @example
|
259
259
|
# Faker::Drone.max_resolution #=> "48MP"
|
260
260
|
#
|
261
|
-
# @faker.version
|
261
|
+
# @faker.version 2.14.0
|
262
262
|
def max_resolution
|
263
263
|
parse('drone.max_resolution')
|
264
264
|
end
|
@@ -271,7 +271,7 @@ module Faker
|
|
271
271
|
# @example
|
272
272
|
# Faker::Drone.photo_format #=> "JPEG"
|
273
273
|
#
|
274
|
-
# @faker.version
|
274
|
+
# @faker.version 2.14.0
|
275
275
|
def photo_format
|
276
276
|
parse('drone.photo_format')
|
277
277
|
end
|
@@ -284,7 +284,7 @@ module Faker
|
|
284
284
|
# @example
|
285
285
|
# Faker::Drone.video_format #=> "MP4"
|
286
286
|
#
|
287
|
-
# @faker.version
|
287
|
+
# @faker.version 2.14.0
|
288
288
|
def video_format
|
289
289
|
parse('drone.video_format')
|
290
290
|
end
|
@@ -297,7 +297,7 @@ module Faker
|
|
297
297
|
# @example
|
298
298
|
# Faker::Drone.shutter_speed_range #=> "8-1/8000s"
|
299
299
|
#
|
300
|
-
# @faker.version
|
300
|
+
# @faker.version 2.14.0
|
301
301
|
def shutter_speed_range
|
302
302
|
"#{fetch('drone.max_shutter_speed')}-#{fetch('drone.min_shutter_speed')}#{fetch('drone.shutter_speed_units')}"
|
303
303
|
end
|
@@ -310,7 +310,7 @@ module Faker
|
|
310
310
|
# @example
|
311
311
|
# Faker::Drone.max_shutter_speed #=> "60s"
|
312
312
|
#
|
313
|
-
# @faker.version
|
313
|
+
# @faker.version 2.14.0
|
314
314
|
def max_shutter_speed
|
315
315
|
"#{fetch('drone.max_shutter_speed')}#{fetch('drone.shutter_speed_units')}"
|
316
316
|
end
|
@@ -323,7 +323,7 @@ module Faker
|
|
323
323
|
# @example
|
324
324
|
# Faker::Drone.min_shutter_speed #=> "1/8000s"
|
325
325
|
#
|
326
|
-
# @faker.version
|
326
|
+
# @faker.version 2.14.0
|
327
327
|
def min_shutter_speed
|
328
328
|
"#{fetch('drone.min_shutter_speed')}#{fetch('drone.shutter_speed_units')}"
|
329
329
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Adjective < Base
|
5
|
+
flexible :adjective
|
6
|
+
|
7
|
+
class << self
|
8
|
+
##
|
9
|
+
# Produces a positive adjective.
|
10
|
+
#
|
11
|
+
# @return [String]
|
12
|
+
#
|
13
|
+
# @example
|
14
|
+
# Faker::Adjective.positive #=> "Kind"
|
15
|
+
#
|
16
|
+
# @faker.version next
|
17
|
+
def positive
|
18
|
+
fetch('adjective.positive')
|
19
|
+
end
|
20
|
+
|
21
|
+
##
|
22
|
+
# Produces a negative adjective.
|
23
|
+
#
|
24
|
+
# @return [String]
|
25
|
+
#
|
26
|
+
# @example
|
27
|
+
# Faker::Adjective.negative #=> "Creepy"
|
28
|
+
#
|
29
|
+
# @faker.version next
|
30
|
+
def negative
|
31
|
+
fetch('adjective.negative')
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -6,6 +6,8 @@ module Faker
|
|
6
6
|
diners_club jcb switch solo dankort
|
7
7
|
maestro forbrugsforeningen laser].freeze
|
8
8
|
|
9
|
+
MARKET_LIST = %i[nyse nasdaq].freeze
|
10
|
+
|
9
11
|
class << self
|
10
12
|
##
|
11
13
|
# Produces a random credit card number.
|
@@ -63,6 +65,25 @@ module Faker
|
|
63
65
|
def vat_number_keys
|
64
66
|
translate('faker.finance.vat_number').keys
|
65
67
|
end
|
68
|
+
|
69
|
+
##
|
70
|
+
# Returns a randomly-selected stock ticker from a specified market.
|
71
|
+
#
|
72
|
+
# @param markets [String] The name of the market to choose the ticker from (e.g. NYSE, NASDAQ)
|
73
|
+
# @return [String]
|
74
|
+
#
|
75
|
+
# @example
|
76
|
+
# Faker::Finance.ticker #=> 'AMZN'
|
77
|
+
# Faker::Finance.vat_number('NASDAQ') #=> 'GOOG'
|
78
|
+
#
|
79
|
+
# @faker.version next
|
80
|
+
def ticker(*markets)
|
81
|
+
markets = MARKET_LIST if markets.empty?
|
82
|
+
market = sample(markets)
|
83
|
+
fetch("finance.ticker.#{market}")
|
84
|
+
rescue I18n::MissingTranslationData
|
85
|
+
raise ArgumentError, "Could not find market named #{market}"
|
86
|
+
end
|
66
87
|
end
|
67
88
|
end
|
68
89
|
end
|