faker 2.0.0 → 2.2.1

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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +72 -1
  3. data/README.md +3 -3
  4. data/lib/faker.rb +22 -1
  5. data/lib/faker/books/dune.rb +12 -2
  6. data/lib/faker/books/lovecraft.rb +54 -7
  7. data/lib/faker/default/address.rb +30 -5
  8. data/lib/faker/default/alphanumeric.rb +45 -7
  9. data/lib/faker/default/app.rb +16 -1
  10. data/lib/faker/default/avatar.rb +24 -1
  11. data/lib/faker/default/bank.rb +12 -2
  12. data/lib/faker/default/boolean.rb +6 -1
  13. data/lib/faker/default/chile_rut.rb +20 -2
  14. data/lib/faker/default/code.rb +22 -3
  15. data/lib/faker/default/commerce.rb +26 -3
  16. data/lib/faker/default/company.rb +12 -2
  17. data/lib/faker/default/crypto_coin.rb +18 -3
  18. data/lib/faker/default/date.rb +48 -5
  19. data/lib/faker/default/demographic.rb +6 -1
  20. data/lib/faker/default/driving_licence.rb +20 -4
  21. data/lib/faker/default/file.rb +36 -2
  22. data/lib/faker/default/fillmurray.rb +16 -1
  23. data/lib/faker/default/finance.rb +6 -1
  24. data/lib/faker/default/hipster.rb +78 -6
  25. data/lib/faker/default/id_number.rb +50 -3
  26. data/lib/faker/default/internet.rb +124 -13
  27. data/lib/faker/default/invoice.rb +22 -3
  28. data/lib/faker/default/json.rb +26 -2
  29. data/lib/faker/default/lorem.rb +120 -10
  30. data/lib/faker/default/lorem_flickr.rb +69 -5
  31. data/lib/faker/default/lorem_pixel.rb +26 -1
  32. data/lib/faker/default/markdown.rb +10 -1
  33. data/lib/faker/default/measurement.rb +48 -8
  34. data/lib/faker/default/name.rb +6 -1
  35. data/lib/faker/default/nhs.rb +6 -1
  36. data/lib/faker/default/number.rb +81 -11
  37. data/lib/faker/default/omniauth.rb +84 -5
  38. data/lib/faker/default/phone_number.rb +6 -1
  39. data/lib/faker/default/placeholdit.rb +24 -1
  40. data/lib/faker/default/relationship.rb +6 -1
  41. data/lib/faker/default/source.rb +22 -3
  42. data/lib/faker/default/string.rb +6 -1
  43. data/lib/faker/default/stripe.rb +24 -4
  44. data/lib/faker/default/time.rb +68 -4
  45. data/lib/faker/default/twitter.rb +26 -3
  46. data/lib/faker/default/types.rb +38 -5
  47. data/lib/faker/default/vehicle.rb +22 -3
  48. data/lib/faker/default/world_cup.rb +16 -2
  49. data/lib/faker/games/dota.rb +6 -1
  50. data/lib/faker/movies/star_wars.rb +6 -1
  51. data/lib/faker/version.rb +1 -1
  52. data/lib/locales/en.yml +0 -47
  53. metadata +11 -11
@@ -3,7 +3,16 @@ module Faker
3
3
  require 'json'
4
4
 
5
5
  class << self
6
- def shallow_json(width: 3, options: { key: 'Name.first_name', value: 'Name.first_name' })
6
+ def shallow_json(legacy_width = NOT_GIVEN, legacy_options = NOT_GIVEN, width: 3, options: { key: 'Name.first_name', value: 'Name.first_name' })
7
+ if legacy_width != NOT_GIVEN
8
+ warn_with_uplevel 'Passing `width` with the 1st argument of `Json.shallow_json` is deprecated. Use keyword argument like `Json.shallow_json(width: ...)` instead.', uplevel: 1
9
+ width = legacy_width
10
+ end
11
+ if legacy_options != NOT_GIVEN
12
+ warn_with_uplevel 'Passing `options` with the 2nd argument of `Json.shallow_json` is deprecated. Use keyword argument like `Json.shallow_json(options: ...)` instead.', uplevel: 1
13
+ options = legacy_options
14
+ end
15
+
7
16
  options[:key] = 'Faker::' + options[:key]
8
17
  options[:value] = 'Faker::' + options[:value]
9
18
 
@@ -11,7 +20,22 @@ module Faker
11
20
  JSON.generate(hash)
12
21
  end
13
22
 
