faker 2.1.0 → 2.2.2

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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +93 -3
  3. data/README.md +3 -3
  4. data/lib/faker.rb +56 -1
  5. data/lib/faker/blockchain/tezos.rb +6 -6
  6. data/lib/faker/books/dune.rb +10 -2
  7. data/lib/faker/books/lovecraft.rb +38 -7
  8. data/lib/faker/default/address.rb +25 -5
  9. data/lib/faker/default/alphanumeric.rb +39 -7
  10. data/lib/faker/default/app.rb +9 -1
  11. data/lib/faker/default/avatar.rb +11 -1
  12. data/lib/faker/default/bank.rb +10 -2
  13. data/lib/faker/default/boolean.rb +5 -1
  14. data/lib/faker/default/chile_rut.rb +12 -2
  15. data/lib/faker/default/code.rb +16 -3
  16. data/lib/faker/default/commerce.rb +17 -3
  17. data/lib/faker/default/company.rb +10 -2
  18. data/lib/faker/default/crypto_coin.rb +15 -3
  19. data/lib/faker/default/date.rb +37 -5
  20. data/lib/faker/default/demographic.rb +5 -1
  21. data/lib/faker/default/driving_licence.rb +10 -4
  22. data/lib/faker/default/file.rb +19 -2
  23. data/lib/faker/default/fillmurray.rb +9 -1
  24. data/lib/faker/default/finance.rb +5 -1
  25. data/lib/faker/default/hipster.rb +45 -6
  26. data/lib/faker/default/id_number.rb +48 -3
  27. data/lib/faker/default/internet.rb +89 -13
  28. data/lib/faker/default/invoice.rb +16 -3
  29. data/lib/faker/default/json.rb +19 -2
  30. data/lib/faker/default/lorem.rb +80 -10
  31. data/lib/faker/default/lorem_flickr.rb +38 -5
  32. data/lib/faker/default/lorem_pixel.rb +10 -1
  33. data/lib/faker/default/markdown.rb +6 -1
  34. data/lib/faker/default/measurement.rb +40 -8
  35. data/lib/faker/default/name.rb +5 -1
  36. data/lib/faker/default/nhs.rb +5 -1
  37. data/lib/faker/default/number.rb +56 -11
  38. data/lib/faker/default/omniauth.rb +50 -9
  39. data/lib/faker/default/phone_number.rb +5 -1
  40. data/lib/faker/default/placeholdit.rb +11 -1
  41. data/lib/faker/default/relationship.rb +5 -1
  42. data/lib/faker/default/source.rb +18 -3
  43. data/lib/faker/default/string.rb +5 -1
  44. data/lib/faker/default/stripe.rb +20 -4
  45. data/lib/faker/default/time.rb +37 -4
  46. data/lib/faker/default/twitter.rb +32 -18
  47. data/lib/faker/default/types.rb +27 -5
  48. data/lib/faker/default/vehicle.rb +17 -4
  49. data/lib/faker/default/world_cup.rb +11 -2
  50. data/lib/faker/games/dota.rb +5 -1
  51. data/lib/faker/movies/star_wars.rb +6 -4
  52. data/lib/faker/version.rb +1 -1
  53. data/lib/locales/en.yml +0 -49
  54. data/lib/locales/en/science.yml +1 -1
  55. metadata +18 -18
@@ -5,23 +5,56 @@ module Faker
5
5
  class << self
6
6
  SUPPORTED_COLORIZATIONS = %w[red green blue].freeze
7
7
 
8
- def image(size: '300x300', search_terms: [], match_all: false)
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
+ warn_for_deprecated_arguments do |keywords|
12
+ keywords << :size if legacy_size != NOT_GIVEN
13
+ keywords << :search_terms if legacy_search_terms != NOT_GIVEN
14
+ keywords << :match_all if legacy_match_all != NOT_GIVEN
15
+ end
16
+
9
17
  build_url(size, nil, search_terms, match_all)
10
18
  end
11
19
 
