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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +279 -3
- data/README.md +26 -11
- data/bin/faker +5 -0
- data/lib/faker/blockchain/tezos.rb +10 -5
- data/lib/faker/books/dune.rb +2 -2
- data/lib/faker/books/lovecraft.rb +18 -18
- data/lib/faker/creature/animal.rb +1 -1
- data/lib/faker/creature/cat.rb +1 -1
- data/lib/faker/creature/dog.rb +1 -1
- data/lib/faker/creature/horse.rb +19 -0
- data/lib/faker/default/address.rb +3 -3
- data/lib/faker/default/alphanumeric.rb +4 -4
- data/lib/faker/default/avatar.rb +1 -1
- data/lib/faker/default/bank.rb +2 -2
- data/lib/faker/default/boolean.rb +1 -1
- data/lib/faker/default/cannabis.rb +4 -0
- data/lib/faker/default/chile_rut.rb +3 -3
- data/lib/faker/default/code.rb +5 -5
- data/lib/faker/default/coffee.rb +2 -0
- data/lib/faker/default/commerce.rb +4 -4
- data/lib/faker/default/company.rb +6 -2
- data/lib/faker/default/crypto_coin.rb +9 -4
- data/lib/faker/default/date.rb +9 -9
- data/lib/faker/default/demographic.rb +1 -1
- data/lib/faker/default/device.rb +2 -2
- data/lib/faker/default/driving_licence.rb +2 -2
- data/lib/faker/default/educator.rb +0 -3
- data/lib/faker/default/file.rb +11 -2
- data/lib/faker/default/fillmurray.rb +2 -2
- data/lib/faker/default/finance.rb +1 -1
- data/lib/faker/default/hipster.rb +16 -16
- data/lib/faker/default/id_number.rb +47 -10
- data/lib/faker/default/internet.rb +35 -22
- data/lib/faker/default/invoice.rb +3 -3
- data/lib/faker/default/json.rb +6 -6
- data/lib/faker/default/lorem.rb +20 -20
- data/lib/faker/default/lorem_flickr.rb +4 -4
- data/lib/faker/default/lorem_pixel.rb +1 -1
- data/lib/faker/default/markdown.rb +7 -7
- data/lib/faker/default/measurement.rb +8 -8
- data/lib/faker/default/name.rb +2 -4
- data/lib/faker/default/nhs.rb +7 -7
- data/lib/faker/default/number.rb +35 -27
- data/lib/faker/default/omniauth.rb +11 -11
- data/lib/faker/default/phone_number.rb +1 -1
- data/lib/faker/default/placeholdit.rb +1 -1
- data/lib/faker/default/relationship.rb +1 -1
- data/lib/faker/default/source.rb +2 -2
- data/lib/faker/default/south_africa.rb +1 -1
- data/lib/faker/default/space.rb +2 -2
- data/lib/faker/default/string.rb +1 -1
- data/lib/faker/default/stripe.rb +4 -4
- data/lib/faker/default/time.rb +23 -8
- data/lib/faker/default/twitter.rb +30 -30
- data/lib/faker/default/types.rb +7 -7
- data/lib/faker/default/vehicle.rb +5 -5
- data/lib/faker/default/world_cup.rb +2 -2
- data/lib/faker/games/dota.rb +1 -1
- data/lib/faker/games/elder_scrolls.rb +1 -1
- data/lib/faker/games/fallout.rb +1 -1
- data/lib/faker/games/game.rb +21 -0
- data/lib/faker/games/half_life.rb +1 -1
- data/lib/faker/games/heroes.rb +1 -1
- data/lib/faker/games/heroes_of_the_storm.rb +1 -1
- data/lib/faker/games/league_of_legends.rb +1 -1
- data/lib/faker/games/myst.rb +1 -1
- data/lib/faker/games/overwatch.rb +1 -1
- data/lib/faker/games/pokemon.rb +1 -1
- data/lib/faker/games/sonic_the_hedgehog.rb +1 -1
- data/lib/faker/games/super_smash_bros.rb +1 -1
- data/lib/faker/games/witcher.rb +1 -1
- data/lib/faker/games/world_of_warcraft.rb +1 -1
- data/lib/faker/games/zelda.rb +1 -1
- data/lib/faker/japanese_media/dragon_ball.rb +1 -1
- data/lib/faker/japanese_media/one_piece.rb +1 -1
- data/lib/faker/japanese_media/sword_art_online.rb +1 -1
- data/lib/faker/movies/back_to_the_future.rb +1 -1
- data/lib/faker/movies/ghostbusters.rb +1 -1
- data/lib/faker/movies/harry_potter.rb +1 -1
- data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +1 -1
- data/lib/faker/movies/hobbit.rb +1 -1
- data/lib/faker/movies/lebowski.rb +1 -1
- data/lib/faker/movies/lord_of_the_rings.rb +1 -1
- data/lib/faker/movies/princess_bride.rb +1 -1
- data/lib/faker/movies/star_wars.rb +2 -2
- data/lib/faker/movies/v_for_vendetta.rb +1 -1
- data/lib/faker/{movies → music}/grateful_dead.rb +3 -1
- data/lib/faker/music/opera.rb +26 -0
- data/lib/faker/sports/basketball.rb +25 -0
- data/lib/faker/sports/football.rb +29 -0
- data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +1 -1
- data/lib/faker/tv_shows/bojack_horseman.rb +1 -1
- data/lib/faker/tv_shows/breaking_bad.rb +1 -1
- data/lib/faker/tv_shows/buffy.rb +1 -1
- data/lib/faker/tv_shows/community.rb +1 -1
- data/lib/faker/tv_shows/dr_who.rb +1 -1
- data/lib/faker/tv_shows/dumb_and_dumber.rb +1 -1
- data/lib/faker/tv_shows/family_guy.rb +1 -1
- data/lib/faker/tv_shows/friends.rb +1 -1
- data/lib/faker/tv_shows/game_of_thrones.rb +1 -1
- data/lib/faker/tv_shows/hey_arnold.rb +1 -1
- data/lib/faker/tv_shows/how_i_met_your_mother.rb +1 -1
- data/lib/faker/tv_shows/michael_scott.rb +1 -1
- data/lib/faker/tv_shows/new_girl.rb +1 -1
- data/lib/faker/tv_shows/parks_and_rec.rb +1 -1
- data/lib/faker/tv_shows/rick_and_morty.rb +1 -1
- data/lib/faker/tv_shows/ru_paul.rb +1 -1
- data/lib/faker/tv_shows/seinfeld.rb +1 -1
- data/lib/faker/tv_shows/silicon_valley.rb +1 -1
- data/lib/faker/tv_shows/simpsons.rb +1 -1
- data/lib/faker/tv_shows/south_park.rb +1 -1
- data/lib/faker/tv_shows/star_trek.rb +1 -1
- data/lib/faker/tv_shows/stargate.rb +1 -1
- data/lib/faker/tv_shows/stranger_things.rb +1 -1
- data/lib/faker/tv_shows/the_expanse.rb +1 -1
- data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +1 -1
- data/lib/faker/tv_shows/the_it_crowd.rb +1 -1
- data/lib/faker/tv_shows/the_thick_of_it.rb +1 -1
- data/lib/faker/tv_shows/twin_peaks.rb +1 -1
- data/lib/faker/tv_shows/venture_bros.rb +1 -1
- data/lib/faker/version.rb +1 -1
- data/lib/locales/en-AU.yml +1 -1
- data/lib/locales/en-IND.yml +1 -1
- data/lib/locales/en.yml +4 -1
- data/lib/locales/en/address.yml +1 -4
- data/lib/locales/en/animal.yml +2 -2
- data/lib/locales/en/basketball.yml +99 -0
- data/lib/locales/en/cannabis.yml +1 -0
- data/lib/locales/en/company.yml +1 -0
- data/lib/locales/en/crypto_coin.yml +22 -6
- data/lib/locales/en/dc_comics.yml +5 -5
- data/lib/locales/en/dota.yml +3 -1
- data/lib/locales/en/food.yml +1 -1
- data/lib/locales/en/game.yml +283 -0
- data/lib/locales/en/grateful_dead.yml +2 -1
- data/lib/locales/en/heroes_of_the_storm.yml +2 -2
- data/lib/locales/en/horse.yml +6 -0
- data/lib/locales/en/kpop.yml +1 -1
- data/lib/locales/en/league_of_legends.yml +2 -2
- data/lib/locales/en/music.yml +1 -1
- data/lib/locales/en/nation.yml +1 -1
- data/lib/locales/en/opera.yml +172 -0
- data/lib/locales/en/phish.yml +1 -1
- data/lib/locales/en/rupaul.yml +51 -21
- data/lib/locales/en/space.yml +2 -2
- data/lib/locales/en/stargate.yml +1 -2
- data/lib/locales/en/subscription.yml +1 -1
- data/lib/locales/en/super_smash_bros.yml +8 -0
- data/lib/locales/en/verbs.yml +2 -2
- data/lib/locales/fr-CA.yml +0 -5
- data/lib/locales/fr-CH.yml +0 -1
- data/lib/locales/fr.yml +1 -1
- data/lib/locales/hy.yml +47 -2
- data/lib/locales/ja.yml +16 -0
- data/lib/locales/pt-BR.yml +4 -1
- data/lib/locales/vi.yml +1 -1
- data/lib/locales/zh-CN.yml +3 -6
- data/lib/locales/zh-TW.yml +2 -2
- metadata +62 -110
- data/lib/faker/default/creature.rb +0 -6
- data/lib/faker/default/football.rb +0 -27
- data/lib/faker/default/games.rb +0 -6
- data/lib/faker/default/japanese_media.rb +0 -6
- data/lib/faker/default/movies.rb +0 -6
- data/lib/faker/default/tv_shows.rb +0 -6
- data/lib/faker/deprecate/aqua_teen_hunger_force.rb +0 -15
- data/lib/faker/deprecate/back_to_the_future.rb +0 -25
- data/lib/faker/deprecate/bitcoin.rb +0 -20
- data/lib/faker/deprecate/bojack_horseman.rb +0 -25
- data/lib/faker/deprecate/breaking_bad.rb +0 -20
- data/lib/faker/deprecate/buffy.rb +0 -35
- data/lib/faker/deprecate/cat.rb +0 -25
- data/lib/faker/deprecate/community.rb +0 -20
- data/lib/faker/deprecate/dog.rb +0 -50
- data/lib/faker/deprecate/dota.rb +0 -35
- data/lib/faker/deprecate/dr_who.rb +0 -45
- data/lib/faker/deprecate/dragon_ball.rb +0 -15
- data/lib/faker/deprecate/dumb_and_dumber.rb +0 -25
- data/lib/faker/deprecate/dune.rb +0 -35
- data/lib/faker/deprecate/elder_scrolls.rb +0 -50
- data/lib/faker/deprecate/ethereum.rb +0 -15
- data/lib/faker/deprecate/fallout.rb +0 -30
- data/lib/faker/deprecate/family_guy.rb +0 -25
- data/lib/faker/deprecate/famous_last_words.rb +0 -15
- data/lib/faker/deprecate/friends.rb +0 -25
- data/lib/faker/deprecate/game_of_thrones.rb +0 -35
- data/lib/faker/deprecate/harry_potter.rb +0 -40
- data/lib/faker/deprecate/heroes_of_the_storm.rb +0 -30
- data/lib/faker/deprecate/hey_arnold.rb +0 -25
- data/lib/faker/deprecate/hitchhikers_guide_to_the_galaxy.rb +0 -44
- data/lib/faker/deprecate/hobbit.rb +0 -30
- data/lib/faker/deprecate/how_i_met_your_mother.rb +0 -30
- data/lib/faker/deprecate/league_of_legends.rb +0 -40
- data/lib/faker/deprecate/lebowski.rb +0 -25
- data/lib/faker/deprecate/lord_of_the_rings.rb +0 -25
- data/lib/faker/deprecate/lovecraft.rb +0 -65
- data/lib/faker/deprecate/matz.rb +0 -15
- data/lib/faker/deprecate/michael_scott.rb +0 -15
- data/lib/faker/deprecate/most_interesting_man_in_the_world.rb +0 -15
- data/lib/faker/deprecate/myst.rb +0 -35
- data/lib/faker/deprecate/new_girl.rb +0 -20
- data/lib/faker/deprecate/one_piece.rb +0 -40
- data/lib/faker/deprecate/overwatch.rb +0 -25
- data/lib/faker/deprecate/parks_and_rec.rb +0 -20
- data/lib/faker/deprecate/pokemon.rb +0 -25
- data/lib/faker/deprecate/princess_bride.rb +0 -20
- data/lib/faker/deprecate/rick_and_morty.rb +0 -25
- data/lib/faker/deprecate/robin.rb +0 -15
- data/lib/faker/deprecate/rock_band.rb +0 -15
- data/lib/faker/deprecate/ru_paul.rb +0 -20
- data/lib/faker/deprecate/seinfeld.rb +0 -25
- data/lib/faker/deprecate/shakespeare.rb +0 -50
- data/lib/faker/deprecate/silicon_valley.rb +0 -50
- data/lib/faker/deprecate/simpsons.rb +0 -25
- data/lib/faker/deprecate/singular_siegler.rb +0 -15
- data/lib/faker/deprecate/south_park.rb +0 -20
- data/lib/faker/deprecate/star_trek.rb +0 -30
- data/lib/faker/deprecate/star_wars.rb +0 -95
- data/lib/faker/deprecate/stargate.rb +0 -25
- data/lib/faker/deprecate/stranger_things.rb +0 -20
- data/lib/faker/deprecate/sword_art_online.rb +0 -30
- data/lib/faker/deprecate/tezos.rb +0 -33
- data/lib/faker/deprecate/the_fresh_prince_of_bel_air.rb +0 -25
- data/lib/faker/deprecate/the_it_crowd.rb +0 -30
- data/lib/faker/deprecate/the_thick_of_it.rb +0 -25
- data/lib/faker/deprecate/twin_peaks.rb +0 -25
- data/lib/faker/deprecate/umphreys_mcgee.rb +0 -15
- data/lib/faker/deprecate/v_for_vendetta.rb +0 -25
- data/lib/faker/deprecate/venture_bros.rb +0 -30
- data/lib/faker/deprecate/witcher.rb +0 -40
- data/lib/faker/deprecate/world_of_warcraft.rb +0 -20
- data/lib/faker/deprecate/yoda.rb +0 -16
- data/lib/faker/deprecate/zelda.rb +0 -30
data/lib/faker/books/dune.rb
CHANGED
|
@@ -19,7 +19,7 @@ module Faker
|
|
|
19
19
|
fetch('dune.planets')
|
|
20
20
|
end
|
|
21
21
|
|
|
22
|
-
def quote(character
|
|
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
|
|
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(
|
|
12
|
-
Array.new(
|
|
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
|
|
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(
|
|
33
|
-
resolved_num = resolve(
|
|
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(
|
|
43
|
+
def sentences(number: 3)
|
|
44
44
|
[].tap do |sentences|
|
|
45
|
-
1.upto(resolve(
|
|
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
|
|
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(
|
|
55
|
+
def paragraphs(number: 3)
|
|
56
56
|
[].tap do |paragraphs|
|
|
57
|
-
1.upto(resolve(
|
|
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(
|
|
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 <
|
|
66
|
+
paragraph += ' ' + paragraph(sentence_count: 3) while paragraph.length < characters
|
|
67
67
|
|
|
68
|
-
paragraph[0...
|
|
68
|
+
paragraph[0...characters - 1] + '.'
|
|
69
69
|
end
|
|
70
70
|
end
|
|
71
71
|
end
|
data/lib/faker/creature/cat.rb
CHANGED
data/lib/faker/creature/dog.rb
CHANGED
|
@@ -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
|
|
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(
|
|
10
|
-
char_count = resolve(
|
|
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(
|
|
17
|
-
char_count = resolve(
|
|
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
|
data/lib/faker/default/avatar.rb
CHANGED
|
@@ -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
|
|
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
|
|
data/lib/faker/default/bank.rb
CHANGED
|
@@ -5,7 +5,7 @@ module Faker
|
|
|
5
5
|
flexible :bank
|
|
6
6
|
|
|
7
7
|
class << self
|
|
8
|
-
def account_number(digits
|
|
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
|
|
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
|
|
@@ -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
|
|
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
|
|
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
|
data/lib/faker/default/code.rb
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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}/)
|
data/lib/faker/default/coffee.rb
CHANGED
|
@@ -7,15 +7,15 @@ module Faker
|
|
|
7
7
|
fetch('color.name')
|
|
8
8
|
end
|
|
9
9
|
|
|
10
|
-
def promotion_code(digits
|
|
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
|
|
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
|
|
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
|
|
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
|
|
10
|
+
def coin_name(coin: coin_array)
|
|
11
11
|
coin[COIN_NAME]
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
def acronym(coin
|
|
14
|
+
def acronym(coin: coin_array)
|
|
15
15
|
coin[ACRONYM]
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
def url_logo(coin
|
|
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
|
-
|
|
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
|
data/lib/faker/default/date.rb
CHANGED
|
@@ -3,45 +3,45 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Date < Base
|
|
5
5
|
class << self
|
|
6
|
-
def between(from
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|