14
- def add_depth_to_json(json: shallow_json, width: 3, options: { key: 'Name.first_name', value: 'Name.first_name' })
23
+ # rubocop:disable Metrics/ParameterLists
24
+ def add_depth_to_json(legacy_json = NOT_GIVEN, legacy_width = NOT_GIVEN, legacy_options = NOT_GIVEN, json: shallow_json, width: 3, options: { key: 'Name.first_name', value: 'Name.first_name' })
25
+ # rubocop:enable Metrics/ParameterLists
26
+ if legacy_json != NOT_GIVEN
27
+ warn_with_uplevel 'Passing `json` with the 1st argument of `Json.add_depth_to_json` is deprecated. Use keyword argument like `Json.add_depth_to_json(json: ...)` instead.', uplevel: 1
28
+ json = legacy_json
29
+ end
30
+ if legacy_width != NOT_GIVEN
31
+ warn_with_uplevel 'Passing `width` with the 2nd argument of `Json.add_depth_to_json` is deprecated. Use keyword argument like `Json.add_depth_to_json(width: ...)` instead.', uplevel: 1
32
+ width = legacy_width
33
+ end
34
+ if legacy_options != NOT_GIVEN
35
+ warn_with_uplevel 'Passing `options` with the 3rd argument of `Json.add_depth_to_json` is deprecated. Use keyword argument like `Json.add_depth_to_json(options: ...)` instead.', uplevel: 1
36
+ options = legacy_options
37
+ end
38
+
15
39
  options[:key] = 'Faker::' + options[:key]
16
40
  options[:value] = 'Faker::' + options[:value]
17
41
 
@@ -8,7 +8,16 @@ module Faker
8
8
  sample(translate('faker.lorem.words'))
9
9
  end
10
10
 
11
- def words(number: 3, supplemental: false)
11
+ def words(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false)
12
+ if legacy_number != NOT_GIVEN
13
+ warn_with_uplevel 'Passing `number` with the 1st argument of `Lorem.words` is deprecated. Use keyword argument like `Lorem.words(number: ...)` instead.', uplevel: 1
14
+ number = legacy_number
15
+ end
16
+ if legacy_supplemental != NOT_GIVEN
17
+ warn_with_uplevel 'Passing `supplemental` with the 2nd argument of `Lorem.words` is deprecated. Use keyword argument like `Lorem.words(supplemental: ...)` instead.', uplevel: 1
18
+ supplemental = legacy_supplemental
19
+ end
20
+
12
21
  resolved_num = resolve(number)
