faker 1.9.3 → 2.1.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 (234) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +279 -3
  3. data/README.md +26 -11
  4. data/bin/faker +5 -0
  5. data/lib/faker/blockchain/tezos.rb +10 -5
  6. data/lib/faker/books/dune.rb +2 -2
  7. data/lib/faker/books/lovecraft.rb +18 -18
  8. data/lib/faker/creature/animal.rb +1 -1
  9. data/lib/faker/creature/cat.rb +1 -1
  10. data/lib/faker/creature/dog.rb +1 -1
  11. data/lib/faker/creature/horse.rb +19 -0
  12. data/lib/faker/default/address.rb +3 -3
  13. data/lib/faker/default/alphanumeric.rb +4 -4
  14. data/lib/faker/default/avatar.rb +1 -1
  15. data/lib/faker/default/bank.rb +2 -2
  16. data/lib/faker/default/boolean.rb +1 -1
  17. data/lib/faker/default/cannabis.rb +4 -0
  18. data/lib/faker/default/chile_rut.rb +3 -3
  19. data/lib/faker/default/code.rb +5 -5
  20. data/lib/faker/default/coffee.rb +2 -0
  21. data/lib/faker/default/commerce.rb +4 -4
  22. data/lib/faker/default/company.rb +6 -2
  23. data/lib/faker/default/crypto_coin.rb +9 -4
  24. data/lib/faker/default/date.rb +9 -9
  25. data/lib/faker/default/demographic.rb +1 -1
  26. data/lib/faker/default/device.rb +2 -2
  27. data/lib/faker/default/driving_licence.rb +2 -2
  28. data/lib/faker/default/educator.rb +0 -3
  29. data/lib/faker/default/file.rb +11 -2
  30. data/lib/faker/default/fillmurray.rb +2 -2
  31. data/lib/faker/default/finance.rb +1 -1
  32. data/lib/faker/default/hipster.rb +16 -16
  33. data/lib/faker/default/id_number.rb +47 -10
  34. data/lib/faker/default/internet.rb +35 -22
  35. data/lib/faker/default/invoice.rb +3 -3
  36. data/lib/faker/default/json.rb +6 -6
  37. data/lib/faker/default/lorem.rb +20 -20
  38. data/lib/faker/default/lorem_flickr.rb +4 -4
  39. data/lib/faker/default/lorem_pixel.rb +1 -1
  40. data/lib/faker/default/markdown.rb +7 -7
  41. data/lib/faker/default/measurement.rb +8 -8
  42. data/lib/faker/default/name.rb +2 -4
  43. data/lib/faker/default/nhs.rb +7 -7
  44. data/lib/faker/default/number.rb +35 -27
  45. data/lib/faker/default/omniauth.rb +11 -11
  46. data/lib/faker/default/phone_number.rb +1 -1
  47. data/lib/faker/default/placeholdit.rb +1 -1
  48. data/lib/faker/default/relationship.rb +1 -1
  49. data/lib/faker/default/source.rb +2 -2
  50. data/lib/faker/default/south_africa.rb +1 -1
  51. data/lib/faker/default/space.rb +2 -2
  52. data/lib/faker/default/string.rb +1 -1
  53. data/lib/faker/default/stripe.rb +4 -4
  54. data/lib/faker/default/time.rb +23 -8
  55. data/lib/faker/default/twitter.rb +30 -30
  56. data/lib/faker/default/types.rb +7 -7
  57. data/lib/faker/default/vehicle.rb +5 -5
  58. data/lib/faker/default/world_cup.rb +2 -2
  59. data/lib/faker/games/dota.rb +1 -1
  60. data/lib/faker/games/elder_scrolls.rb +1 -1
  61. data/lib/faker/games/fallout.rb +1 -1
  62. data/lib/faker/games/game.rb +21 -0
  63. data/lib/faker/games/half_life.rb +1 -1
  64. data/lib/faker/games/heroes.rb +1 -1
  65. data/lib/faker/games/heroes_of_the_storm.rb +1 -1
  66. data/lib/faker/games/league_of_legends.rb +1 -1
  67. data/lib/faker/games/myst.rb +1 -1
  68. data/lib/faker/games/overwatch.rb +1 -1
  69. data/lib/faker/games/pokemon.rb +1 -1
  70. data/lib/faker/games/sonic_the_hedgehog.rb +1 -1
  71. data/lib/faker/games/super_smash_bros.rb +1 -1
  72. data/lib/faker/games/witcher.rb +1 -1
  73. data/lib/faker/games/world_of_warcraft.rb +1 -1
  74. data/lib/faker/games/zelda.rb +1 -1
  75. data/lib/faker/japanese_media/dragon_ball.rb +1 -1
  76. data/lib/faker/japanese_media/one_piece.rb +1 -1
  77. data/lib/faker/japanese_media/sword_art_online.rb +1 -1
  78. data/lib/faker/movies/back_to_the_future.rb +1 -1
  79. data/lib/faker/movies/ghostbusters.rb +1 -1
  80. data/lib/faker/movies/harry_potter.rb +1 -1
  81. data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +1 -1
  82. data/lib/faker/movies/hobbit.rb +1 -1
  83. data/lib/faker/movies/lebowski.rb +1 -1
  84. data/lib/faker/movies/lord_of_the_rings.rb +1 -1
  85. data/lib/faker/movies/princess_bride.rb +1 -1
  86. data/lib/faker/movies/star_wars.rb +2 -2
  87. data/lib/faker/movies/v_for_vendetta.rb +1 -1
  88. data/lib/faker/{movies → music}/grateful_dead.rb +3 -1
  89. data/lib/faker/music/opera.rb +26 -0
  90. data/lib/faker/sports/basketball.rb +25 -0
  91. data/lib/faker/sports/football.rb +29 -0
  92. data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +1 -1
  93. data/lib/faker/tv_shows/bojack_horseman.rb +1 -1
  94. data/lib/faker/tv_shows/breaking_bad.rb +1 -1
  95. data/lib/faker/tv_shows/buffy.rb +1 -1
  96. data/lib/faker/tv_shows/community.rb +1 -1
  97. data/lib/faker/tv_shows/dr_who.rb +1 -1
  98. data/lib/faker/tv_shows/dumb_and_dumber.rb +1 -1
  99. data/lib/faker/tv_shows/family_guy.rb +1 -1
  100. data/lib/faker/tv_shows/friends.rb +1 -1
  101. data/lib/faker/tv_shows/game_of_thrones.rb +1 -1
  102. data/lib/faker/tv_shows/hey_arnold.rb +1 -1
  103. data/lib/faker/tv_shows/how_i_met_your_mother.rb +1 -1
  104. data/lib/faker/tv_shows/michael_scott.rb +1 -1
  105. data/lib/faker/tv_shows/new_girl.rb +1 -1
  106. data/lib/faker/tv_shows/parks_and_rec.rb +1 -1
  107. data/lib/faker/tv_shows/rick_and_morty.rb +1 -1
  108. data/lib/faker/tv_shows/ru_paul.rb +1 -1
  109. data/lib/faker/tv_shows/seinfeld.rb +1 -1
  110. data/lib/faker/tv_shows/silicon_valley.rb +1 -1
  111. data/lib/faker/tv_shows/simpsons.rb +1 -1
  112. data/lib/faker/tv_shows/south_park.rb +1 -1
  113. data/lib/faker/tv_shows/star_trek.rb +1 -1
  114. data/lib/faker/tv_shows/stargate.rb +1 -1
  115. data/lib/faker/tv_shows/stranger_things.rb +1 -1
  116. data/lib/faker/tv_shows/the_expanse.rb +1 -1
  117. data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +1 -1
  118. data/lib/faker/tv_shows/the_it_crowd.rb +1 -1
  119. data/lib/faker/tv_shows/the_thick_of_it.rb +1 -1
  120. data/lib/faker/tv_shows/twin_peaks.rb +1 -1
  121. data/lib/faker/tv_shows/venture_bros.rb +1 -1
  122. data/lib/faker/version.rb +1 -1
  123. data/lib/locales/en-AU.yml +1 -1
  124. data/lib/locales/en-IND.yml +1 -1
  125. data/lib/locales/en.yml +4 -1
  126. data/lib/locales/en/address.yml +1 -4
  127. data/lib/locales/en/animal.yml +2 -2
  128. data/lib/locales/en/basketball.yml +99 -0
  129. data/lib/locales/en/cannabis.yml +1 -0
  130. data/lib/locales/en/company.yml +1 -0
  131. data/lib/locales/en/crypto_coin.yml +22 -6
  132. data/lib/locales/en/dc_comics.yml +5 -5
  133. data/lib/locales/en/dota.yml +3 -1
  134. data/lib/locales/en/food.yml +1 -1
  135. data/lib/locales/en/game.yml +283 -0
  136. data/lib/locales/en/grateful_dead.yml +2 -1
  137. data/lib/locales/en/heroes_of_the_storm.yml +2 -2
  138. data/lib/locales/en/horse.yml +6 -0
  139. data/lib/locales/en/kpop.yml +1 -1
  140. data/lib/locales/en/league_of_legends.yml +2 -2
  141. data/lib/locales/en/music.yml +1 -1
  142. data/lib/locales/en/nation.yml +1 -1
  143. data/lib/locales/en/opera.yml +172 -0
  144. data/lib/locales/en/phish.yml +1 -1
  145. data/lib/locales/en/rupaul.yml +51 -21
  146. data/lib/locales/en/space.yml +2 -2
  147. data/lib/locales/en/stargate.yml +1 -2
  148. data/lib/locales/en/subscription.yml +1 -1
  149. data/lib/locales/en/super_smash_bros.yml +8 -0
  150. data/lib/locales/en/verbs.yml +2 -2
  151. data/lib/locales/fr-CA.yml +0 -5
  152. data/lib/locales/fr-CH.yml +0 -1
  153. data/lib/locales/fr.yml +1 -1
  154. data/lib/locales/hy.yml +47 -2
  155. data/lib/locales/ja.yml +16 -0
  156. data/lib/locales/pt-BR.yml +4 -1
  157. data/lib/locales/vi.yml +1 -1
  158. data/lib/locales/zh-CN.yml +3 -6
  159. data/lib/locales/zh-TW.yml +2 -2
  160. metadata +62 -110
  161. data/lib/faker/default/creature.rb +0 -6
  162. data/lib/faker/default/football.rb +0 -27
  163. data/lib/faker/default/games.rb +0 -6
  164. data/lib/faker/default/japanese_media.rb +0 -6
  165. data/lib/faker/default/movies.rb +0 -6
  166. data/lib/faker/default/tv_shows.rb +0 -6
  167. data/lib/faker/deprecate/aqua_teen_hunger_force.rb +0 -15
  168. data/lib/faker/deprecate/back_to_the_future.rb +0 -25
  169. data/lib/faker/deprecate/bitcoin.rb +0 -20
  170. data/lib/faker/deprecate/bojack_horseman.rb +0 -25
  171. data/lib/faker/deprecate/breaking_bad.rb +0 -20
  172. data/lib/faker/deprecate/buffy.rb +0 -35
  173. data/lib/faker/deprecate/cat.rb +0 -25
  174. data/lib/faker/deprecate/community.rb +0 -20
  175. data/lib/faker/deprecate/dog.rb +0 -50
  176. data/lib/faker/deprecate/dota.rb +0 -35
  177. data/lib/faker/deprecate/dr_who.rb +0 -45
  178. data/lib/faker/deprecate/dragon_ball.rb +0 -15
  179. data/lib/faker/deprecate/dumb_and_dumber.rb +0 -25
  180. data/lib/faker/deprecate/dune.rb +0 -35
  181. data/lib/faker/deprecate/elder_scrolls.rb +0 -50
  182. data/lib/faker/deprecate/ethereum.rb +0 -15
  183. data/lib/faker/deprecate/fallout.rb +0 -30
  184. data/lib/faker/deprecate/family_guy.rb +0 -25
  185. data/lib/faker/deprecate/famous_last_words.rb +0 -15
  186. data/lib/faker/deprecate/friends.rb +0 -25
  187. data/lib/faker/deprecate/game_of_thrones.rb +0 -35
  188. data/lib/faker/deprecate/harry_potter.rb +0 -40
  189. data/lib/faker/deprecate/heroes_of_the_storm.rb +0 -30
  190. data/lib/faker/deprecate/hey_arnold.rb +0 -25
  191. data/lib/faker/deprecate/hitchhikers_guide_to_the_galaxy.rb +0 -44
  192. data/lib/faker/deprecate/hobbit.rb +0 -30
  193. data/lib/faker/deprecate/how_i_met_your_mother.rb +0 -30
  194. data/lib/faker/deprecate/league_of_legends.rb +0 -40
  195. data/lib/faker/deprecate/lebowski.rb +0 -25
  196. data/lib/faker/deprecate/lord_of_the_rings.rb +0 -25
  197. data/lib/faker/deprecate/lovecraft.rb +0 -65
  198. data/lib/faker/deprecate/matz.rb +0 -15
  199. data/lib/faker/deprecate/michael_scott.rb +0 -15
  200. data/lib/faker/deprecate/most_interesting_man_in_the_world.rb +0 -15
  201. data/lib/faker/deprecate/myst.rb +0 -35
  202. data/lib/faker/deprecate/new_girl.rb +0 -20
  203. data/lib/faker/deprecate/one_piece.rb +0 -40
  204. data/lib/faker/deprecate/overwatch.rb +0 -25
  205. data/lib/faker/deprecate/parks_and_rec.rb +0 -20
  206. data/lib/faker/deprecate/pokemon.rb +0 -25
  207. data/lib/faker/deprecate/princess_bride.rb +0 -20
  208. data/lib/faker/deprecate/rick_and_morty.rb +0 -25
  209. data/lib/faker/deprecate/robin.rb +0 -15
  210. data/lib/faker/deprecate/rock_band.rb +0 -15
  211. data/lib/faker/deprecate/ru_paul.rb +0 -20
  212. data/lib/faker/deprecate/seinfeld.rb +0 -25
  213. data/lib/faker/deprecate/shakespeare.rb +0 -50
  214. data/lib/faker/deprecate/silicon_valley.rb +0 -50
  215. data/lib/faker/deprecate/simpsons.rb +0 -25
  216. data/lib/faker/deprecate/singular_siegler.rb +0 -15
  217. data/lib/faker/deprecate/south_park.rb +0 -20
  218. data/lib/faker/deprecate/star_trek.rb +0 -30
  219. data/lib/faker/deprecate/star_wars.rb +0 -95
  220. data/lib/faker/deprecate/stargate.rb +0 -25
  221. data/lib/faker/deprecate/stranger_things.rb +0 -20
  222. data/lib/faker/deprecate/sword_art_online.rb +0 -30
  223. data/lib/faker/deprecate/tezos.rb +0 -33
  224. data/lib/faker/deprecate/the_fresh_prince_of_bel_air.rb +0 -25
  225. data/lib/faker/deprecate/the_it_crowd.rb +0 -30
  226. data/lib/faker/deprecate/the_thick_of_it.rb +0 -25
  227. data/lib/faker/deprecate/twin_peaks.rb +0 -25
  228. data/lib/faker/deprecate/umphreys_mcgee.rb +0 -15
  229. data/lib/faker/deprecate/v_for_vendetta.rb +0 -25
  230. data/lib/faker/deprecate/venture_bros.rb +0 -30
  231. data/lib/faker/deprecate/witcher.rb +0 -40
  232. data/lib/faker/deprecate/world_of_warcraft.rb +0 -20
  233. data/lib/faker/deprecate/yoda.rb +0 -16
  234. data/lib/faker/deprecate/zelda.rb +0 -30
