faker 2.11.0 → 2.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +89 -0
- data/README.md +8 -2
- data/lib/faker.rb +14 -9
- data/lib/faker/default/address.rb +1 -1
- data/lib/faker/default/bank.rb +79 -0
- data/lib/faker/default/blood.rb +48 -0
- data/lib/faker/default/business.rb +1 -1
- data/lib/faker/default/commerce.rb +73 -10
- data/lib/faker/default/company.rb +39 -0
- data/lib/faker/default/compass.rb +135 -0
- data/lib/faker/default/computer.rb +63 -0
- data/lib/faker/default/construction.rb +54 -0
- data/lib/faker/default/cosmere.rb +90 -0
- data/lib/faker/default/crypto_coin.rb +45 -0
- data/lib/faker/default/driving_licence.rb +42 -0
- data/lib/faker/default/file.rb +49 -0
- data/lib/faker/default/finance.rb +24 -0
- data/lib/faker/default/hipster.rb +94 -0
- data/lib/faker/default/invoice.rb +32 -5
- data/lib/faker/default/json.rb +55 -0
- data/lib/faker/default/measurement.rb +90 -0
- data/lib/faker/default/name.rb +83 -0
- data/lib/faker/default/phone_number.rb +88 -5
- data/lib/faker/default/placeholdit.rb +21 -0
- data/lib/faker/default/slack_emoji.rb +81 -0
- data/lib/faker/default/south_africa.rb +90 -0
- data/lib/faker/default/string.rb +19 -3
- data/lib/faker/default/stripe.rb +61 -0
- data/lib/faker/default/twitter.rb +35 -0
- data/lib/faker/default/types.rb +80 -0
- data/lib/faker/default/university.rb +45 -0
- data/lib/faker/default/vehicle.rb +184 -4
- data/lib/faker/default/verb.rb +45 -0
- data/lib/faker/games/control.rb +113 -0
- data/lib/faker/games/dnd.rb +61 -0
- data/lib/faker/games/warhammer_fantasy.rb +74 -0
- data/lib/faker/movies/departed.rb +49 -0
- data/lib/faker/music/pearl_jam.rb +50 -0
- data/lib/faker/music/phish.rb +27 -1
- data/lib/faker/music/show.rb +49 -0
- data/lib/faker/quotes/quote.rb +54 -1
- data/lib/faker/quotes/shakespeare.rb +36 -0
- data/lib/faker/tv_shows/suits.rb +37 -0
- data/lib/faker/version.rb +1 -1
- data/lib/helpers/char.rb +2 -1
- data/lib/locales/de-CH.yml +1693 -0
- data/lib/locales/en-AU.yml +44 -10
- data/lib/locales/en-CA.yml +2 -0
- data/lib/locales/en-US.yml +29 -3
- data/lib/locales/en/address.yml +2 -0
- data/lib/locales/en/blood.yml +13 -0
- data/lib/locales/en/computer.yml +36 -0
- data/lib/locales/en/control.yml +247 -0
- data/lib/locales/en/departed.yml +50 -0
- data/lib/locales/en/dnd.yml +54 -0
- data/lib/locales/en/heroes_of_the_storm.yml +1 -1
- data/lib/locales/en/house.yml +1 -1
- data/lib/locales/en/one_piece.yml +2 -2
- data/lib/locales/en/pearl_jam.yml +213 -0
- data/lib/locales/en/phish.yml +392 -1
- data/lib/locales/en/show.yml +597 -0
- data/lib/locales/en/star_wars.yml +568 -221
- data/lib/locales/en/suits.yml +45 -0
- data/lib/locales/en/warhammer_fantasy.yml +582 -0
- data/lib/locales/fr-CA.yml +2 -0
- data/lib/locales/ko.yml +82 -0
- data/lib/locales/pt-BR.yml +1 -0
- metadata +29 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e07357f193be20c639621339c209b48ee1a99bb64528e2f3d2c4b61afed8b8b
|
4
|
+
data.tar.gz: 39d54382315e2fd6abe4b8275b5bee60c832ef2b045ae16bba46e82233ab7697
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16d0fdaf172d74ffa7c1cd1ae88e55801313f779e1d2be385941ec7dfa9b2922dacd104406eaa5f060545bbd3b33c840fa9f72f90637e3dc045d70706ab57a61
|
7
|
+
data.tar.gz: 5589900168ed8cb068fc6682751f1bc8edf6cbe6d8afc191aaf8668af05ee08edfeebb02e446748a18104623fe09f4205206dbc1b2600c732f3a7abc1d46d556
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,94 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [v2.12.0](https://github.com/faker-ruby/faker/tree/v2.12.0) (2020-05-31)
|
4
|
+
|
5
|
+
This version:
|
6
|
+
- adds several YARD docs
|
7
|
+
- fixes some locale issues
|
8
|
+
- fixes a few bugs in Faker generators
|
9
|
+
- improves code quality
|
10
|
+
- adds a few generators for Movies, Music and TV Shows
|
11
|
+
- updates local dependencies
|
12
|
+
|
13
|
+
## Bug/Fixes
|
14
|
+
|
15
|
+
- [PR #2019](https://github.com/faker-ruby/faker/pull/2019) Update 'prepare' regexp to allow hyphen [@jbergenson](https://github.com/jbergenson)
|
16
|
+
- [PR #2012](https://github.com/faker-ruby/faker/pull/2012) Add else condition to prevent false positive [@jbergenson](https://github.com/jbergenson)
|
17
|
+
- [PR #1985](https://github.com/faker-ruby/faker/pull/1985) Fix an error for `Faker::Computer.os` [@koic](https://github.com/koic)
|
18
|
+
- [PR #1971](https://github.com/faker-ruby/faker/pull/1971) Fixing the CI failure by fixing the infinite loop in Commerce [@amatsuda](https://github.com/amatsuda)
|
19
|
+
|
20
|
+
## Chores
|
21
|
+
|
22
|
+
- [PR #1988](https://github.com/faker-ruby/faker/pull/1988) Removing meaningless begin and end [@amatsuda](https://github.com/amatsuda)
|
23
|
+
- [PR #1979](https://github.com/faker-ruby/faker/pull/1979) Reuse the `lvar` instead of calling `File.dirname(__FILE__)` again and again [@amatsuda](https://github.com/amatsuda)
|
24
|
+
|
25
|
+
## Documentation
|
26
|
+
|
27
|
+
- [PR #2022](https://github.com/faker-ruby/faker/pull/2022) Add YARD docs to `Faker::Invoice` [@danielTiringer](https://github.com/danielTiringer)
|
28
|
+
- [PR #2021](https://github.com/faker-ruby/faker/pull/2021) Add YARD docs to `Faker::Hipster` [@danielTiringer](https://github.com/danielTiringer)
|
29
|
+
- [PR #2020](https://github.com/faker-ruby/faker/pull/2020) Add YARD docs to `Faker::Measurement` [@danielTiringer](https://github.com/danielTiringer)
|
30
|
+
- [PR #2017](https://github.com/faker-ruby/faker/pull/2017) Fix docs for `Faker::Games::Control.altered_world_event` [@Zeragamba](https://github.com/Zeragamba)
|
31
|
+
- [PR #2016](https://github.com/faker-ruby/faker/pull/2016) Fix yard documentation issues [@danielTiringer](https://github.com/danielTiringer)
|
32
|
+
- [PR #2015](https://github.com/faker-ruby/faker/pull/2015) Add YARD docs to `Faker::Quotes` [@danielTiringer](https://github.com/danielTiringer)
|
33
|
+
- [PR #2011](https://github.com/faker-ruby/faker/pull/2011) Update `star_wars.yml` [@garrettmichaelgeorge](https://github.com/garrettmichaelgeorge)
|
34
|
+
- [PR #2010](https://github.com/faker-ruby/faker/pull/2010) Add missing links in README.md [@Naokimi](https://github.com/Naokimi)
|
35
|
+
- [PR #2009](https://github.com/faker-ruby/faker/pull/2009) Add YARD docs to `Faker::Placeholdit` [@danielTiringer](https://github.com/danielTiringer)
|
36
|
+
- [PR #2008](https://github.com/faker-ruby/faker/pull/2008) Add YARD docs to `Faker::Verb` [@danielTiringer](https://github.com/danielTiringer)
|
37
|
+
- [PR #2007](https://github.com/faker-ruby/faker/pull/2007) Add YARD docs to `Faker::Phone_Number` [@danielTiringer](https://github.com/danielTiringer)
|
38
|
+
- [PR #2004](https://github.com/faker-ruby/faker/pull/2004) Add YARD docs to `Faker::String` [@danielTiringer](https://github.com/danielTiringer)
|
39
|
+
- [PR #2001](https://github.com/faker-ruby/faker/pull/2001) Add YARD docs to `Faker::South_Africa` [@danielTiringer](https://github.com/danielTiringer)
|
40
|
+
- [PR #2000](https://github.com/faker-ruby/faker/pull/2000) Add YARD docs to `Faker::JSON` [@danielTiringer](https://github.com/danielTiringer)
|
41
|
+
- [PR #1999](https://github.com/faker-ruby/faker/pull/1999) Add YARD docs to `Faker::Types` [@danielTiringer](https://github.com/danielTiringer)
|
42
|
+
- [PR #1998](https://github.com/faker-ruby/faker/pull/1998) Add YARD docs to `Faker::Finance` [@danielTiringer](https://github.com/danielTiringer)
|
43
|
+
- [PR #1997](https://github.com/faker-ruby/faker/pull/1997) Add YARD docs to `Faker::Driving_Licence` [@danielTiringer](https://github.com/danielTiringer)
|
44
|
+
- [PR #1996](https://github.com/faker-ruby/faker/pull/1996) Add YARD docs to `Crypto Coin` [@danielTiringer](https://github.com/danielTiringer)
|
45
|
+
- [PR #1995](https://github.com/faker-ruby/faker/pull/1995) Add YARD docs to `Faker::Commerce` [@danielTiringer](https://github.com/danielTiringer)
|
46
|
+
- [PR #1993](https://github.com/faker-ruby/faker/pull/1993) Add YARD docs to `Faker::Vehicle` [@danielTiringer](https://github.com/danielTiringer)
|
47
|
+
- [PR #1990](https://github.com/faker-ruby/faker/pull/1990) Add YARD docs to `Faker::File` [@danielTiringer](https://github.com/danielTiringer)
|
48
|
+
- [PR #1989](https://github.com/faker-ruby/faker/pull/1989) Add YARD docs to `Faker::Bank` [@danielTiringer](https://github.com/danielTiringer)
|
49
|
+
- [PR #1984](https://github.com/faker-ruby/faker/pull/1984) Minor documentation fix for `Faker::University` [@Zeragamba](https://github.com/Zeragamba)
|
50
|
+
- [PR #1983](https://github.com/faker-ruby/faker/pull/1983) Add YARD docs to `Faker::Twitter` [@danielTiringer](https://github.com/danielTiringer)
|
51
|
+
- [PR #1982](https://github.com/faker-ruby/faker/pull/1982) Add YARD docs to `Faker::Cosmere` [@danielTiringer](https://github.com/danielTiringer)
|
52
|
+
- [PR #1981](https://github.com/faker-ruby/faker/pull/1981) Add YARD docs to `Faker::Stripe` [@danielTiringer](https://github.com/danielTiringer)
|
53
|
+
- [PR #1980](https://github.com/faker-ruby/faker/pull/1980) Add YARD docs to `Faker::Construction` [@danielTiringer](https://github.com/danielTiringer)
|
54
|
+
- [PR #1976](https://github.com/faker-ruby/faker/pull/1976) Add YARD docs to `Faker::Name` [@danielTiringer](https://github.com/danielTiringer)
|
55
|
+
- [PR #1975](https://github.com/faker-ruby/faker/pull/1975) Add YARD docs to `Faker::Compass` [@danielTiringer](https://github.com/danielTiringer)
|
56
|
+
- [PR #1959](https://github.com/faker-ruby/faker/pull/1959) Add YARD docs to `Faker::University` [@danielTiringer](https://github.com/danielTiringer)
|
57
|
+
- [PR #1956](https://github.com/faker-ruby/faker/pull/1956) Add YARD docs to `Faker::SlackEmoji` [@rutger-t](https://github.com/rutger-t)
|
58
|
+
- [PR #1943](https://github.com/faker-ruby/faker/pull/1943) Update documentation for unique.exclude [@mtancoigne](https://github.com/mtancoigne)
|
59
|
+
- [PR #1925](https://github.com/faker-ruby/faker/pull/1925) AdD `Faker::Game::WarhammerFantasy` [@sotek222](https://github.com/sotek222)
|
60
|
+
|
61
|
+
## Feature Request
|
62
|
+
|
63
|
+
- [PR #2025](https://github.com/faker-ruby/faker/pull/2025) Add `Faker::TvShows::Suits` [@ash-elangovan](https://github.com/ash-elangovan)
|
64
|
+
- [PR #2024](https://github.com/faker-ruby/faker/pull/2024) Added Phish Albums and Musicians [@zfine416](https://github.com/zfine416)
|
65
|
+
- [PR #2013](https://github.com/faker-ruby/faker/pull/2013) Add `Faker::Games::Control` [@Zeragamba](https://github.com/Zeragamba)
|
66
|
+
- [PR #1994](https://github.com/faker-ruby/faker/pull/1994) Enable Ruby testing github workflow [@Zeragamba](https://github.com/Zeragamba)
|
67
|
+
- [PR #1966](https://github.com/faker-ruby/faker/pull/1966) Add `Faker::Games:DnD` [@Naokimi](https://github.com/Naokimi)
|
68
|
+
- [PR #1962](https://github.com/faker-ruby/faker/pull/1962) Adding Pearl Jam to the Music module [@briri](https://github.com/briri)
|
69
|
+
- [PR #1960](https://github.com/faker-ruby/faker/pull/1960) Added `Faker::Blood` [@suraj32](https://github.com/suraj32)
|
70
|
+
- [PR #1931](https://github.com/faker-ruby/faker/pull/1931) Add `Faker::Movies::Departed` Class [@jaebradley](https://github.com/jaebradley)
|
71
|
+
- [PR #1696](https://github.com/faker-ruby/faker/pull/1696) Add Bibles class with King James subclass [@jbergenson](https://github.com/jbergenson)
|
72
|
+
- [PR #1485](https://github.com/faker-ruby/faker/pull/1485) Plays and musicals [@armandofox](https://github.com/armandofox)
|
73
|
+
|
74
|
+
## Update locales
|
75
|
+
|
76
|
+
- [PR #2014](https://github.com/faker-ruby/faker/pull/2014) Make locale self-contained [@psibi](https://github.com/psibi)
|
77
|
+
- [PR #1986](https://github.com/faker-ruby/faker/pull/1986) Added quotations to Shirahoshi [@iavivai](https://github.com/iavivai)
|
78
|
+
- [PR #1973](https://github.com/faker-ruby/faker/pull/1973) Fix mis-quotations [@kayhide](https://github.com/kayhide)
|
79
|
+
- [PR #1967](https://github.com/faker-ruby/faker/pull/1967) ko locale updates [@jae57](https://github.com/jae57)
|
80
|
+
- [PR #1964](https://github.com/faker-ruby/faker/pull/1964) en-AU locale updates [@mattman](https://github.com/mattman)
|
81
|
+
- [PR #1948](https://github.com/faker-ruby/faker/pull/1948) Add `Faker::Computer` [@cmcramer](https://github.com/cmcramer)
|
82
|
+
|
83
|
+
## Update local dependencies
|
84
|
+
|
85
|
+
- Update minitest requirement from = 5.14.0 to = 5.14.1 (#1987)
|
86
|
+
- Update rubocop requirement from = 0.80.1 to = 0.81.0 (#1955)
|
87
|
+
- Update pry requirement from = 0.13.0 to = 0.13.1 (#1963)
|
88
|
+
- Update yard requirement from = 0.9.24 to = 0.9.25 (#1970)
|
89
|
+
|
90
|
+
------------------------------------------------------------------------------
|
91
|
+
|
3
92
|
## [v2.11.0](https://github.com/faker-ruby/faker/tree/v2.11.0) (2020-03-24)
|
4
93
|
|
5
94
|
## Bug/Fixes
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|

|
3
3
|
|
4
4
|
# Faker
|
5
|
-
[](https://github.com/faker-ruby/faker/actions?query=workflow%3ATests)
|
6
6
|
[](https://badge.fury.io/rb/faker)
|
7
7
|
[](https://inch-ci.org/github/faker-ruby/faker)
|
8
8
|
[](https://codeclimate.com/github/stympy/faker/test_coverage)
|
@@ -95,7 +95,7 @@ manually set values).
|
|
95
95
|
# Faker::<generator>.unique.exclude(method, arguments, list)
|
96
96
|
|
97
97
|
# Add 'azerty' and 'wxcvbn' to the string generator with 6 char length
|
98
|
-
Faker::Lorem.unique.exclude :string, [6], %w[azerty wxcvbn]
|
98
|
+
Faker::Lorem.unique.exclude :string, [number: 6], %w[azerty wxcvbn]
|
99
99
|
```
|
100
100
|
|
101
101
|
### Deterministic Random
|
@@ -131,6 +131,7 @@ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'mast
|
|
131
131
|
- [Faker::Avatar](doc/default/avatar.md)
|
132
132
|
- [Faker::Bank](doc/default/bank.md)
|
133
133
|
- [Faker::Beer](doc/default/beer.md)
|
134
|
+
- [Faker::Blood](doc/default/blood.md)
|
134
135
|
- [Faker::Boolean](doc/default/boolean.md)
|
135
136
|
- [Faker::BossaNova](doc/default/bossa_nova.md)
|
136
137
|
- [Faker::Business](doc/default/business.md)
|
@@ -144,6 +145,7 @@ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'mast
|
|
144
145
|
- [Faker::Commerce](doc/default/commerce.md)
|
145
146
|
- [Faker::Company](doc/default/company.md)
|
146
147
|
- [Faker::Compass](doc/default/compass.md)
|
148
|
+
- [Faker::Computer](doc/default/computer.md)
|
147
149
|
- [Faker::Construction](doc/default/construction.md)
|
148
150
|
- [Faker::Cosmere](doc/default/cosmere.md)
|
149
151
|
- [Faker::Crypto](doc/default/crypto.md)
|
@@ -231,6 +233,7 @@ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'mast
|
|
231
233
|
|
232
234
|
### Games
|
233
235
|
- [Faker::Game](doc/games/game.md)
|
236
|
+
- [Faker::Games::DnD](doc/games/dnd.md)
|
234
237
|
- [Faker::Games::Dota](doc/games/dota.md)
|
235
238
|
- [Faker::Games::ElderScrolls](doc/games/elder_scrolls.md)
|
236
239
|
- [Faker::Games::Fallout](doc/games/fallout.md)
|
@@ -243,6 +246,7 @@ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'mast
|
|
243
246
|
- [Faker::Games::Pokemon](doc/games/pokemon.md)
|
244
247
|
- [Faker::Games::SonicTheHedgehog](doc/games/sonic_the_hedgehog.md)
|
245
248
|
- [Faker::Games::SuperSmashBros](doc/games/super_smash_bros.md)
|
249
|
+
- [Faker::Games::WarhammerFantasy](doc/games/warhammer_fantasy.md)
|
246
250
|
- [Faker::Games::Witcher](doc/games/witcher.md)
|
247
251
|
- [Faker::Games::WorldOfWarcraft](doc/games/world_of_warcraft.md)
|
248
252
|
- [Faker::Games::Zelda](doc/games/zelda.md)
|
@@ -255,6 +259,7 @@ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'mast
|
|
255
259
|
### Movies
|
256
260
|
- [Faker::Movie](doc/movies/movie.md)
|
257
261
|
- [Faker::Movies::BackToTheFuture](doc/movies/back_to_the_future.md)
|
262
|
+
- [Faker::Movies::Departed](doc/movies/departed.md)
|
258
263
|
- [Faker::Movies::Ghostbusters](doc/movies/ghostbusters.md)
|
259
264
|
- [Faker::Movies::HarryPotter](doc/movies/harry_potter.md)
|
260
265
|
- [Faker::Movies::HitchhikersGuideToTheGalaxy](doc/movies/hitchhikers_guide_to_the_galaxy.md)
|
@@ -309,6 +314,7 @@ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'mast
|
|
309
314
|
- [Faker::TvShows::StarTrek](doc/tv_shows/star_trek.md)
|
310
315
|
- [Faker::TvShows::Stargate](doc/tv_shows/stargate.md)
|
311
316
|
- [Faker::TvShows::StrangerThings](doc/tv_shows/stranger_things.md)
|
317
|
+
- [Faker::TvShows::Suits](doc/tv_shows/suits.md)
|
312
318
|
- [Faker::TvShows::TheExpanse](doc/tv_shows/the_expanse.md)
|
313
319
|
- [Faker::TvShows::TheFreshPrinceOfBelAir](doc/tv_shows/the_fresh_prince_of_bel_air.md)
|
314
320
|
- [Faker::TvShows::TheITCrowd](doc/tv_shows/the_it_crowd.md)
|
data/lib/faker.rb
CHANGED
@@ -2,14 +2,11 @@
|
|
2
2
|
|
3
3
|
mydir = __dir__
|
4
4
|
|
5
|
-
|
6
|
-
require 'psych'
|
7
|
-
end
|
8
|
-
|
5
|
+
require 'psych'
|
9
6
|
require 'i18n'
|
10
7
|
require 'set' # Fixes a bug in i18n 0.6.11
|
11
8
|
|
12
|
-
Dir.glob(File.join(
|
9
|
+
Dir.glob(File.join(mydir, 'helpers', '*.rb')).sort.each { |file| require file }
|
13
10
|
|
14
11
|
I18n.load_path += Dir[File.join(mydir, 'locales', '**/*.yml')]
|
15
12
|
I18n.reload! if I18n.backend.initialized?
|
@@ -132,7 +129,7 @@ module Faker
|
|
132
129
|
# In either case the information will be retained for reconstruction of the string.
|
133
130
|
text = prefix
|
134
131
|
|
135
|
-
# If the class has the method, call it, otherwise fetch the
|
132
|
+
# If the class has the method, call it, otherwise fetch the translation
|
136
133
|
# (e.g., faker.phone_number.area_code)
|
137
134
|
text += if cls.respond_to?(meth)
|
138
135
|
cls.send(meth)
|
@@ -225,8 +222,16 @@ module Faker
|
|
225
222
|
@unique ||= UniqueGenerator.new(self, max_retries)
|
226
223
|
end
|
227
224
|
|
228
|
-
def sample(list)
|
229
|
-
list.respond_to?(:sample)
|
225
|
+
def sample(list, num = nil)
|
226
|
+
if list.respond_to?(:sample)
|
227
|
+
if num
|
228
|
+
list.sample(num, random: Faker::Config.random)
|
229
|
+
else
|
230
|
+
list.sample(random: Faker::Config.random)
|
231
|
+
end
|
232
|
+
else
|
233
|
+
list
|
234
|
+
end
|
230
235
|
end
|
231
236
|
|
232
237
|
def shuffle(list)
|
@@ -307,4 +312,4 @@ module Faker
|
|
307
312
|
end
|
308
313
|
|
309
314
|
# require faker objects
|
310
|
-
Dir.glob(File.join(
|
315
|
+
Dir.glob(File.join(mydir, 'faker', '/**/*.rb')).sort.each { |file| require file }
|
data/lib/faker/default/bank.rb
CHANGED
@@ -5,6 +5,17 @@ module Faker
|
|
5
5
|
flexible :bank
|
6
6
|
|
7
7
|
class << self
|
8
|
+
##
|
9
|
+
# Produces a bank account number.
|
10
|
+
#
|
11
|
+
# @param digits [Integer] Number of digits that the generated account number should have.
|
12
|
+
# @return [String]
|
13
|
+
#
|
14
|
+
# @example
|
15
|
+
# Faker::Bank.account_number #=> 6738582379
|
16
|
+
# Faker::Bank.account_number(digits: 13) #=> 673858237902
|
17
|
+
#
|
18
|
+
# @faker.version 1.9.1
|
8
19
|
def account_number(legacy_digits = NOT_GIVEN, digits: 10)
|
9
20
|
warn_for_deprecated_arguments do |keywords|
|
10
21
|
keywords << :digits if legacy_digits != NOT_GIVEN
|
@@ -17,6 +28,17 @@ module Faker
|
|
17
28
|
output[0...digits]
|
18
29
|
end
|
19
30
|
|
31
|
+
##
|
32
|
+
# Produces a bank iban number.
|
33
|
+
#
|
34
|
+
# @param country_code [String] Specifies what country prefix is used to generate the iban code.
|
35
|
+
# @return [String]
|
36
|
+
#
|
37
|
+
# @example
|
38
|
+
# Faker::Bank.iban #=> "GB76DZJM33188515981979"
|
39
|
+
# Faker::Bank.iban(country_code: "be") #=> "BE6375388567752043"
|
40
|
+
#
|
41
|
+
# @faker.version 1.7.0
|
20
42
|
def iban(legacy_country_code = NOT_GIVEN, country_code: 'GB')
|
21
43
|
# Each country has its own format for bank accounts
|
22
44
|
# Many of them use letters in certain parts of the account
|
@@ -38,22 +60,72 @@ module Faker
|
|
38
60
|
country_code.upcase + iban_checksum(country_code, account) + account
|
39
61
|
end
|
40
62
|
|
63
|
+
##
|
64
|
+
# Produces a bank name.
|
65
|
+
#
|
66
|
+
# @return [String]
|
67
|
+
#
|
68
|
+
# @example
|
69
|
+
# Faker::Bank.name #=> "ABN AMRO CORPORATE FINANCE LIMITED"
|
70
|
+
#
|
71
|
+
# @faker.version 1.7.0
|
41
72
|
def name
|
42
73
|
fetch('bank.name')
|
43
74
|
end
|
44
75
|
|
76
|
+
##
|
77
|
+
# Produces a routing number.
|
78
|
+
#
|
79
|
+
# @return [String]
|
80
|
+
#
|
81
|
+
# @example
|
82
|
+
# Faker::Bank.routing_number #=> "729343831"
|
83
|
+
#
|
84
|
+
# @faker.version 1.9.1
|
45
85
|
def routing_number
|
46
86
|
valid_routing_number
|
47
87
|
end
|
48
88
|
|
89
|
+
##
|
90
|
+
# Produces a valid routing number.
|
91
|
+
#
|
92
|
+
# @return [String]
|
93
|
+
#
|
94
|
+
# @example
|
95
|
+
# Faker::Bank.routing_number #=> "729343831"
|
96
|
+
#
|
97
|
+
# @faker.version 1.9.1
|
49
98
|
def routing_number_with_format
|
50
99
|
compile_fraction(valid_routing_number)
|
51
100
|
end
|
52
101
|
|
102
|
+
##
|
103
|
+
# Produces a swift / bic number.
|
104
|
+
#
|
105
|
+
# @return [String]
|
106
|
+
#
|
107
|
+
# @example
|
108
|
+
# Faker::Bank.swift_bic #=> "AAFMGB21"
|
109
|
+
#
|
110
|
+
# @faker.version 1.7.0
|
53
111
|
def swift_bic
|
54
112
|
fetch('bank.swift_bic')
|
55
113
|
end
|
56
114
|
|
115
|
+
##
|
116
|
+
# Produces an Australian BSB (Bank-State-Branch) number
|
117
|
+
#
|
118
|
+
# @return [String]
|
119
|
+
#
|
120
|
+
# @example
|
121
|
+
# Faker::Bank.bsb_number
|
122
|
+
# #=> "036616"
|
123
|
+
#
|
124
|
+
# @faker.version next
|
125
|
+
def bsb_number
|
126
|
+
compile_bsb_number
|
127
|
+
end
|
128
|
+
|
57
129
|
private
|
58
130
|
|
59
131
|
def checksum(num_string)
|
@@ -72,6 +144,13 @@ module Faker
|
|
72
144
|
routing_num
|
73
145
|
end
|
74
146
|
|
147
|
+
def compile_bsb_number
|
148
|
+
digit_one_two = %w[01 03 06 08 11 12 73 76 78 30]
|
149
|
+
state = (2..7).to_a.map(&:to_s).sample
|
150
|
+
bsb_num = digit_one_two.sample + state + rand_numstring + rand_numstring + rand_numstring
|
151
|
+
bsb_num
|
152
|
+
end
|
153
|
+
|
75
154
|
# Calculates the mandatory checksum in 3rd and 4th characters in IBAN format
|
76
155
|
# source: https://en.wikipedia.org/wiki/International_Bank_Account_Number#Validating_the_IBAN
|
77
156
|
def iban_checksum(country_code, account)
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Blood < Base
|
5
|
+
flexible :blood
|
6
|
+
|
7
|
+
class << self
|
8
|
+
##
|
9
|
+
# Produces a random blood type.
|
10
|
+
#
|
11
|
+
# @return [String]
|
12
|
+
#
|
13
|
+
# @example
|
14
|
+
# Faker::Blood.type #=> "AB"
|
15
|
+
#
|
16
|
+
# @faker.version next
|
17
|
+
def type
|
18
|
+
fetch('blood.type')
|
19
|
+
end
|
20
|
+
|
21
|
+
##
|
22
|
+
# Produces a random blood RH-Factor.
|
23
|
+
#
|
24
|
+
# @return [String]
|
25
|
+
#
|
26
|
+
# @example
|
27
|
+
# Faker::Blood.rh_factor #=> "-"
|
28
|
+
#
|
29
|
+
# @faker.version next
|
30
|
+
def rh_factor
|
31
|
+
fetch('blood.rh_factor')
|
32
|
+
end
|
33
|
+
|
34
|
+
##
|
35
|
+
# Produces a random blood group name.
|
36
|
+
#
|
37
|
+
# @return [String]
|
38
|
+
#
|
39
|
+
# @example
|
40
|
+
# Faker::Blood.group #=> "AB-"
|
41
|
+
#
|
42
|
+
# @faker.version next
|
43
|
+
def group
|
44
|
+
parse('blood.group')
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -26,7 +26,7 @@ module Faker
|
|
26
26
|
# @return [Date]
|
27
27
|
#
|
28
28
|
# @example
|
29
|
-
# Faker::Business.
|
29
|
+
# Faker::Business.credit_card_expiry_date #=> <Date: 2015-11-11 ((2457338j,0s,0n),+0s,2299161j)>
|
30
30
|
#
|
31
31
|
# @faker.version 1.2.0
|
32
32
|
def credit_card_expiry_date
|
@@ -3,10 +3,30 @@
|
|
3
3
|
module Faker
|
4
4
|
class Commerce < Base
|
5
5
|
class << self
|
6
|
+
##
|
7
|
+
# Produces a random color.
|
8
|
+
#
|
9
|
+
# @return [String]
|
10
|
+
#
|
11
|
+
# @example
|
12
|
+
# Faker::Commerce.color #=> "lavender"
|
13
|
+
#
|
14
|
+
# @faker.version 1.2.0
|
6
15
|
def color
|
7
16
|
fetch('color.name')
|
8
17
|
end
|
9
18
|
|
19
|
+
##
|
20
|
+
# Produces a random promotion code.
|
21
|
+
#
|
22
|
+
# @param digits [Integer] Updates the number of numerical digits used to generate the promotion code.
|
23
|
+
# @return [String]
|
24
|
+
#
|
25
|
+
# @example
|
26
|
+
# Faker::Commerce.promotion_code #=> "AmazingDeal829102"
|
27
|
+
# Faker::Commerce.promotion_code(digits: 2) #=> "AmazingPrice57"
|
28
|
+
#
|
29
|
+
# @faker.version 1.7.0
|
10
30
|
def promotion_code(legacy_digits = NOT_GIVEN, digits: 6)
|
11
31
|
warn_for_deprecated_arguments do |keywords|
|
12
32
|
keywords << :digits if legacy_digits != NOT_GIVEN
|
@@ -19,6 +39,19 @@ module Faker
|
|
19
39
|
].join
|
20
40
|
end
|
21
41
|
|
42
|
+
##
|
43
|
+
# Produces a random department.
|
44
|
+
#
|
45
|
+
# @param max [Integer] Updates the maximum number of names used to generate the department name.
|
46
|
+
# @param fixed_amount [Boolean] Fixes the amount of departments to use instead of using a range.
|
47
|
+
# @return [String]
|
48
|
+
#
|
49
|
+
# @example
|
50
|
+
# Faker::Commerce.department #=> "Grocery, Health & Beauty"
|
51
|
+
# Faker::Commerce.department(max: 5) #=> "Grocery, Books, Health & Beauty"
|
52
|
+
# Faker::Commerce.department(max: 2, fixed_amount: true) #=> "Books & Tools"
|
53
|
+
#
|
54
|
+
# @faker.version 1.2.0
|
22
55
|
def department(legacy_max = NOT_GIVEN, legacy_fixed_amount = NOT_GIVEN, max: 3, fixed_amount: false)
|
23
56
|
warn_for_deprecated_arguments do |keywords|
|
24
57
|
keywords << :max if legacy_max != NOT_GIVEN
|
@@ -30,19 +63,55 @@ module Faker
|
|
30
63
|
|
31
64
|
categories = categories(num)
|
32
65
|
|
33
|
-
|
34
|
-
|
35
|
-
|
66
|
+
if categories.is_a?(Array)
|
67
|
+
if categories.length > 1
|
68
|
+
merge_categories(categories)
|
69
|
+
else
|
70
|
+
categories[0]
|
71
|
+
end
|
72
|
+
else
|
73
|
+
categories
|
74
|
+
end
|
36
75
|
end
|
37
76
|
|
77
|
+
##
|
78
|
+
# Produces a random product name.
|
79
|
+
#
|
80
|
+
# @return [String]
|
81
|
+
#
|
82
|
+
# @example
|
83
|
+
# Faker::Commerce.product_name #=> "Practical Granite Shirt"
|
84
|
+
#
|
85
|
+
# @faker.version 1.2.0
|
38
86
|
def product_name
|
39
87
|
"#{fetch('commerce.product_name.adjective')} #{fetch('commerce.product_name.material')} #{fetch('commerce.product_name.product')}"
|
40
88
|
end
|
41
89
|
|
90
|
+
##
|
91
|
+
# Produces a random material.
|
92
|
+
#
|
93
|
+
# @return [String]
|
94
|
+
#
|
95
|
+
# @example
|
96
|
+
# Faker::Commerce.material #=> "Plastic"
|
97
|
+
#
|
98
|
+
# @faker.version 1.5.0
|
42
99
|
def material
|
43
100
|
fetch('commerce.product_name.material')
|
44
101
|
end
|
45
102
|
|
103
|
+
##
|
104
|
+
# Produces a random product price.
|
105
|
+
#
|
106
|
+
# @param range [Range] A range to generate the random number within.
|
107
|
+
# @param as_string [Boolean] Changes the return value to [String].
|
108
|
+
# @return [Float]
|
109
|
+
#
|
110
|
+
# @example
|
111
|
+
# Faker::Commerce.price #=> 44.6
|
112
|
+
# Faker::Commerce.price(range: 0..10.0, as_string: true) #=> "2.18"
|
113
|
+
#
|
114
|
+
# @faker.version 1.2.0
|
46
115
|
def price(legacy_range = NOT_GIVEN, legacy_as_string = NOT_GIVEN, range: 0..100.0, as_string: false)
|
47
116
|
warn_for_deprecated_arguments do |keywords|
|
48
117
|
keywords << :range if legacy_range != NOT_GIVEN
|
@@ -60,13 +129,7 @@ module Faker
|
|
60
129
|
private
|
61
130
|
|
62
131
|
def categories(num)
|
63
|
-
|
64
|
-
while categories.length < num
|
65
|
-
category = fetch('commerce.department')
|
66
|
-
categories << category unless categories.include?(category)
|
67
|
-
end
|
68
|
-
|
69
|
-
categories
|
132
|
+
sample(fetch_all('commerce.department'), num)
|
70
133
|
end
|
71
134
|
|
72
135
|
def merge_categories(categories)
|