13
22
  word_list = (
14
23
  translate('faker.lorem.words') +
@@ -22,31 +31,108 @@ module Faker
22
31
  sample(Types::CHARACTERS)
23
32
  end
24
33
 
25
- def characters(number: 255)
26
- Alphanumeric.alphanumeric(number: number)
34
+ ##
35
+ # Produces a random string of alphanumeric characters
36
+ #
37
+ # @param [Integer] number
38
+ # @param [Integer] min_alpha
39
+ # @param [Integer] min_numeric
40
+ #
41
+ # @return [String]
42
+ #
43
+ # @example Faker::Lorem.characters #=> "uw1ep04lhs0c4d931n1jmrspprf5wrj85fefue0y7y6m56b6omquh7br7dhqijwlawejpl765nb1716idmp3xnfo85v349pzy2o9rir23y2qhflwr71c1585fnynguiphkjm8p0vktwitcsm16lny7jzp9t4drwav3qmhz4yjq4k04x14gl6p148hulyqioo72tf8nwrxxcclfypz2lc58lsibgfe5w5p0xv95peafjjmm2frkhdc6duoky0aha"
44
+ # @example Faker::Lorem.characters(number: 10) #=> "ang9cbhoa8"
45
+ # @example Faker::Lorem.characters(number: 10, min_alpha: 4) #=> "ang9cbhoa8"
46
+ # @example Faker::Lorem.characters(number: 10, min_alpha: 4, min_numeric: 1) #=> "ang9cbhoa8"
47
+ #
48
+ # @faker.version 2.1.3
49
+ def characters(legacy_number = NOT_GIVEN, number: 255, min_alpha: 0, min_numeric: 0)
50
+ if legacy_number != NOT_GIVEN
51
+ warn_with_uplevel 'Passing `number` with the 1st argument of `Lorem.characters` is deprecated. Use keyword argument like `Lorem.characters(number: ...)` instead.', uplevel: 1
52
+ number = legacy_number
53
+ end
54
+
55
+ Alphanumeric.alphanumeric(number: number, min_alpha: min_alpha, min_numeric: min_numeric)
27
56
  end
28
57
 
29
58
  def multibyte
30
59
  sample(translate('faker.lorem.multibyte')).pack('C*').force_encoding('utf-8')
31
60
  end
32
61
 
33
- def sentence(word_count: 4, supplemental: false, random_words_to_add: 0)
62
+ # rubocop:disable Metrics/ParameterLists
63
+ def sentence(legacy_word_count = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, legacy_random_words_to_add = NOT_GIVEN, word_count: 4, supplemental: false, random_words_to_add: 0)
64
+ # rubocop:enable Metrics/ParameterLists
65
+ if legacy_word_count != NOT_GIVEN
66
+ warn_with_uplevel 'Passing `word_count` with the 1st argument of `Lorem.sentence` is deprecated. Use keyword argument like `Lorem.sentence(word_count: ...)` instead.', uplevel: 1
67
+ word_count = legacy_word_count
68
+ end
69
+ if legacy_supplemental != NOT_GIVEN
70
+ warn_with_uplevel 'Passing `supplemental` with the 2nd argument of `Lorem.sentence` is deprecated. Use keyword argument like `Lorem.sentence(supplemental: ...)` instead.', uplevel: 1
71
+ supplemental = legacy_supplemental
72
+ end
73
+ if legacy_random_words_to_add != NOT_GIVEN
74
+ warn_with_uplevel 'Passing `random_words_to_add` with the 3rd argument of `Lorem.sentence` is deprecated. Use keyword argument like `Lorem.sentence(random_words_to_add: ...)` instead.', uplevel: 1
75
+ random_words_to_add = legacy_random_words_to_add
76
+ end
77
+
34
78
  words(number: word_count + rand(random_words_to_add.to_i), supplemental: supplemental).join(' ').capitalize + locale_period
35
79
  end
36
80
 
37
- def sentences(number: 3, supplemental: false)
81
+ def sentences(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false)
82
+ if legacy_number != NOT_GIVEN
83
+ warn_with_uplevel 'Passing `number` with the 1st argument of `Lorem.sentences` is deprecated. Use keyword argument like `Lorem.sentences(number: ...)` instead.', uplevel: 1
84
+ number = legacy_number
85
+ end
86
+ if legacy_supplemental != NOT_GIVEN
87
+ warn_with_uplevel 'Passing `supplemental` with the 2nd argument of `Lorem.sentences` is deprecated. Use keyword argument like `Lorem.sentences(supplemental: ...)` instead.', uplevel: 1
88
+ supplemental = legacy_supplemental
89
+ end
90
+
38
91
  1.upto(resolve(number)).collect { sentence(word_count: 3, supplemental: supplemental) }
39
92
  end
40
93
 
41
- def paragraph(sentence_count: 3, supplemental: false, random_sentences_to_add: 0)
94
+ # rubocop:disable Metrics/ParameterLists
95
+ def paragraph(legacy_sentence_count = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, legacy_random_sentences_to_add = NOT_GIVEN, sentence_count: 3, supplemental: false, random_sentences_to_add: 0)
96
+ # rubocop:enable Metrics/ParameterLists
97
+ if legacy_sentence_count != NOT_GIVEN
98
+ warn_with_uplevel 'Passing `sentence_count` with the 1st argument of `Lorem.paragraph` is deprecated. Use keyword argument like `Lorem.paragraph(sentence_count: ...)` instead.', uplevel: 1
99
+ sentence_count = legacy_sentence_count
100
+ end
101
+ if legacy_supplemental != NOT_GIVEN
102
+ warn_with_uplevel 'Passing `supplemental` with the 2nd argument of `Lorem.paragraph` is deprecated. Use keyword argument like `Lorem.paragraph(supplemental: ...)` instead.', uplevel: 1
103
+ supplemental = legacy_supplemental
104
+ end
105
+ if legacy_random_sentences_to_add != NOT_GIVEN
106
+ warn_with_uplevel 'Passing `random_sentences_to_add` with the 3rd argument of `Lorem.paragraph` is deprecated. Use keyword argument like `Lorem.paragraph(random_sentences_to_add: ...)` instead.', uplevel: 1
107
+ random_sentences_to_add = legacy_random_sentences_to_add
108
+ end
109
+
42
110
  sentences(number: resolve(sentence_count) + rand(random_sentences_to_add.to_i), supplemental: supplemental).join(locale_space)
43
111
  end
44
112
 
45
- def paragraphs(number: 3, supplemental: false)
113
+ def paragraphs(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false)
114
+ if legacy_number != NOT_GIVEN
115
+ warn_with_uplevel 'Passing `number` with the 1st argument of `Lorem.paragraphs` is deprecated. Use keyword argument like `Lorem.paragraphs(number: ...)` instead.', uplevel: 1
116
+ number = legacy_number
117
+ end
118
+ if legacy_supplemental != NOT_GIVEN
119
+ warn_with_uplevel 'Passing `supplemental` with the 2nd argument of `Lorem.paragraphs` is deprecated. Use keyword argument like `Lorem.paragraphs(supplemental: ...)` instead.', uplevel: 1
120
+ supplemental = legacy_supplemental
121
+ end
122
+
46
123
  1.upto(resolve(number)).collect { paragraph(sentence_count: 3, supplemental: supplemental) }
47
124
  end
48
125
 
49
- def paragraph_by_chars(number: 256, supplemental: false)
126
+ def paragraph_by_chars(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 256, supplemental: false)
127
+ if legacy_number != NOT_GIVEN
128
+ warn_with_uplevel 'Passing `number` with the 1st argument of `Lorem.paragraph_by_chars` is deprecated. Use keyword argument like `Lorem.paragraph_by_chars(number: ...)` instead.', uplevel: 1
129
+ number = legacy_number
130
+ end
131
+ if legacy_supplemental != NOT_GIVEN
132
+ warn_with_uplevel 'Passing `supplemental` with the 2nd argument of `Lorem.paragraph_by_chars` is deprecated. Use keyword argument like `Lorem.paragraph_by_chars(supplemental: ...)` instead.', uplevel: 1
133
+ supplemental = legacy_supplemental
134
+ end
135
+
50
136
  paragraph = paragraph(sentence_count: 3, supplemental: supplemental)
51
137
 
52
138
  paragraph += ' ' + paragraph(sentence_count: 3, supplemental: supplemental) while paragraph.length < number
@@ -54,11 +140,35 @@ module Faker
54
140
  paragraph[0...number - 1] + '.'
55
141
  end
56
142
 
57
- def question(word_count: 4, supplemental: false, random_words_to_add: 0)
143
+ # rubocop:disable Metrics/ParameterLists
144
+ def question(legacy_word_count = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, legacy_random_words_to_add = NOT_GIVEN, word_count: 4, supplemental: false, random_words_to_add: 0)
145
+ # rubocop:enable Metrics/ParameterLists
146
+ if legacy_word_count != NOT_GIVEN
147
+ warn_with_uplevel 'Passing `word_count` with the 1st argument of `Lorem.question` is deprecated. Use keyword argument like `Lorem.question(word_count: ...)` instead.', uplevel: 1
148
+ word_count = legacy_word_count
149
+ end
150
+ if legacy_supplemental != NOT_GIVEN
151
+ warn_with_uplevel 'Passing `supplemental` with the 2nd argument of `Lorem.question` is deprecated. Use keyword argument like `Lorem.question(supplemental: ...)` instead.', uplevel: 1
152
+ supplemental = legacy_supplemental
153
+ end
154
+ if legacy_random_words_to_add != NOT_GIVEN
155
+ warn_with_uplevel 'Passing `random_words_to_add` with the 3rd argument of `Lorem.question` is deprecated. Use keyword argument like `Lorem.question(random_words_to_add: ...)` instead.', uplevel: 1
156
+ random_words_to_add = legacy_random_words_to_add
157
+ end
158
+
58
159
  words(number: word_count + rand(random_words_to_add), supplemental: supplemental).join(' ').capitalize + locale_question_mark
59
160
  end
60
161
 
61
- def questions(number: 3, supplemental: false)
162
+ def questions(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false)
163
+ if legacy_number != NOT_GIVEN
164
+ warn_with_uplevel 'Passing `number` with the 1st argument of `Lorem.questions` is deprecated. Use keyword argument like `Lorem.questions(number: ...)` instead.', uplevel: 1
165
+ number = legacy_number
166
+ end
167
+ if legacy_supplemental != NOT_GIVEN
168
+ warn_with_uplevel 'Passing `supplemental` with the 2nd argument of `Lorem.questions` is deprecated. Use keyword argument like `Lorem.questions(supplemental: ...)` instead.', uplevel: 1
169
+ supplemental = legacy_supplemental
170
+ end
171
+
62
172
  1.upto(resolve(number)).collect { question(word_count: 3, supplemental: supplemental) }
63
173
  end
64
174
 
@@ -5,23 +5,87 @@ 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
+ 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
- def grayscale_image(size: '300x300', search_terms: ['all'], match_all: false)
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
- def pixelated_image(size: '300x300', search_terms: ['all'], match_all: false)
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
- def colorized_image(size: '300x300', color: 'red', search_terms: ['all'], match_all: false)
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 = ['http://loremflickr.com']
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