@@ -19,7 +19,7 @@ module Faker
19
19
  fetch('dune.planets')
20
20
  end
21
21
 
22
- def quote(character = nil)
22
+ def quote(character: nil)
23
23
  quoted_characters = translate('faker.dune.quotes').keys
24
24
 
25
25
  if character.nil?
@@ -36,7 +36,7 @@ module Faker
36
36
  fetch('dune.quotes.' + character)
37
37
  end
38
38
 
39
- def saying(source = nil)
39
+ def saying(source: nil)
40
40
  sourced_sayings = translate('faker.dune.sayings').keys
41
41
 
42
42
  if source.nil?
@@ -8,8 +8,8 @@ module Faker
8
8
  fetch('lovecraft.location')
9
9
  end
10
10
 
11
- def fhtagn(number_of = 1)
12
- Array.new(number_of) { fetch('lovecraft.fhtagn') }.join('. ')
11
+ def fhtagn(number: 1)
12
+ Array.new(number) { fetch('lovecraft.fhtagn') }.join('. ')
13
13
  end
14
14
 
15
15
  def deity
@@ -20,8 +20,8 @@ module Faker
20
20
  fetch('lovecraft.tome')
21
21
  end
22
22
 
23
- def sentence(word_count = 4, random_words_to_add = 6)
24
- words(word_count + rand(random_words_to_add.to_i).to_i, true).join(' ').capitalize + '.'
23
+ def sentence(word_count: 4, random_words_to_add: 6)
24
+ words(number: word_count + rand(random_words_to_add.to_i).to_i, spaces_allowed: true).join(' ').capitalize + '.'
25
25
  end