12
- def grayscale_image(size: '300x300', search_terms: ['all'], match_all: false)
20
+ # rubocop:disable Metrics/ParameterLists
21
+ def grayscale_image(legacy_size = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', search_terms: ['all'], match_all: false)
22
+ # rubocop:enable Metrics/ParameterLists
23
+ warn_for_deprecated_arguments do |keywords|
24
+ keywords << :size if legacy_size != NOT_GIVEN
25
+ keywords << :search_terms if legacy_search_terms != NOT_GIVEN
26
+ keywords << :match_all if legacy_match_all != NOT_GIVEN
27
+ end
28
+
13
29
  raise ArgumentError, 'Search terms must be specified for grayscale images' unless search_terms.any?
14
30
 
15
31
  build_url(size, 'g', search_terms, match_all)
16
32
  end
17
33
 
18
- def pixelated_image(size: '300x300', search_terms: ['all'], match_all: false)
34
+ # rubocop:disable Metrics/ParameterLists
35
+ def pixelated_image(legacy_size = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', search_terms: ['all'], match_all: false)
36
+ # rubocop:enable Metrics/ParameterLists
37
+ warn_for_deprecated_arguments do |keywords|
38
+ keywords << :size if legacy_size != NOT_GIVEN
39
+ keywords << :search_terms if legacy_search_terms != NOT_GIVEN
40
+ keywords << :match_all if legacy_match_all != NOT_GIVEN
41
+ end
42
+
19
43
  raise ArgumentError, 'Search terms must be specified for pixelated images' unless search_terms.any?
20
44
 
21
45
  build_url(size, 'p', search_terms, match_all)
22
46
  end
23
47
 
24
- def colorized_image(size: '300x300', color: 'red', search_terms: ['all'], match_all: false)
48
+ # rubocop:disable Metrics/ParameterLists
49
+ def colorized_image(legacy_size = NOT_GIVEN, legacy_color = NOT_GIVEN, legacy_search_terms = NOT_GIVEN, legacy_match_all = NOT_GIVEN, size: '300x300', color: 'red', search_terms: ['all'], match_all: false)
50
+ # rubocop:enable Metrics/ParameterLists
51
+ warn_for_deprecated_arguments do |keywords|
52
+ keywords << :size if legacy_size != NOT_GIVEN
53
+ keywords << :color if legacy_color != NOT_GIVEN
54
+ keywords << :search_terms if legacy_search_terms != NOT_GIVEN
55
+ keywords << :match_all if legacy_match_all != NOT_GIVEN
56
+ end
57
+
25
58
  raise ArgumentError, 'Search terms must be specified for colorized images' unless search_terms.any?
26
59
  raise ArgumentError, "Supported colorizations are #{SUPPORTED_COLORIZATIONS.join(', ')}" unless SUPPORTED_COLORIZATIONS.include?(color)
27
60
 
@@ -33,7 +66,7 @@ module Faker
33
66
  def build_url(size, format, search_terms, match_all)
34
67
  raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /^[0-9]+x[0-9]+$/
35
68
 
36
- url_parts = ['http://loremflickr.com']
69
+ url_parts = ['https://loremflickr.com']
37
70
  url_parts << format
38
71
  url_parts += size.split('x')
39
72
  url_parts << search_terms.compact.join(',') if search_terms.any?
@@ -18,7 +18,16 @@ 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
+ warn_for_deprecated_arguments do |keywords|
23
+ keywords << :size if legacy_size != NOT_GIVEN
24
+ keywords << :is_gray if legacy_is_gray != NOT_GIVEN
25
+ keywords << :category if legacy_category != NOT_GIVEN
26
+ keywords << :number if legacy_number != NOT_GIVEN
27
+ keywords << :text if legacy_text != NOT_GIVEN
28
+ keywords << :secure if legacy_secure != NOT_GIVEN
29
+ end
30
+
22
31
  raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /^[0-9]+x[0-9]+$/
23
32
  raise ArgumentError, "Supported categories are #{SUPPORTED_CATEGORIES.join(', ')}" unless category.nil? || SUPPORTED_CATEGORIES.include?(category)
24
33
  raise ArgumentError, 'Category required when number is passed' if !number.nil? && category.nil?
@@ -59,7 +59,12 @@ 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
+ warn_for_deprecated_arguments do |keywords|
64
+ keywords << :sentences if legacy_sentences != NOT_GIVEN
65
+ keywords << :repeat if legacy_repeat != NOT_GIVEN
66
+ end
67
+
63
68
  text_block = []
64
69
  text_block << headers
65
70
  repeat.times do
@@ -6,35 +6,67 @@ 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
+ warn_for_deprecated_arguments do |keywords|
11
+ keywords << :amount if legacy_amount != NOT_GIVEN
12
+ end
13
+
10
14
  define_measurement_locale(amount, 'height')
11
15
  end
12
16
 
13
- def length(amount: rand(10))
17
+ def length(legacy_amount = NOT_GIVEN, amount: rand(10))
18
+ warn_for_deprecated_arguments do |keywords|
19
+ keywords << :amount if legacy_amount != NOT_GIVEN
20
+ end
21
+
14
22
  define_measurement_locale(amount, 'length')
15
23
  end
16
24
 
17
- def volume(amount: rand(10))
25
+ def volume(legacy_amount = NOT_GIVEN, amount: rand(10))
26
+ warn_for_deprecated_arguments do |keywords|
27
+ keywords << :amount if legacy_amount != NOT_GIVEN
28
+ end
29
+
18
30
  define_measurement_locale(amount, 'volume')
19
31
  end
20
32
 
21
- def weight(amount: rand(10))
33
+ def weight(legacy_amount = NOT_GIVEN, amount: rand(10))
34
+ warn_for_deprecated_arguments do |keywords|
35
+ keywords << :amount if legacy_amount != NOT_GIVEN
36
+ end
37
+
22
38
  define_measurement_locale(amount, 'weight')
23
39
  end
24
40
 
25
- def metric_height(amount: rand(10))
41
+ def metric_height(legacy_amount = NOT_GIVEN, amount: rand(10))
42
+ warn_for_deprecated_arguments do |keywords|
43
+ keywords << :amount if legacy_amount != NOT_GIVEN
44
+ end
45
+
26
46
  define_measurement_locale(amount, 'metric_height')
27
47
  end
28
48
 
29
- def metric_length(amount: rand(10))
49
+ def metric_length(legacy_amount = NOT_GIVEN, amount: rand(10))
50
+ warn_for_deprecated_arguments do |keywords|
51
+ keywords << :amount if legacy_amount != NOT_GIVEN
52
+ end
53
+
30
54
  define_measurement_locale(amount, 'metric_length')
31
55
  end
32
56
 
33
- def metric_volume(amount: rand(10))
57
+ def metric_volume(legacy_amount = NOT_GIVEN, amount: rand(10))
58
+ warn_for_deprecated_arguments do |keywords|
59
+ keywords << :amount if legacy_amount != NOT_GIVEN
60
+ end
61
+
34
62
  define_measurement_locale(amount, 'metric_volume')
35
63
  end
36
64
 
37
- def metric_weight(amount: rand(10))
65
+ def metric_weight(legacy_amount = NOT_GIVEN, amount: rand(10))
66
+ warn_for_deprecated_arguments do |keywords|
67
+ keywords << :amount if legacy_amount != NOT_GIVEN
68
+ end
69
+
38
70
  define_measurement_locale(amount, 'metric_weight')
39
71
  end
40
72
 
@@ -46,7 +46,11 @@ 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
+ warn_for_deprecated_arguments do |keywords|
51
+ keywords << :number if legacy_number != NOT_GIVEN
52
+ end
53
+
50
54
  (0...number).map { rand(65..90).chr }.join
51
55
  end
52
56
  end
@@ -15,7 +15,11 @@ 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
+ warn_for_deprecated_arguments do |keywords|
20
+ keywords << :number if legacy_number != NOT_GIVEN
21
+ end
22
+
19
23
  sum = 0
20
24
  number.to_s.chars.each_with_index do |digit, idx|
21
25
  position = idx + 1
@@ -3,19 +3,31 @@
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
+ warn_for_deprecated_arguments do |keywords|
8
+ keywords << :digits if legacy_digits != NOT_GIVEN
9
+ end
10
+
7
11
  return if digits < 1
8
- return 0 if digits == 1
12
+ return rand(0..9).round if digits == 1
9
13
 
10
14
  # Ensure the first digit is not zero
11
15
  ([non_zero_digit] + generate(digits - 1)).join.to_i
12
16
  end
13
17
 
14
- def leading_zero_number(digits: 10)
18
+ def leading_zero_number(legacy_digits = NOT_GIVEN, digits: 10)
19
+ warn_for_deprecated_arguments do |keywords|
20
+ keywords << :digits if legacy_digits != NOT_GIVEN
21
+ end
22
+
15
23
  '0' + (2..digits).collect { digit }.join
16
24
  end
17
25
 
18
- def decimal_part(digits: 10)
26
+ def decimal_part(legacy_digits = NOT_GIVEN, digits: 10)
27
+ warn_for_deprecated_arguments do |keywords|
28
+ keywords << :digits if legacy_digits != NOT_GIVEN
29
+ end
30
+
19
31
  num = ''
20
32
  if digits > 1
21
33
  num = non_zero_digit
@@ -24,7 +36,12 @@ module Faker
24
36
  leading_zero_number(digits: digits) + num.to_s
25
37
  end
26
38
 
27
- def decimal(l_digits: 5, r_digits: 2)
39
+ def decimal(legacy_l_digits = NOT_GIVEN, legacy_r_digits = NOT_GIVEN, l_digits: 5, r_digits: 2)
40
+ warn_for_deprecated_arguments do |keywords|
41
+ keywords << :l_digits if legacy_l_digits != NOT_GIVEN
42
+ keywords << :r_digits if legacy_r_digits != NOT_GIVEN
43
+ end
44
+
28
45
  l_d = number(digits: l_digits)
29
46
  r_d = if r_digits == 1
30
47
  generate(r_digits)
@@ -44,34 +61,62 @@ module Faker
44
61
  rand(10)
45
62
  end
46
63
 
47
- def hexadecimal(digits: 6)
64
+ def hexadecimal(legacy_digits = NOT_GIVEN, digits: 6)
65
+ warn_for_deprecated_arguments do |keywords|
66
+ keywords << :digits if legacy_digits != NOT_GIVEN
67
+ end
68
+
48
69
  hex = ''
49
70
  digits.times { hex += rand(15).to_s(16) }
50
71
  hex
51
72
  end
52
73
 
53
- def normal(mean: 1, standard_deviation: 1)
74
+ def normal(legacy_mean = NOT_GIVEN, legacy_standard_deviation = NOT_GIVEN, mean: 1, standard_deviation: 1)
75
+ warn_for_deprecated_arguments do |keywords|
76
+ keywords << :mean if legacy_mean != NOT_GIVEN
77
+ keywords << :standard_deviation if legacy_standard_deviation != NOT_GIVEN
78
+ end
79
+
54
80
  theta = 2 * Math::PI * rand
55
81
  rho = Math.sqrt(-2 * Math.log(1 - rand))
56
82
  scale = standard_deviation * rho
57
83
  mean + scale * Math.cos(theta)
58
84
  end
59
85
 
60
- def between(from: 1.00, to: 5000.00)
86
+ def between(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: 1.00, to: 5000.00)
87
+ warn_for_deprecated_arguments do |keywords|
88
+ keywords << :from if legacy_from != NOT_GIVEN
89
+ keywords << :to if legacy_to != NOT_GIVEN
90
+ end
91
+
61
92
  Faker::Base.rand_in_range(from, to)
62
93
  end
63
94
 
64
- def within(range: 1.00..5000.00)
95
+ def within(legacy_range = NOT_GIVEN, range: 1.00..5000.00)
96
+ warn_for_deprecated_arguments do |keywords|
97
+ keywords << :range if legacy_range != NOT_GIVEN
98
+ end
99
+
65
100
  between(from: range.min, to: range.max)
66
101
  end
67
102
 
68
- def positive(from: 1.00, to: 5000.00)
103
+ def positive(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: 1.00, to: 5000.00)
104
+ warn_for_deprecated_arguments do |keywords|
105
+ keywords << :from if legacy_from != NOT_GIVEN
106
+ keywords << :to if legacy_to != NOT_GIVEN
107
+ end
108
+
69
109
  random_number = between(from: from, to: to)
70
110
 
71
111
  greater_than_zero(random_number)
72
112
  end
73
113
 
74
- def negative(from: -5000.00, to: -1.00)
114
+ def negative(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: -5000.00, to: -1.00)
115
+ warn_for_deprecated_arguments do |keywords|
116
+ keywords << :from if legacy_from != NOT_GIVEN
117
+ keywords << :to if legacy_to != NOT_GIVEN
118
+ end
119
+
75
120
  random_number = between(from: from, to: to)
76
121
 
77
122
  less_than_zero(random_number)
@@ -15,7 +15,15 @@ module Faker
15
15
  end
16
16
 
17
17
  class << self
18
- def google(name: nil, email: nil, uid: Number.number(digits: 9).to_s)
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
+ warn_for_deprecated_arguments do |keywords|
22
+ keywords << :name if legacy_name != NOT_GIVEN
23
+ keywords << :email if legacy_email != NOT_GIVEN
24
+ keywords << :uid if legacy_uid != NOT_GIVEN
25
+ end
26
+
19
27
  auth = Omniauth.new(name: name, email: email)
20
28
  {
21
29
  provider: 'google_oauth2',
@@ -27,7 +35,7 @@ module Faker
27
35
  email: auth.email,
28
36
  image: image
29
37
  },
30
- credentials: {
38
+ credentials: {
31
39
  token: Crypto.md5,
32
40
  refresh_token: Crypto.md5,
33
41
  expires_at: Time.forward.to_i,
@@ -35,7 +43,7 @@ module Faker
35
43
  },
36
44
  extra: {
37
45
  raw_info: {
38
- sub: uid,
46
+ sub: uid,
39
47
  email: auth.email,
40
48
  email_verified: random_boolean.to_s,
41
49
  name: auth.name,
@@ -64,7 +72,16 @@ module Faker
64
72
  }
65
73
  end
66
74
 
67
- def facebook(name: nil, email: nil, username: nil, uid: Number.number(digits: 7).to_s)
75
+ # rubocop:disable Metrics/ParameterLists
76
+ 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)
77
+ # rubocop:enable Metrics/ParameterLists
78
+ warn_for_deprecated_arguments do |keywords|
79
+ keywords << :name if legacy_name != NOT_GIVEN
80
+ keywords << :email if legacy_email != NOT_GIVEN
81
+ keywords << :username if legacy_username != NOT_GIVEN
82
+ keywords << :uid if legacy_uid != NOT_GIVEN
83
+ end
84
+
68
85
  auth = Omniauth.new(name: name, email: email)
69
86
  username ||= "#{auth.first_name.downcase[0]}#{auth.last_name.downcase}"
70
87
  {
@@ -106,7 +123,15 @@ module Faker
106
123
  }
107
124
  end
108
125
 
109
- def twitter(name: nil, nickname: nil, uid: Number.number(digits: 6).to_s)
126
+ # rubocop:disable Metrics/ParameterLists
127
+ 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)
128
+ # rubocop:enable Metrics/ParameterLists
129
+ warn_for_deprecated_arguments do |keywords|
130
+ keywords << :name if legacy_name != NOT_GIVEN
131
+ keywords << :nickname if legacy_nickname != NOT_GIVEN
132
+ keywords << :uid if legacy_uid != NOT_GIVEN
133
+ end
134
+
110
135
  auth = Omniauth.new(name: name)
111
136
  nickname ||= auth.name.downcase.delete(' ')
112
137
  location = city_state
@@ -179,7 +204,15 @@ module Faker
179
204
  }
180
205
  end
181
206
 
182
- def linkedin(name: nil, email: nil, uid: Number.number(digits: 6).to_s)
207
+ # rubocop:disable Metrics/ParameterLists
208
+ 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)
209
+ # rubocop:enable Metrics/ParameterLists
210
+ warn_for_deprecated_arguments do |keywords|
211
+ keywords << :name if legacy_name != NOT_GIVEN
212
+ keywords << :email if legacy_email != NOT_GIVEN
213
+ keywords << :uid if legacy_uid != NOT_GIVEN
214
+ end
215
+
183
216
  auth = Omniauth.new(name: name, email: email)
