faker 2.1.2 → 2.2.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 +24 -0
- data/README.md +2 -2
- data/lib/faker.rb +22 -1
- data/lib/faker/books/dune.rb +12 -2
- data/lib/faker/books/lovecraft.rb +54 -7
- data/lib/faker/default/address.rb +30 -5
- data/lib/faker/default/alphanumeric.rb +45 -7
- data/lib/faker/default/app.rb +16 -1
- data/lib/faker/default/avatar.rb +24 -1
- data/lib/faker/default/bank.rb +12 -2
- data/lib/faker/default/boolean.rb +6 -1
- data/lib/faker/default/chile_rut.rb +20 -2
- data/lib/faker/default/code.rb +22 -3
- data/lib/faker/default/commerce.rb +26 -3
- data/lib/faker/default/company.rb +12 -2
- data/lib/faker/default/crypto_coin.rb +18 -3
- data/lib/faker/default/date.rb +48 -5
- data/lib/faker/default/demographic.rb +6 -1
- data/lib/faker/default/driving_licence.rb +20 -4
- data/lib/faker/default/file.rb +36 -2
- data/lib/faker/default/fillmurray.rb +16 -1
- data/lib/faker/default/finance.rb +6 -1
- data/lib/faker/default/hipster.rb +78 -6
- data/lib/faker/default/id_number.rb +12 -2
- data/lib/faker/default/internet.rb +124 -13
- data/lib/faker/default/invoice.rb +22 -3
- data/lib/faker/default/json.rb +26 -2
- data/lib/faker/default/lorem.rb +120 -10
- data/lib/faker/default/lorem_flickr.rb +69 -5
- data/lib/faker/default/lorem_pixel.rb +26 -1
- data/lib/faker/default/markdown.rb +10 -1
- data/lib/faker/default/measurement.rb +48 -8
- data/lib/faker/default/name.rb +6 -1
- data/lib/faker/default/nhs.rb +6 -1
- data/lib/faker/default/number.rb +80 -10
- data/lib/faker/default/omniauth.rb +84 -5
- data/lib/faker/default/phone_number.rb +6 -1
- data/lib/faker/default/placeholdit.rb +24 -1
- data/lib/faker/default/relationship.rb +6 -1
- data/lib/faker/default/source.rb +22 -3
- data/lib/faker/default/string.rb +6 -1
- data/lib/faker/default/stripe.rb +24 -4
- data/lib/faker/default/time.rb +68 -4
- data/lib/faker/default/twitter.rb +26 -3
- data/lib/faker/default/types.rb +38 -5
- data/lib/faker/default/vehicle.rb +22 -3
- data/lib/faker/default/world_cup.rb +16 -2
- data/lib/faker/games/dota.rb +6 -1
- data/lib/faker/movies/star_wars.rb +6 -1
- data/lib/faker/version.rb +1 -1
- metadata +4 -4
@@ -5,23 +5,87 @@ module Faker
|
|
5
5
|
class << self
|
6
6
|
SUPPORTED_COLORIZATIONS = %w[red green blue].freeze
|
7
7
|
|
8
|
-
|
8
|
+
# rubocop:disable Metrics/ParameterLists
|
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
|
+
# rubocop:enable Metrics/ParameterLists
|
11
|
+
if legacy_size != NOT_GIVEN
|
12
|
+
warn_with_uplevel 'Passing `size` with the 1st argument of `LoremFlickr.image` is deprecated. Use keyword argument like `LoremFlickr.image(size: ...)` instead.', uplevel: 1
|
13
|
+
size = legacy_size
|
14
|
+
end
|
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
|
22
|
+
end
|
23
|
+
|
9
24
|
build_url(size, nil, search_terms, match_all)
|
10
25
|
end
|
11
26
|
|
12
|
-
|
27
|
+
# rubocop:disable Metrics/ParameterLists
|
28
|
+
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
|
+
# rubocop:enable Metrics/ParameterLists
|
30
|
+
if legacy_size != NOT_GIVEN
|
31
|
+
warn_with_uplevel 'Passing `size` with the 1st argument of `LoremFlickr.grayscale_image` is deprecated. Use keyword argument like `LoremFlickr.grayscale_image(size: ...)` instead.', uplevel: 1
|
32
|
+
size = legacy_size
|
33
|
+
end
|
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
|
41
|
+
end
|
42
|
+
|
13
43
|
raise ArgumentError, 'Search terms must be specified for grayscale images' unless search_terms.any?
|
14
44
|
|
15
45
|
build_url(size, 'g', search_terms, match_all)
|
16
46
|
end
|
17
47
|
|
18
|
-
|
48
|
+
# rubocop:disable Metrics/ParameterLists
|
49
|
+
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
|
+
# rubocop:enable Metrics/ParameterLists
|
51
|
+
if legacy_size != NOT_GIVEN
|
52
|
+
warn_with_uplevel 'Passing `size` with the 1st argument of `LoremFlickr.pixelated_image` is deprecated. Use keyword argument like `LoremFlickr.pixelated_image(size: ...)` instead.', uplevel: 1
|
53
|
+
size = legacy_size
|
54
|
+
end
|
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
|
62
|
+
end
|
63
|
+
|
19
64
|
raise ArgumentError, 'Search terms must be specified for pixelated images' unless search_terms.any?
|
20
65
|
|
21
66
|
build_url(size, 'p', search_terms, match_all)
|
22
67
|
end
|
23
68
|
|
24
|
-
|
69
|
+
# rubocop:disable Metrics/ParameterLists
|
70
|
+
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
|
+
# rubocop:enable Metrics/ParameterLists
|
72
|
+
if legacy_size != NOT_GIVEN
|
73
|
+
warn_with_uplevel 'Passing `size` with the 1st argument of `LoremFlickr.colorized_image` is deprecated. Use keyword argument like `LoremFlickr.colorized_image(size: ...)` instead.', uplevel: 1
|
74
|
+
size = legacy_size
|
75
|
+
end
|
76
|
+
if legacy_color != NOT_GIVEN
|
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
|
87
|
+
end
|
88
|
+
|
25
89
|
raise ArgumentError, 'Search terms must be specified for colorized images' unless search_terms.any?
|
26
90
|
raise ArgumentError, "Supported colorizations are #{SUPPORTED_COLORIZATIONS.join(', ')}" unless SUPPORTED_COLORIZATIONS.include?(color)
|
27
91
|
|
@@ -33,7 +97,7 @@ module Faker
|
|
33
97
|
def build_url(size, format, search_terms, match_all)
|
34
98
|
raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /^[0-9]+x[0-9]+$/
|
35
99
|
|
36
|
-
url_parts = ['
|
100
|
+
url_parts = ['https://loremflickr.com']
|
37
101
|
url_parts << format
|
38
102
|
url_parts += size.split('x')
|
39
103
|
url_parts << search_terms.compact.join(',') if search_terms.any?
|
@@ -18,7 +18,32 @@ module Faker
|
|
18
18
|
transport].freeze
|
19
19
|
|
20
20
|
# rubocop:disable Metrics/ParameterLists
|
21
|
-
def image(size: '300x300', is_gray: false, category: nil, number: nil, text: nil, secure: true)
|
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
|
+
if legacy_size != NOT_GIVEN
|
23
|
+
warn_with_uplevel 'Passing `size` with the 1st argument of `LoremPixel.image` is deprecated. Use keyword argument like `LoremPixel.image(size: ...)` instead.', uplevel: 1
|
24
|
+
size = legacy_size
|
25
|
+
end
|
26
|
+
if legacy_is_gray != NOT_GIVEN
|
27
|
+
warn_with_uplevel 'Passing `is_gray` with the 2nd argument of `LoremPixel.image` is deprecated. Use keyword argument like `LoremPixel.image(is_gray: ...)` instead.', uplevel: 1
|
28
|
+
is_gray = legacy_is_gray
|
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
|
45
|
+
end
|
46
|
+
|
22
47
|
raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /^[0-9]+x[0-9]+$/
|
23
48
|
raise ArgumentError, "Supported categories are #{SUPPORTED_CATEGORIES.join(', ')}" unless category.nil? || SUPPORTED_CATEGORIES.include?(category)
|
24
49
|
raise ArgumentError, 'Category required when number is passed' if !number.nil? && category.nil?
|
@@ -59,7 +59,16 @@ module Faker
|
|
59
59
|
send(method_list[rand(0..method_list.length - 1)])
|
60
60
|
end
|
61
61
|
|
62
|
-
def sandwich(sentences: 3, repeat: 1)
|
62
|
+
def sandwich(legacy_sentences = NOT_GIVEN, legacy_repeat = NOT_GIVEN, sentences: 3, repeat: 1)
|
63
|
+
if legacy_sentences != NOT_GIVEN
|
64
|
+
warn_with_uplevel 'Passing `sentences` with the 1st argument of `Markdown.sandwich` is deprecated. Use keyword argument like `Markdown.sandwich(sentences: ...)` instead.', uplevel: 1
|
65
|
+
sentences = legacy_sentences
|
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
|
70
|
+
end
|
71
|
+
|
63
72
|
text_block = []
|
64
73
|
text_block << headers
|
65
74
|
repeat.times do
|
@@ -6,35 +6,75 @@ module Faker
|
|
6
6
|
ALL = 'all'
|
7
7
|
NONE = 'none'
|
8
8
|
|
9
|
-
def height(amount: rand(10))
|
9
|
+
def height(legacy_amount = NOT_GIVEN, amount: rand(10))
|
10
|
+
if legacy_amount != NOT_GIVEN
|
11
|
+
warn_with_uplevel 'Passing `amount` with the 1st argument of `Measurement.height` is deprecated. Use keyword argument like `Measurement.height(amount: ...)` instead.', uplevel: 1
|
12
|
+
amount = legacy_amount
|
13
|
+
end
|
14
|
+
|
10
15
|
define_measurement_locale(amount, 'height')
|
11
16
|
end
|
12
17
|
|
13
|
-
def length(amount: rand(10))
|
18
|
+
def length(legacy_amount = NOT_GIVEN, amount: rand(10))
|
19
|
+
if legacy_amount != NOT_GIVEN
|
20
|
+
warn_with_uplevel 'Passing `amount` with the 1st argument of `Measurement.length` is deprecated. Use keyword argument like `Measurement.length(amount: ...)` instead.', uplevel: 1
|
21
|
+
amount = legacy_amount
|
22
|
+
end
|
23
|
+
|
14
24
|
define_measurement_locale(amount, 'length')
|
15
25
|
end
|
16
26
|
|
17
|
-
def volume(amount: rand(10))
|
27
|
+
def volume(legacy_amount = NOT_GIVEN, amount: rand(10))
|
28
|
+
if legacy_amount != NOT_GIVEN
|
29
|
+
warn_with_uplevel 'Passing `amount` with the 1st argument of `Measurement.volume` is deprecated. Use keyword argument like `Measurement.volume(amount: ...)` instead.', uplevel: 1
|
30
|
+
amount = legacy_amount
|
31
|
+
end
|
32
|
+
|
18
33
|
define_measurement_locale(amount, 'volume')
|
19
34
|
end
|
20
35
|
|
21
|
-
def weight(amount: rand(10))
|
36
|
+
def weight(legacy_amount = NOT_GIVEN, amount: rand(10))
|
37
|
+
if legacy_amount != NOT_GIVEN
|
38
|
+
warn_with_uplevel 'Passing `amount` with the 1st argument of `Measurement.weight` is deprecated. Use keyword argument like `Measurement.weight(amount: ...)` instead.', uplevel: 1
|
39
|
+
amount = legacy_amount
|
40
|
+
end
|
41
|
+
|
22
42
|
define_measurement_locale(amount, 'weight')
|
23
43
|
end
|
24
44
|
|
25
|
-
def metric_height(amount: rand(10))
|
45
|
+
def metric_height(legacy_amount = NOT_GIVEN, amount: rand(10))
|
46
|
+
if legacy_amount != NOT_GIVEN
|
47
|
+
warn_with_uplevel 'Passing `amount` with the 1st argument of `Measurement.metric_height` is deprecated. Use keyword argument like `Measurement.metric_height(amount: ...)` instead.', uplevel: 1
|
48
|
+
amount = legacy_amount
|
49
|
+
end
|
50
|
+
|
26
51
|
define_measurement_locale(amount, 'metric_height')
|
27
52
|
end
|
28
53
|
|
29
|
-
def metric_length(amount: rand(10))
|
54
|
+
def metric_length(legacy_amount = NOT_GIVEN, amount: rand(10))
|
55
|
+
if legacy_amount != NOT_GIVEN
|
56
|
+
warn_with_uplevel 'Passing `amount` with the 1st argument of `Measurement.metric_length` is deprecated. Use keyword argument like `Measurement.metric_length(amount: ...)` instead.', uplevel: 1
|
57
|
+
amount = legacy_amount
|
58
|
+
end
|
59
|
+
|
30
60
|
define_measurement_locale(amount, 'metric_length')
|
31
61
|
end
|
32
62
|
|
33
|
-
def metric_volume(amount: rand(10))
|
63
|
+
def metric_volume(legacy_amount = NOT_GIVEN, amount: rand(10))
|
64
|
+
if legacy_amount != NOT_GIVEN
|
65
|
+
warn_with_uplevel 'Passing `amount` with the 1st argument of `Measurement.metric_volume` is deprecated. Use keyword argument like `Measurement.metric_volume(amount: ...)` instead.', uplevel: 1
|
66
|
+
amount = legacy_amount
|
67
|
+
end
|
68
|
+
|
34
69
|
define_measurement_locale(amount, 'metric_volume')
|
35
70
|
end
|
36
71
|
|
37
|
-
def metric_weight(amount: rand(10))
|
72
|
+
def metric_weight(legacy_amount = NOT_GIVEN, amount: rand(10))
|
73
|
+
if legacy_amount != NOT_GIVEN
|
74
|
+
warn_with_uplevel 'Passing `amount` with the 1st argument of `Measurement.metric_weight` is deprecated. Use keyword argument like `Measurement.metric_weight(amount: ...)` instead.', uplevel: 1
|
75
|
+
amount = legacy_amount
|
76
|
+
end
|
77
|
+
|
38
78
|
define_measurement_locale(amount, 'metric_weight')
|
39
79
|
end
|
40
80
|
|
data/lib/faker/default/name.rb
CHANGED
@@ -46,7 +46,12 @@ module Faker
|
|
46
46
|
fetch('name.suffix')
|
47
47
|
end
|
48
48
|
|
49
|
-
def initials(number: 3)
|
49
|
+
def initials(legacy_number = NOT_GIVEN, number: 3)
|
50
|
+
if legacy_number != NOT_GIVEN
|
51
|
+
warn_with_uplevel 'Passing `number` with the 1st argument of `Name.initials` is deprecated. Use keyword argument like `Name.initials(number: ...)` instead.', uplevel: 1
|
52
|
+
number = legacy_number
|
53
|
+
end
|
54
|
+
|
50
55
|
(0...number).map { rand(65..90).chr }.join
|
51
56
|
end
|
52
57
|
end
|
data/lib/faker/default/nhs.rb
CHANGED
@@ -15,7 +15,12 @@ module Faker
|
|
15
15
|
.join('')
|
16
16
|
end
|
17
17
|
|
18
|
-
def check_digit(number: 0)
|
18
|
+
def check_digit(legacy_number = NOT_GIVEN, number: 0)
|
19
|
+
if legacy_number != NOT_GIVEN
|
20
|
+
warn_with_uplevel 'Passing `number` with the 1st argument of `NationalHealthService.check_digit` is deprecated. Use keyword argument like `NationalHealthService.check_digit(number: ...)` instead.', uplevel: 1
|
21
|
+
number = legacy_number
|
22
|
+
end
|
23
|
+
|
19
24
|
sum = 0
|
20
25
|
number.to_s.chars.each_with_index do |digit, idx|
|
21
26
|
position = idx + 1
|
data/lib/faker/default/number.rb
CHANGED
@@ -3,7 +3,12 @@
|
|
3
3
|
module Faker
|
4
4
|
class Number < Base
|
5
5
|
class << self
|
6
|
-
def number(digits: 10)
|
6
|
+
def number(legacy_digits = NOT_GIVEN, digits: 10)
|
7
|
+
if legacy_digits != NOT_GIVEN
|
8
|
+
warn_with_uplevel 'Passing `digits` with the 1st argument of `Number.number` is deprecated. Use keyword argument like `Number.number(digits: ...)` instead.', uplevel: 1
|
9
|
+
digits = legacy_digits
|
10
|
+
end
|
11
|
+
|
7
12
|
return if digits < 1
|
8
13
|
return 0 if digits == 1
|
9
14
|
|
@@ -11,11 +16,21 @@ module Faker
|
|
11
16
|
([non_zero_digit] + generate(digits - 1)).join.to_i
|
12
17
|
end
|
13
18
|
|
14
|
-
def leading_zero_number(digits: 10)
|
19
|
+
def leading_zero_number(legacy_digits = NOT_GIVEN, digits: 10)
|
20
|
+
if legacy_digits != NOT_GIVEN
|
21
|
+
warn_with_uplevel 'Passing `digits` with the 1st argument of `Number.leading_zero_number` is deprecated. Use keyword argument like `Number.leading_zero_number(digits: ...)` instead.', uplevel: 1
|
22
|
+
digits = legacy_digits
|
23
|
+
end
|
24
|
+
|
15
25
|
'0' + (2..digits).collect { digit }.join
|
16
26
|
end
|
17
27
|
|
18
|
-
def decimal_part(digits: 10)
|
28
|
+
def decimal_part(legacy_digits = NOT_GIVEN, digits: 10)
|
29
|
+
if legacy_digits != NOT_GIVEN
|
30
|
+
warn_with_uplevel 'Passing `digits` with the 1st argument of `Number.decimal_part` is deprecated. Use keyword argument like `Number.decimal_part(digits: ...)` instead.', uplevel: 1
|
31
|
+
digits = legacy_digits
|
32
|
+
end
|
33
|
+
|
19
34
|
num = ''
|
20
35
|
if digits > 1
|
21
36
|
num = non_zero_digit
|
@@ -24,7 +39,16 @@ module Faker
|
|
24
39
|
leading_zero_number(digits: digits) + num.to_s
|
25
40
|
end
|
26
41
|
|
27
|
-
def decimal(l_digits: 5, r_digits: 2)
|
42
|
+
def decimal(legacy_l_digits = NOT_GIVEN, legacy_r_digits = NOT_GIVEN, l_digits: 5, r_digits: 2)
|
43
|
+
if legacy_l_digits != NOT_GIVEN
|
44
|
+
warn_with_uplevel 'Passing `l_digits` with the 1st argument of `Number.decimal` is deprecated. Use keyword argument like `Number.decimal(l_digits: ...)` instead.', uplevel: 1
|
45
|
+
l_digits = legacy_l_digits
|
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
|
50
|
+
end
|
51
|
+
|
28
52
|
l_d = number(digits: l_digits)
|
29
53
|
r_d = if r_digits == 1
|
30
54
|
generate(r_digits)
|
@@ -44,34 +68,80 @@ module Faker
|
|
44
68
|
rand(10)
|
45
69
|
end
|
46
70
|
|
47
|
-
def hexadecimal(digits: 6)
|
71
|
+
def hexadecimal(legacy_digits = NOT_GIVEN, digits: 6)
|
72
|
+
if legacy_digits != NOT_GIVEN
|
73
|
+
warn_with_uplevel 'Passing `digits` with the 1st argument of `Number.hexadecimal` is deprecated. Use keyword argument like `Number.hexadecimal(digits: ...)` instead.', uplevel: 1
|
74
|
+
digits = legacy_digits
|
75
|
+
end
|
76
|
+
|
48
77
|
hex = ''
|
49
78
|
digits.times { hex += rand(15).to_s(16) }
|
50
79
|
hex
|
51
80
|
end
|
52
81
|
|
53
|
-
def normal(mean: 1, standard_deviation: 1)
|
82
|
+
def normal(legacy_mean = NOT_GIVEN, legacy_standard_deviation = NOT_GIVEN, mean: 1, standard_deviation: 1)
|
83
|
+
if legacy_mean != NOT_GIVEN
|
84
|
+
warn_with_uplevel 'Passing `mean` with the 1st argument of `Number.normal` is deprecated. Use keyword argument like `Number.normal(mean: ...)` instead.', uplevel: 1
|
85
|
+
mean = legacy_mean
|
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
|
90
|
+
end
|
91
|
+
|
54
92
|
theta = 2 * Math::PI * rand
|
55
93
|
rho = Math.sqrt(-2 * Math.log(1 - rand))
|
56
94
|
scale = standard_deviation * rho
|
57
95
|
mean + scale * Math.cos(theta)
|
58
96
|
end
|
59
97
|
|
60
|
-
def between(from: 1.00, to: 5000.00)
|
98
|
+
def between(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: 1.00, to: 5000.00)
|
99
|
+
if legacy_from != NOT_GIVEN
|
100
|
+
warn_with_uplevel 'Passing `from` with the 1st argument of `Number.between` is deprecated. Use keyword argument like `Number.between(from: ...)` instead.', uplevel: 1
|
101
|
+
from = legacy_from
|
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
|
106
|
+
end
|
107
|
+
|
61
108
|
Faker::Base.rand_in_range(from, to)
|
62
109
|
end
|
63
110
|
|
64
|
-
def within(range: 1.00..5000.00)
|
111
|
+
def within(legacy_range = NOT_GIVEN, range: 1.00..5000.00)
|
112
|
+
if legacy_range != NOT_GIVEN
|
113
|
+
warn_with_uplevel 'Passing `range` with the 1st argument of `Number.within` is deprecated. Use keyword argument like `Number.within(range: ...)` instead.', uplevel: 1
|
114
|
+
range = legacy_range
|
115
|
+
end
|
116
|
+
|
65
117
|
between(from: range.min, to: range.max)
|
66
118
|
end
|
67
119
|
|
68
|
-
def positive(from: 1.00, to: 5000.00)
|
120
|
+
def positive(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: 1.00, to: 5000.00)
|
121
|
+
if legacy_from != NOT_GIVEN
|
122
|
+
warn_with_uplevel 'Passing `from` with the 1st argument of `Number.positive` is deprecated. Use keyword argument like `Number.positive(from: ...)` instead.', uplevel: 1
|
123
|
+
from = legacy_from
|
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
|
128
|
+
end
|
129
|
+
|
69
130
|
random_number = between(from: from, to: to)
|
70
131
|
|
71
132
|
greater_than_zero(random_number)
|
72
133
|
end
|
73
134
|
|
74
|
-
def negative(from: -5000.00, to: -1.00)
|
135
|
+
def negative(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: -5000.00, to: -1.00)
|
136
|
+
if legacy_from != NOT_GIVEN
|
137
|
+
warn_with_uplevel 'Passing `from` with the 1st argument of `Number.negative` is deprecated. Use keyword argument like `Number.negative(from: ...)` instead.', uplevel: 1
|
138
|
+
from = legacy_from
|
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
|
143
|
+
end
|
144
|
+
|
75
145
|
random_number = between(from: from, to: to)
|
76
146
|
|
77
147
|
less_than_zero(random_number)
|
@@ -15,7 +15,22 @@ module Faker
|
|
15
15
|
end
|
16
16
|
|
17
17
|
class << self
|
18
|
-
|
18
|
+
# rubocop:disable Metrics/ParameterLists
|
19
|
+
def google(legacy_name = NOT_GIVEN, legacy_email = NOT_GIVEN, legacy_uid = NOT_GIVEN, name: nil, email: nil, uid: Number.number(digits: 9).to_s)
|
20
|
+
# rubocop:enable Metrics/ParameterLists
|
21
|
+
if legacy_name != NOT_GIVEN
|
22
|
+
warn_with_uplevel 'Passing `name` with the 1st argument of `Omniauth.google` is deprecated. Use keyword argument like `Omniauth.google(name: ...)` instead.', uplevel: 1
|
23
|
+
name = legacy_name
|
24
|
+
end
|
25
|
+
if legacy_email != NOT_GIVEN
|
26
|
+
warn_with_uplevel 'Passing `email` with the 2nd argument of `Omniauth.google` is deprecated. Use keyword argument like `Omniauth.google(email: ...)` instead.', uplevel: 1
|
27
|
+
email = legacy_email
|
28
|
+
end
|
29
|
+
if legacy_uid != NOT_GIVEN
|
30
|
+
warn_with_uplevel 'Passing `uid` with the 3rd argument of `Omniauth.google` is deprecated. Use keyword argument like `Omniauth.google(uid: ...)` instead.', uplevel: 1
|
31
|
+
uid = legacy_uid
|
32
|
+
end
|
33
|
+
|
19
34
|
auth = Omniauth.new(name: name, email: email)
|
20
35
|
{
|
21
36
|
provider: 'google_oauth2',
|
@@ -64,7 +79,26 @@ module Faker
|
|
64
79
|
}
|
65
80
|
end
|
66
81
|
|
67
|
-
|
82
|
+
# rubocop:disable Metrics/ParameterLists
|
83
|
+
def facebook(legacy_name = NOT_GIVEN, legacy_email = NOT_GIVEN, legacy_username = NOT_GIVEN, legacy_uid = NOT_GIVEN, name: nil, email: nil, username: nil, uid: Number.number(digits: 7).to_s)
|
84
|
+
# rubocop:enable Metrics/ParameterLists
|
85
|
+
if legacy_name != NOT_GIVEN
|
86
|
+
warn_with_uplevel 'Passing `name` with the 1st argument of `Omniauth.facebook` is deprecated. Use keyword argument like `Omniauth.facebook(name: ...)` instead.', uplevel: 1
|
87
|
+
name = legacy_name
|
88
|
+
end
|
89
|
+
if legacy_email != NOT_GIVEN
|
90
|
+
warn_with_uplevel 'Passing `email` with the 2nd argument of `Omniauth.facebook` is deprecated. Use keyword argument like `Omniauth.facebook(email: ...)` instead.', uplevel: 1
|
91
|
+
email = legacy_email
|
92
|
+
end
|
93
|
+
if legacy_username != NOT_GIVEN
|
94
|
+
warn_with_uplevel 'Passing `username` with the 3rd argument of `Omniauth.facebook` is deprecated. Use keyword argument like `Omniauth.facebook(username: ...)` instead.', uplevel: 1
|
95
|
+
username = legacy_username
|
96
|
+
end
|
97
|
+
if legacy_uid != NOT_GIVEN
|
98
|
+
warn_with_uplevel 'Passing `uid` with the 4th argument of `Omniauth.facebook` is deprecated. Use keyword argument like `Omniauth.facebook(uid: ...)` instead.', uplevel: 1
|
99
|
+
uid = legacy_uid
|
100
|
+
end
|
101
|
+
|
68
102
|
auth = Omniauth.new(name: name, email: email)
|
69
103
|
username ||= "#{auth.first_name.downcase[0]}#{auth.last_name.downcase}"
|
70
104
|
{
|
@@ -106,7 +140,22 @@ module Faker
|
|
106
140
|
}
|
107
141
|
end
|
108
142
|
|
109
|
-
|
143
|
+
# rubocop:disable Metrics/ParameterLists
|
144
|
+
def twitter(legacy_name = NOT_GIVEN, legacy_nickname = NOT_GIVEN, legacy_uid = NOT_GIVEN, name: nil, nickname: nil, uid: Number.number(digits: 6).to_s)
|
145
|
+
# rubocop:enable Metrics/ParameterLists
|
146
|
+
if legacy_name != NOT_GIVEN
|
147
|
+
warn_with_uplevel 'Passing `name` with the 1st argument of `Omniauth.twitter` is deprecated. Use keyword argument like `Omniauth.twitter(name: ...)` instead.', uplevel: 1
|
148
|
+
name = legacy_name
|
149
|
+
end
|
150
|
+
if legacy_nickname != NOT_GIVEN
|
151
|
+
warn_with_uplevel 'Passing `nickname` with the 2nd argument of `Omniauth.twitter` is deprecated. Use keyword argument like `Omniauth.twitter(nickname: ...)` instead.', uplevel: 1
|
152
|
+
nickname = legacy_nickname
|
153
|
+
end
|
154
|
+
if legacy_uid != NOT_GIVEN
|
155
|
+
warn_with_uplevel 'Passing `uid` with the 3rd argument of `Omniauth.twitter` is deprecated. Use keyword argument like `Omniauth.twitter(uid: ...)` instead.', uplevel: 1
|
156
|
+
uid = legacy_uid
|
157
|
+
end
|
158
|
+
|
110
159
|
auth = Omniauth.new(name: name)
|
111
160
|
nickname ||= auth.name.downcase.delete(' ')
|
112
161
|
location = city_state
|
@@ -179,7 +228,22 @@ module Faker
|
|
179
228
|
}
|
180
229
|
end
|
181
230
|
|
182
|
-
|
231
|
+
# rubocop:disable Metrics/ParameterLists
|
232
|
+
def linkedin(legacy_name = NOT_GIVEN, legacy_email = NOT_GIVEN, legacy_uid = NOT_GIVEN, name: nil, email: nil, uid: Number.number(digits: 6).to_s)
|
233
|
+
# rubocop:enable Metrics/ParameterLists
|
234
|
+
if legacy_name != NOT_GIVEN
|
235
|
+
warn_with_uplevel 'Passing `name` with the 1st argument of `Omniauth.linkedin` is deprecated. Use keyword argument like `Omniauth.linkedin(name: ...)` instead.', uplevel: 1
|
236
|
+
name = legacy_name
|
237
|
+
end
|
238
|
+
if legacy_email != NOT_GIVEN
|
239
|
+
warn_with_uplevel 'Passing `email` with the 2nd argument of `Omniauth.linkedin` is deprecated. Use keyword argument like `Omniauth.linkedin(email: ...)` instead.', uplevel: 1
|
240
|
+
email = legacy_email
|
241
|
+
end
|
242
|
+
if legacy_uid != NOT_GIVEN
|
243
|
+
warn_with_uplevel 'Passing `uid` with the 3rd argument of `Omniauth.linkedin` is deprecated. Use keyword argument like `Omniauth.linkedin(uid: ...)` instead.', uplevel: 1
|
244
|
+
uid = legacy_uid
|
245
|
+
end
|
246
|
+
|
183
247
|
auth = Omniauth.new(name: name, email: email)
|
184
248
|
first_name = auth.first_name.downcase
|
185
249
|
last_name = auth.last_name.downcase
|
@@ -242,7 +306,22 @@ module Faker
|
|
242
306
|
}
|
243
307
|
end
|
244
308
|
|
245
|
-
|
309
|
+
# rubocop:disable Metrics/ParameterLists
|
310
|
+
def github(legacy_name = NOT_GIVEN, legacy_email = NOT_GIVEN, legacy_uid = NOT_GIVEN, name: nil, email: nil, uid: Number.number(digits: 8).to_s)
|
311
|
+
# rubocop:enable Metrics/ParameterLists
|
312
|
+
if legacy_name != NOT_GIVEN
|
313
|
+
warn_with_uplevel 'Passing `name` with the 1st argument of `Omniauth.github` is deprecated. Use keyword argument like `Omniauth.github(name: ...)` instead.', uplevel: 1
|
314
|
+
name = legacy_name
|
315
|
+
end
|
316
|
+
if legacy_email != NOT_GIVEN
|
317
|
+
warn_with_uplevel 'Passing `email` with the 2nd argument of `Omniauth.github` is deprecated. Use keyword argument like `Omniauth.github(email: ...)` instead.', uplevel: 1
|
318
|
+
email = legacy_email
|
319
|
+
end
|
320
|
+
if legacy_uid != NOT_GIVEN
|
321
|
+
warn_with_uplevel 'Passing `uid` with the 3rd argument of `Omniauth.github` is deprecated. Use keyword argument like `Omniauth.github(uid: ...)` instead.', uplevel: 1
|
322
|
+
uid = legacy_uid
|
323
|
+
end
|
324
|
+
|
246
325
|
auth = Omniauth.new(name: name, email: email)
|
247
326
|
login = auth.name.downcase.tr(' ', '-')
|
248
327
|
html_url = "https://github.com/#{login}"
|