26
26
 
27
27
  def word
@@ -29,8 +29,8 @@ module Faker
29
29
  random_word =~ /\s/ ? word : random_word
30
30
  end
31
31
 
32
- def words(num = 3, spaces_allowed = false)
33
- resolved_num = resolve(num)
32
+ def words(number: 3, spaces_allowed: false)
33
+ resolved_num = resolve(number)
34
34
  word_list = translate('faker.lovecraft.words')
35
35
  word_list *= ((resolved_num / word_list.length) + 1)
36
36
 
@@ -40,32 +40,32 @@ module Faker
40
40
  words.each_with_index { |w, i| words[i] = word if w =~ /\s/ }
41
41
  end
42
42
 
43
- def sentences(sentence_count = 3)
43
+ def sentences(number: 3)
44
44
  [].tap do |sentences|
45
- 1.upto(resolve(sentence_count)) do
46
- sentences << sentence(3)
45
+ 1.upto(resolve(number)) do
46
+ sentences << sentence(word_count: 3)
47
47
  end
48
48
  end
49
49
  end
50
50
 
51
- def paragraph(sentence_count = 3, random_sentences_to_add = 3)
52
- sentences(resolve(sentence_count) + rand(random_sentences_to_add.to_i).to_i).join(' ')
51
+ def paragraph(sentence_count: 3, random_sentences_to_add: 3)
52
+ sentences(number: resolve(sentence_count) + rand(random_sentences_to_add.to_i).to_i).join(' ')
53
53
  end