184
217
  first_name = auth.first_name.downcase
185
218
  last_name = auth.last_name.downcase
@@ -242,7 +275,15 @@ module Faker
242
275
  }
243
276
  end
244
277
 
245
- def github(name: nil, email: nil, uid: Number.number(digits: 8).to_s)
278
+ # rubocop:disable Metrics/ParameterLists
279
+ 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)
280
+ # rubocop:enable Metrics/ParameterLists
281
+ warn_for_deprecated_arguments do |keywords|
282
+ keywords << :name if legacy_name != NOT_GIVEN
283
+ keywords << :email if legacy_email != NOT_GIVEN
284
+ keywords << :uid if legacy_uid != NOT_GIVEN
285
+ end
286
+
246
287
  auth = Omniauth.new(name: name, email: email)
247
288
  login = auth.name.downcase.tr(' ', '-')
248
289
  html_url = "https://github.com/#{login}"
@@ -261,7 +302,7 @@ module Faker
261
302
  },
262
303
  credentials: {
263
304
  token: Crypto.md5,
264
- expires: false
305
+ expires: false
265
306
  },
266
307
  extra: {
267
308
  raw_info: {
@@ -281,7 +322,7 @@ module Faker
281
322
  events_url: "#{api_url}/events{/privacy}",
282
323
  received_events_url: "#{api_url}/received_events",
283
324
  type: 'User',
284
- site_admin: random_boolean,
325
+ site_admin: random_boolean,
285
326
  name: auth.name,
286
327
  company: nil,
287
328
  blog: nil,
@@ -40,7 +40,11 @@ module Faker
40
40
  # US and Canada only
41
41
  # Can be used for both extensions and last four digits of phone number.
42
42
  # Since extensions can be of variable length, this method taks a length parameter
43
- def subscriber_number(length: 4)
43
+ def subscriber_number(legacy_length = NOT_GIVEN, length: 4)
44
+ warn_for_deprecated_arguments do |keywords|
45
+ keywords << :length if legacy_length != NOT_GIVEN
46
+ end
47
+
44
48
  rand.to_s[2..(1 + length)]
45
49
  end
46
50