54
54
 
55
- def paragraphs(paragraph_count = 3)
55
+ def paragraphs(number: 3)
56
56
  [].tap do |paragraphs|
57
- 1.upto(resolve(paragraph_count)) do
58
- paragraphs << paragraph(3)
57
+ 1.upto(resolve(number)) do
58
+ paragraphs << paragraph(sentence_count: 3)
59
59
  end
60
60
  end
61
61
  end
62
62
 
63
- def paragraph_by_chars(chars = 256)
64
- paragraph = paragraph(3)
63
+ def paragraph_by_chars(characters: 256)
64
+ paragraph = paragraph(sentence_count: 3)
65
65
 
66
- paragraph += ' ' + paragraph(3) while paragraph.length < chars
66
+ paragraph += ' ' + paragraph(sentence_count: 3) while paragraph.length < characters
67
67
 
68
- paragraph[0...chars - 1] + '.'
68
+ paragraph[0...characters - 1] + '.'
69
69
  end
70
70
  end
71
71
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Faker
4
- module Creature
4
+ class Creature
5
5
  class Animal < Base
6
6
  class << self
7
7
  def name
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Faker
4
- module Creature
4
+ class Creature
5
5
  class Cat < Base
6
6
  flexible :cat
7
7
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Faker
4
- module Creature
4
+ class Creature
5
5
  class Dog < Base
6
6
  flexible :dog
7
7
 
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Creature
5
+ class Horse < Base
6
+ flexible :horse
7
+
8
+ class << self
9
+ def name
10
+ fetch('creature.horse.name')
11
+ end
12
+
13
+ def breed
14
+ fetch('creature.horse.breed')
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -5,7 +5,7 @@ module Faker
5
5
  flexible :address
6
6
 
7
7
  class << self
8
- def city(options = {})
8
+ def city(options: {})
9
9
  parse(options[:with_state] ? 'address.city_with_state' : 'address.city')
10
10
  end
11
11
 
@@ -13,7 +13,7 @@ module Faker
13
13
  parse('address.street_name')
14
14
  end
15
15
 
16
- def street_address(include_secondary = false)
16
+ def street_address(include_secondary: false)
17
17
  numerify(parse('address.street_address') + (include_secondary ? ' ' + secondary_address : ''))
18
18
  end
19
19
 
@@ -29,7 +29,7 @@ module Faker
29
29
  parse('address.community')
30
30
  end
31
31
 
32
- def zip_code(state_abbreviation = '')
32
+ def zip_code(state_abbreviation: '')
33
33
  if state_abbreviation.empty?
34
34
  letterified_string = letterify(fetch('address.postcode'))
35
35
  return numerify(letterified_string, leading_zero: true)
@@ -6,15 +6,15 @@ module Faker
6
6
  ALPHABET = ('a'..'z').to_a
7
7
  ALPHANUMS = ALPHABET + (0..9).to_a
8
8
 
9
- def alpha(char_count = 32)
10
- char_count = resolve(char_count)
9
+ def alpha(number: 32)
10
+ char_count = resolve(number)
11
11
  return '' if char_count.to_i < 1
12
12
 
13
13
  Array.new(char_count) { sample(ALPHABET) }.join
14
14
  end
15
15
 
16
- def alphanumeric(char_count = 32)
17
- char_count = resolve(char_count)
16
+ def alphanumeric(number: 32)
17
+ char_count = resolve(number)
18
18
  return '' if char_count.to_i < 1
19
19
 
20
20
  Array.new(char_count) { sample(ALPHANUMS) }.join
@@ -5,7 +5,7 @@ module Faker
5
5
  class << self
6
6
  SUPPORTED_FORMATS = %w[png jpg bmp].freeze
7
7
 
8
- def image(slug = nil, size = '300x300', format = 'png', set = 'set1', bgset = nil)
8
+ def image(slug: nil, size: '300x300', format: 'png', set: 'set1', bgset: nil)
9
9
  raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /^[0-9]+x[0-9]+$/
10
10
  raise ArgumentError, "Supported formats are #{SUPPORTED_FORMATS.join(', ')}" unless SUPPORTED_FORMATS.include?(format)
11
11
 
@@ -5,7 +5,7 @@ module Faker
5
5
  flexible :bank
6
6
 
7
7
  class << self
8
- def account_number(digits = 10)
8
+ def account_number(digits: 10)
9
9
  output = ''
10
10
 
11
11
  output += rand.to_s[2..-1] while output.length < digits
@@ -13,7 +13,7 @@ module Faker
13
13
  output[0...digits]
14
14
  end
15
15
 
16
- def iban(country_code = 'GB')
16
+ def iban(country_code: 'GB')
17
17
  # Each country has it's own format for bank accounts
18
18
  # Many of them use letters in certain parts of the account
19
19
  # Using regex patterns we can create virtually any type of bank account
@@ -3,7 +3,7 @@
3
3
  module Faker
4
4
  class Boolean < Base
5
5
  class << self
6
- def boolean(true_ratio = 0.5)
6
+ def boolean(true_ratio: 0.5)
7
7
  (rand < true_ratio)
8
8
  end
9
9
  end
@@ -37,5 +37,9 @@ module Faker
37
37
  def self.buzzword
38
38
  fetch('cannabis.buzzwords')
39
39
  end
40
+
41
+ def self.brand
42
+ fetch('cannabis.brands')
43
+ end
40
44
  end
41
45
  end
@@ -6,7 +6,7 @@ module Faker
6
6
  @last_rut = nil
7
7
 
8
8
  # Fixed param added for testing a specific RUT and check digit combination.
9
- def rut(min_rut = 1, fixed = false)
9
+ def rut(min_rut: 1, fixed: false)
10
10
  @last_rut = fixed ? min_rut : rand_in_range(min_rut, 99_999_999)
11
11
  end
12
12
 
@@ -34,8 +34,8 @@ module Faker
34
34
  dv
35
35
  end
36
36
 
37
- def full_rut(min_rut = 0, fixed = false)
38
- "#{rut(min_rut, fixed)}-#{dv}"
37
+ def full_rut(min_rut: 0, fixed: false)
38
+ "#{rut(min_rut: min_rut, fixed: fixed)}-#{dv}"
39
39
  end
40
40
 
41
41
  attr_reader :last_rut
@@ -12,26 +12,26 @@ module Faker
12
12
 
13
13
  # By default generates 10 sign isbn code in format 123456789-X
14
14
  # You can pass 13 to generate new 13 sign code
15
- def isbn(base = 10)
15
+ def isbn(base: 10)
16
16
  base == 13 ? generate_base13_isbn : generate_base10_isbn
17
17
  end
18
18
 
19
19
  # By default generates 13 sign ean code in format 1234567890123
20
20
  # You can pass 8 to generate ean8 code
21
- def ean(base = 13)
21
+ def ean(base: 13)
22
22
  base == 8 ? generate_base8_ean : generate_base13_ean
23
23
  end
24
24
 
25
25
  def rut
26
- value = Number.number(8)
26
+ value = Number.number(digits: 8).to_s
27
27
  vd = rut_verificator_digit(value)
28
28
  value << "-#{vd}"
29
29
  end
30
30
 
31
31
  # By default generates a Singaporean NRIC ID for someone
32
32
  # who is born between the age of 18 and 65.
33
- def nric(min_age = 18, max_age = 65)
34
- birthyear = Date.birthday(min_age, max_age).year
33
+ def nric(min_age: 18, max_age: 65)
34
+ birthyear = Date.birthday(min_age: min_age, max_age: max_age).year
35
35
  prefix = birthyear < 2000 ? 'S' : 'T'
36
36
  values = birthyear.to_s[-2..-1]
37
37
  values << regexify(/\d{5}/)
@@ -2,6 +2,8 @@
2
2
 
3
3
  module Faker
4
4
  class Coffee < Base
5
+ flexible :coffee
6
+
5
7
  class << self
6
8
  def blend_name
7
9
  parse('coffee.blend_name')
@@ -7,15 +7,15 @@ module Faker
7
7
  fetch('color.name')
8
8
  end
9
9
 
10
- def promotion_code(digits = 6)
10
+ def promotion_code(digits: 6)
11
11
  [
12
12
  fetch('commerce.promotion_code.adjective'),
13
13
  fetch('commerce.promotion_code.noun'),
14
- Faker::Number.number(digits)
14
+ Faker::Number.number(digits: digits)
15
15
  ].join
16
16
  end
17
17
 
18
- def department(max = 3, fixed_amount = false)
18
+ def department(max: 3, fixed_amount: false)
19
19
  num = max if fixed_amount
20
20
  num ||= 1 + rand(max)
21
21
 
@@ -34,7 +34,7 @@ module Faker
34
34
  fetch('commerce.product_name.material')
35
35
  end
36
36
 
37
- def price(range = 0..100.0, as_string = false)
37
+ def price(range: 0..100.0, as_string: false)
38
38
  price = (rand(range) * 100).floor / 100.0
39
39
  if as_string
40
40
  price_parts = price.to_s.split('.')
@@ -126,7 +126,7 @@ module Faker
126
126
  end
127
127
 
128
128
  # Get a random Polish register of national economy number. More info https://pl.wikipedia.org/wiki/REGON
129
- def polish_register_of_national_economy(length = 9)
129
+ def polish_register_of_national_economy(length: 9)
130
130
  raise ArgumentError, 'Length should be 9 or 14' unless [9, 14].include? length
131
131
 
132
132
  random_digits = []
@@ -168,6 +168,10 @@ module Faker
168
168
  formatted ? format('%s.%s.%s/%s-%s', *number.scan(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/).flatten) : number
169
169
  end
170
170
 
171
+ def sic_code
172
+ fetch('company.sic_code')
173
+ end
174
+
171
175
  private
172
176
 
173
177
  # Mod11 functionality from https://github.com/badmanski/mod11/blob/master/lib/mod11.rb
@@ -194,7 +198,7 @@ module Faker
194
198
  def luhn_algorithm(number)
195
199
  multiplications = []
196
200
 
197
- number.reverse.split(//).each_with_index do |digit, i|
201
+ number.to_s.reverse.split(//).each_with_index do |digit, i|
198
202
  multiplications << if i.even?
199
203
  digit.to_i * 2
200
204
  else
@@ -7,15 +7,15 @@ module Faker
7
7
  ACRONYM = 1
8
8
  URL_LOGO = 2
9
9
 
10
- def coin_name(coin = coin_array)
10
+ def coin_name(coin: coin_array)
11
11
  coin[COIN_NAME]
12
12
  end
13
13
 
14
- def acronym(coin = coin_array)
14
+ def acronym(coin: coin_array)
15
15
  coin[ACRONYM]
16
16
  end
17
17
 
18
- def url_logo(coin = coin_array)
18
+ def url_logo(coin: coin_array)
19
19
  coin[URL_LOGO]
20
20
  end
21
21
 
@@ -25,7 +25,12 @@ module Faker
25
25
 
26
26
  def coin_hash
27
27
  coin = coin_array
28
- { name: coin_name(coin), acronym: acronym(coin), url_logo: url_logo(coin) }
28
+
29
+ {
30
+ name: coin_name(coin: coin),
31
+ acronym: acronym(coin: coin),
32
+ url_logo: url_logo(coin: coin)
33
+ }
29
34
  end
30
35
  end
31
36
  end
@@ -3,45 +3,45 @@
3
3
  module Faker
4
4
  class Date < Base
5
5
  class << self
6
- def between(from, to)
6
+ def between(from:, to:)
7
7
  from = get_date_object(from)
8
8
  to = get_date_object(to)
9
9
 
10
10
  Faker::Base.rand_in_range(from, to)
11
11
  end
12
12
 
13
- def between_except(from, to, excepted)
13
+ def between_except(from:, to:, excepted:)
14
14
  raise ArgumentError, 'From date, to date and excepted date must not be the same' if from == to && to == excepted
15
15
 
16
16
  excepted = get_date_object(excepted)
17
17
 
18
18
  loop do
19
- date = between(from, to)
19
+ date = between(from: from, to: to)
20
20
  break date.to_date if date != excepted
21
21
  end
22
22
  end
23
23
 
24
- def forward(days = 365)
24
+ def forward(days: 365)
25
25
  from = ::Date.today + 1
26
26
  to = ::Date.today + days
27
27
 
28
- between(from, to).to_date
28
+ between(from: from, to: to).to_date
29
29
  end
30
30
 
31
- def backward(days = 365)
31
+ def backward(days: 365)
32
32
  from = ::Date.today - days
33
33
  to = ::Date.today - 1
34
34
 
35
- between(from, to).to_date
35
+ between(from: from, to: to).to_date
36
36
  end
37
37
 
38
- def birthday(min_age = 18, max_age = 65)
38
+ def birthday(min_age: 18, max_age: 65)
39
39
  t = ::Date.today
40
40
 
41
41
  from = birthday_date(t, max_age)
42
42
  to = birthday_date(t, min_age)
43
43
 
44
- between(from, to).to_date
44
+ between(from: from, to: to).to_date
45
45
  end
46
46
 
47
47
  private