faker 3.1.0 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +107 -5
- data/README.md +13 -2
- data/lib/faker/default/company.rb +13 -0
- data/lib/faker/default/food.rb +13 -0
- data/lib/faker/default/internet.rb +52 -22
- data/lib/faker/default/lorem.rb +18 -13
- data/lib/faker/default/marketing.rb +1 -1
- data/lib/faker/default/omniauth.rb +1 -1
- data/lib/faker/default/twitter.rb +1 -1
- data/lib/faker/default/vehicle.rb +0 -1
- data/lib/faker/games/dnd.rb +49 -7
- data/lib/faker/movies/avatar.rb +49 -0
- data/lib/faker/quotes/quote.rb +13 -0
- data/lib/faker/sports/chess.rb +90 -0
- data/lib/faker/travel/airport.rb +43 -0
- data/lib/faker/version.rb +1 -1
- data/lib/faker.rb +0 -1
- data/lib/locales/ar.yml +1 -0
- data/lib/locales/bg.yml +1 -1
- data/lib/locales/da-DK.yml +1 -0
- data/lib/locales/de-AT.yml +1 -1
- data/lib/locales/de-CH.yml +1 -0
- data/lib/locales/de.yml +1 -0
- data/lib/locales/en/airport.yml +381 -0
- data/lib/locales/en/avatar.yml +31 -0
- data/lib/locales/en/chess.yml +103 -0
- data/lib/locales/en/company.yml +1 -0
- data/lib/locales/en/dnd.yml +186 -1
- data/lib/locales/en/food.yml +12 -0
- data/lib/locales/en/internet.yml +3 -0
- data/lib/locales/en/mitch_hedberg.yml +46 -0
- data/lib/locales/en/star_wars.yml +1 -1
- data/lib/locales/en-AU.yml +1 -0
- data/lib/locales/en-CA.yml +1 -0
- data/lib/locales/en-GB.yml +2 -0
- data/lib/locales/en-MS.yml +1 -0
- data/lib/locales/en-NG.yml +1 -0
- data/lib/locales/en-NZ.yml +1 -0
- data/lib/locales/en-PAK.yml +1 -0
- data/lib/locales/en-SG.yml +1 -0
- data/lib/locales/en-UG.yml +1 -0
- data/lib/locales/en-US.yml +1 -0
- data/lib/locales/en-ZA.yml +1 -0
- data/lib/locales/en-au-ocker.yml +2 -0
- data/lib/locales/es-AR.yml +1 -0
- data/lib/locales/es-MX.yml +1 -0
- data/lib/locales/es.yml +2 -1
- data/lib/locales/fi-FI.yml +1 -0
- data/lib/locales/fr-CA.yml +1 -0
- data/lib/locales/fr-CH.yml +1 -0
- data/lib/locales/hy.yml +1 -0
- data/lib/locales/it.yml +1 -0
- data/lib/locales/ko.yml +1 -0
- data/lib/locales/mi-NZ.yml +2 -0
- data/lib/locales/nb-NO.yml +1 -0
- data/lib/locales/nl.yml +1 -0
- data/lib/locales/pl.yml +1 -0
- data/lib/locales/pt-BR.yml +1 -0
- data/lib/locales/pt.yml +1 -0
- data/lib/locales/ru.yml +1 -0
- data/lib/locales/sk.yml +1 -0
- data/lib/locales/sv.yml +1 -0
- data/lib/locales/tr.yml +1 -0
- data/lib/locales/uk.yml +2 -1
- data/lib/locales/vi.yml +1 -0
- data/lib/locales/zh-CN.yml +1 -0
- data/lib/locales/zh-TW.yml +1 -0
- metadata +25 -19
- data/lib/faker/default/fillmurray.rb +0 -36
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96ec3715aa40eae20241ea0235f17234c691cbd808a5a5f523e2600979bc1c18
|
4
|
+
data.tar.gz: e57effe991fbdbc74562d35066f8db66f46be5d3d441e7b650c720a072c23a94
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a12b535d55c2e3d5559228f6b9eafd98a383692165670c7a80f4a986d1c3b23637d59faa69fcc2b06142ee2445e88ce4b8057bdf72f71eafd0c86baeb9147ed
|
7
|
+
data.tar.gz: 844caa61e4c4be1975f0fc8355302627ff9ead7cf7d423dd78313a4876190482fcb471a95fb43509e0e761d0bac671484851edbaf3cf98325d7864c591b83e6e
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,107 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [v3.2.0](https://github.com/faker-ruby/faker/tree/v3.2.0) (2023-04-14)
|
4
|
+
|
5
|
+
Happy Spring with a new Faker release! 🌼
|
6
|
+
|
7
|
+
This version changes `Faker::Internet.email`, `Faker::Internet.domain_name`, `Faker::Internet.safe_email`, and `Faker::Internet.free_email` default behavior.
|
8
|
+
|
9
|
+
These generators email are now RFC 2606 compliant. They generate safe values by default using the Reserved Top Level DNS Names: `example` and `test`. To maintain backwards compatibility and give users the option to use non-safe domains at their own risk, custom domains are allowed.
|
10
|
+
|
11
|
+
`Faker::Internet.safe_email`, and `Faker::Internet.free_email` have been deprecated. Users have until October 2023 to make the necessary changes.
|
12
|
+
|
13
|
+
[More details and updated docs can be found here](https://github.com/faker-ruby/faker/blob/main/doc/default/internet.md#about-faker-ruby-transition-to-be-rfc-2606-compliant).
|
14
|
+
|
15
|
+
Other changes included in this version:
|
16
|
+
|
17
|
+
## Features
|
18
|
+
* Generate safe `email` and `domain_name` by default (RFC 2606) by @stefannibrasil in https://github.com/faker-ruby/faker/pull/2733
|
19
|
+
* Add avatar movie by @lexisvar in https://github.com/faker-ruby/faker/pull/2699
|
20
|
+
* add chess sport by @lexisvar in https://github.com/faker-ruby/faker/pull/2701
|
21
|
+
* Remove FillMurray service by @ferblape in https://github.com/faker-ruby/faker/pull/2702
|
22
|
+
* Add Allergens to Food by @AaronRustad in https://github.com/faker-ruby/faker/pull/2706
|
23
|
+
* Update sport docs by @clementf in https://github.com/faker-ruby/faker/pull/2716
|
24
|
+
* Add country code +44 to en-gb locale by @jremes-foss in https://github.com/faker-ruby/faker/pull/2731
|
25
|
+
* Add names to DnD generator by @dollerbill in https://github.com/faker-ruby/faker/pull/2735
|
26
|
+
* add digits to password by @wyattroyc in https://github.com/faker-ruby/faker/pull/2705
|
27
|
+
* performance: remove unnecessary i18n locale reload by @codez in https://github.com/faker-ruby/faker/pull/2723
|
28
|
+
* Add Faker::Company.department generator by @acuppy in https://github.com/faker-ruby/faker/pull/2737
|
29
|
+
* Mitch Hedberg quotes by @MosDeef in https://github.com/faker-ruby/faker/pull/2721
|
30
|
+
|
31
|
+
## Bug fixes
|
32
|
+
* Fix explanation what Marketing.buzzwords does by @danieldiekmeier in https://github.com/faker-ruby/faker/pull/2700
|
33
|
+
* fix: Typo in Faker::Travel::Airport docs by @evanlouden in https://github.com/faker-ruby/faker/pull/2712
|
34
|
+
* Fix full changelog link for 3.1.1 by @rnestler in https://github.com/faker-ruby/faker/pull/2714
|
35
|
+
* Stop publishing to RubyGem by @VladVadlja in https://github.com/faker-ruby/faker/pull/2711
|
36
|
+
* Add default_country_code in locale by @ashwin-elangovan in https://github.com/faker-ruby/faker/pull/2732
|
37
|
+
* Fix formatting in readme.md by @leon-vogt in https://github.com/faker-ruby/faker/pull/2722
|
38
|
+
|
39
|
+
## Update local dependencies
|
40
|
+
* Fix rubocop updates by @stefannibrasil in https://github.com/faker-ruby/faker/pull/2708
|
41
|
+
* Update rubocop-minitest requirement from = 0.29.0 to = 0.30.0 by @dependabot in https://github.com/faker-ruby/faker/pull/2743
|
42
|
+
* Update minitest requirement from = 5.17.0 to = 5.18.0 by @dependabot in https://github.com/faker-ruby/faker/pull/2727
|
43
|
+
* Update rubocop requirement from = 1.48.1 to = 1.50.1 by @dependabot in https://github.com/faker-ruby/faker/pull/2747
|
44
|
+
* Add Faker::Company.department generator by @acuppy in https://github.com/faker-ruby/faker/pull/2737
|
45
|
+
* Update Pull Request template and guides by @stefannibrasil in https://github.com/faker-ruby/faker/pull/2749
|
46
|
+
|
47
|
+
## New Contributors
|
48
|
+
* @lexisvar made their first contribution in https://github.com/faker-ruby/faker/pull/2699
|
49
|
+
* @danieldiekmeier made their first contribution in https://github.com/faker-ruby/faker/pull/2700
|
50
|
+
* @AaronRustad made their first contribution in https://github.com/faker-ruby/faker/pull/2706
|
51
|
+
* @evanlouden made their first contribution in https://github.com/faker-ruby/faker/pull/2712
|
52
|
+
* @rnestler made their first contribution in https://github.com/faker-ruby/faker/pull/2714
|
53
|
+
* @VladVadlja made their first contribution in https://github.com/faker-ruby/faker/pull/2711
|
54
|
+
* @clementf made their first contribution in https://github.com/faker-ruby/faker/pull/2716
|
55
|
+
* @leon-vogt made their first contribution in https://github.com/faker-ruby/faker/pull/2722
|
56
|
+
* @ashwin-elangovan made their first contribution in https://github.com/faker-ruby/faker/pull/2732
|
57
|
+
* @wyattroyc made their first contribution in https://github.com/faker-ruby/faker/pull/2705
|
58
|
+
* @codez made their first contribution in https://github.com/faker-ruby/faker/pull/2723
|
59
|
+
* @acuppy made their first contribution in https://github.com/faker-ruby/faker/pull/2737
|
60
|
+
* @MosDeef made their first contribution in https://github.com/faker-ruby/faker/pull/2721
|
61
|
+
|
62
|
+
**Full Changelog**: https://github.com/faker-ruby/faker/compare/v3.1.1...v3.2.0
|
63
|
+
|
64
|
+
------------------------------------------------------------------------------
|
65
|
+
|
66
|
+
## [v3.1.1](https://github.com/faker-ruby/faker/tree/v3.1.1) (2023-02-03)
|
67
|
+
|
68
|
+
Happy Valentine's Day with a new Faker release! 🎉
|
69
|
+
|
70
|
+
This version:
|
71
|
+
|
72
|
+
- adds and deprecates generators
|
73
|
+
- fixes bugs
|
74
|
+
- updates development dependencies
|
75
|
+
|
76
|
+
### Features
|
77
|
+
* Add exclude_words keyword to Lorem Ipsum to prevent words from being produced by @philipfong in #2665
|
78
|
+
* Deprecate FillMurray service by @ferblape in #2657
|
79
|
+
* Airports by @ZionMiller in https://github.com/faker-ruby/faker/pull/2682
|
80
|
+
|
81
|
+
### Bug fixes
|
82
|
+
* Fix simple typo in es.yml by @hslzr in https://github.com/faker-ruby/faker/pull/2675
|
83
|
+
* Test the Vehicle VIN validator with known good and bad values, fixes … by @alextaujenis in https://github.com/faker-ruby/faker/pull/2640
|
84
|
+
* Fix you're/your typo and inaccuracy in Star Wars quote by @dwilsonactual in https://github.com/faker-ruby/faker/pull/2693
|
85
|
+
* Revert "Typo in Ukrainian locale, fixes #2620" by @thdaraujo in https://github.com/faker-ruby/faker/pull/2690
|
86
|
+
|
87
|
+
### Update local dependencies
|
88
|
+
* Adds Ruby 3.2 to the CI matrix. Updates checkout action version. by @petergoldstein in https://github.com/faker-ruby/faker/pull/2673
|
89
|
+
* Update rubocop-minitest requirement from = 0.25.0 to = 0.25.1 by @dependabot in https://github.com/faker-ruby/faker/pull/2674
|
90
|
+
* Update minitest requirement from = 5.16.3 to = 5.17.0 by @dependabot in https://github.com/faker-ruby/faker/pull/2677
|
91
|
+
* Update pry requirement from = 0.14.1 to = 0.14.2 by @dependabot in https://github.com/faker-ruby/faker/pull/2680
|
92
|
+
* Update simplecov requirement from = 0.21.2 to = 0.22.0 by @dependabot in https://github.com/faker-ruby/faker/pull/2672
|
93
|
+
* Update rubocop requirement from = 1.44.0 to = 1.44.1 by @dependabot in https://github.com/faker-ruby/faker/pull/2691
|
94
|
+
|
95
|
+
### New Contributors
|
96
|
+
* @hslzr made their first contribution in https://github.com/faker-ruby/faker/pull/2675
|
97
|
+
* @ferblape made their first contribution in https://github.com/faker-ruby/faker/pull/2657
|
98
|
+
* @petergoldstein made their first contribution in https://github.com/faker-ruby/faker/pull/2673
|
99
|
+
* @dwilsonactual made their first contribution in https://github.com/faker-ruby/faker/pull/2693
|
100
|
+
|
101
|
+
**Full Changelog**: https://github.com/faker-ruby/faker/compare/v3.1.0...v3.1.1
|
102
|
+
|
103
|
+
------------------------------------------------------------------------------
|
104
|
+
|
3
105
|
## [v3.1.0](https://github.com/faker-ruby/faker/tree/v3.1.0) (2022-12-23)
|
4
106
|
|
5
107
|
Happy Holidays with a new Faker release! 🎉
|
@@ -10,13 +112,13 @@ This version:
|
|
10
112
|
- fixes bugs
|
11
113
|
- updates dependencies
|
12
114
|
|
13
|
-
|
115
|
+
### Features
|
14
116
|
* Simple Japanesemedia::CowboyBebop module by @Ivan-P23994 in https://github.com/faker-ruby/faker/pull/2617
|
15
117
|
* added travel folder and airports by @ZionMiller in https://github.com/faker-ruby/faker/pull/2601
|
16
118
|
* Spongebob TV show collections by @kleinjm in https://github.com/faker-ruby/faker/pull/2619
|
17
119
|
* Add pre-push hook example by @akanshak984 in https://github.com/faker-ruby/faker/pull/2606
|
18
120
|
|
19
|
-
|
121
|
+
### Bug fixes
|
20
122
|
* fix: ensure generated passwords have correct characters when mix_case & special_characters enabled by @tiff-o in https://github.com/faker-ruby/faker/pull/2533
|
21
123
|
* Fix: ensure sport generator produces single sport unless a number of sports is requested by @si-lens in https://github.com/faker-ruby/faker/pull/2616
|
22
124
|
* Remove typo in ISSUE_TEMPLATE to check Faker version by @loqimean in https://github.com/faker-ruby/faker/pull/2621
|
@@ -24,7 +126,7 @@ This version:
|
|
24
126
|
* Remove english characters in ja locale file, fixes faker-ruby#2637 by @alextaujenis in https://github.com/faker-ruby/faker/pull/2638
|
25
127
|
* Fix country code length for non EN locale by @vbrazo in https://github.com/faker-ruby/faker/pull/2669
|
26
128
|
|
27
|
-
|
129
|
+
### What's Changed
|
28
130
|
* Removed LoremPixel Files by @uzorjchibuzor in https://github.com/faker-ruby/faker/pull/2664
|
29
131
|
* Document IBAN digits validity generator by @stefannibrasil in https://github.com/faker-ruby/faker/pull/2625
|
30
132
|
* Create random vehicle vin numbers with the correct check-digit by @alextaujenis in https://github.com/faker-ruby/faker/pull/2633
|
@@ -38,14 +140,14 @@ This version:
|
|
38
140
|
* Update README and CONTRIBUTING guides by @stefannibrasil in https://github.com/faker-ruby/faker/pull/2630
|
39
141
|
* Update dependabot ignore list by @stefannibrasil in https://github.com/faker-ruby/faker/pull/2629
|
40
142
|
|
41
|
-
|
143
|
+
### Update local dependencies
|
42
144
|
* Update simplecov requirement from = 0.21.0 to = 0.21.2 by @dependabot in https://github.com/faker-ruby/faker/pull/2636
|
43
145
|
* Update timecop requirement from = 0.9.5 to = 0.9.6 by @dependabot in https://github.com/faker-ruby/faker/pull/2642
|
44
146
|
* Update rubocop-minitest requirement from = 0.23.2 to = 0.25.0 by @dependabot in https://github.com/faker-ruby/faker/pull/2653
|
45
147
|
* Update test-unit requirement from = 3.5.6 to = 3.5.7 by @dependabot in https://github.com/faker-ruby/faker/pull/2659
|
46
148
|
* Update rubocop requirement from = 1.41.0 to = 1.41.1 by @dependabot in https://github.com/faker-ruby/faker/pull/2667
|
47
149
|
|
48
|
-
|
150
|
+
### New Contributors
|
49
151
|
* @si-lens made their first contribution in https://github.com/faker-ruby/faker/pull/2616
|
50
152
|
* @Ivan-P23994 made their first contribution in https://github.com/faker-ruby/faker/pull/2617
|
51
153
|
* @ZionMiller made their first contribution in https://github.com/faker-ruby/faker/pull/2601
|
data/README.md
CHANGED
@@ -27,12 +27,16 @@ and it was the original impetus for the creation of this gem).
|
|
27
27
|
## Table of Contents
|
28
28
|
|
29
29
|
- [Faker](#faker)
|
30
|
+
- [Quick links](#quick-links)
|
31
|
+
- [Table of Contents](#table-of-contents)
|
30
32
|
- [Notes](#notes)
|
31
33
|
- [Getting Started](#getting-started)
|
32
34
|
- [Usage](#usage)
|
35
|
+
- [A note about the Generators versions](#a-note-about-the-generators-versions)
|
33
36
|
- [Ensuring unique values](#ensuring-unique-values)
|
34
37
|
- [Deterministic Random](#deterministic-random)
|
35
38
|
- [Customization](#customization)
|
39
|
+
- [Minitest and Faker \>= 2.22](#minitest-and-faker--222)
|
36
40
|
- [Generators](#generators)
|
37
41
|
- [Contributing](#contributing)
|
38
42
|
- [Versioning](#versioning)
|
@@ -167,7 +171,7 @@ Faker::Config.locale = :es
|
|
167
171
|
|
168
172
|
Note: Overriding the default locale might not be thread-safe. See [Locale setting can be ignored #2563](https://github.com/faker-ruby/faker/issues/2563) for more details.
|
169
173
|
|
170
|
-
To override Faker's locales,
|
174
|
+
To override Faker's locales,
|
171
175
|
check out the [locales README](lib/locales/README.md).
|
172
176
|
|
173
177
|
### Minitest and Faker >= 2.22
|
@@ -237,7 +241,6 @@ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'main
|
|
237
241
|
- [Faker::Emotion](doc/default/emotion.md)
|
238
242
|
- [Faker::Esport](doc/default/esport.md)
|
239
243
|
- [Faker::File](doc/default/file.md)
|
240
|
-
- [Faker::Fillmurray](doc/default/fillmurray.md)
|
241
244
|
- [Faker::Finance](doc/default/finance.md)
|
242
245
|
- [Faker::Food](doc/default/food.md)
|
243
246
|
- [Faker::FunnyName](doc/default/funny_name.md)
|
@@ -318,6 +321,12 @@ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'main
|
|
318
321
|
- [Faker::Fantasy::Tolkien](doc/fantasy/tolkien.md)
|
319
322
|
</details>
|
320
323
|
|
324
|
+
<details>
|
325
|
+
<summary>Travel</summary>
|
326
|
+
|
327
|
+
- [Faker:Travel::Airport](doc/travel/airport.md)
|
328
|
+
</details>
|
329
|
+
|
321
330
|
<details>
|
322
331
|
<summary>Creature</summary>
|
323
332
|
|
@@ -374,6 +383,7 @@ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'main
|
|
374
383
|
<summary>Movies</summary>
|
375
384
|
|
376
385
|
- [Faker::Movie](doc/movies/movie.md)
|
386
|
+
- [Faker::Movies::Avatar](doc/movies/avatar.md)
|
377
387
|
- [Faker::Movies::BackToTheFuture](doc/movies/back_to_the_future.md)
|
378
388
|
- [Faker::Movies::Departed](doc/movies/departed.md)
|
379
389
|
- [Faker::Movies::Ghostbusters](doc/movies/ghostbusters.md)
|
@@ -418,6 +428,7 @@ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'main
|
|
418
428
|
|
419
429
|
- [Faker::Sports](doc/sports/sports.md)
|
420
430
|
- [Faker::Sports::Basketball](doc/sports/basketball.md)
|
431
|
+
- [Faker::Sports::Chess](doc/sports/chess.md)
|
421
432
|
- [Faker::Sports::Football](doc/sports/football.md)
|
422
433
|
- [Faker::Sports::Mountaineering](doc/sports/mountaineering.md)
|
423
434
|
- [Faker::Sports::Volleyball](doc/sports/volleyball.md)
|
@@ -151,6 +151,19 @@ module Faker
|
|
151
151
|
fetch('company.profession')
|
152
152
|
end
|
153
153
|
|
154
|
+
##
|
155
|
+
# Produces a company department.
|
156
|
+
#
|
157
|
+
# @return [String]
|
158
|
+
#
|
159
|
+
# @example
|
160
|
+
# Faker::Company.department #=> "Information Technology"
|
161
|
+
#
|
162
|
+
# @faker.version next
|
163
|
+
def department
|
164
|
+
fetch('company.department')
|
165
|
+
end
|
166
|
+
|
154
167
|
##
|
155
168
|
# Produces a company spanish organisation number.
|
156
169
|
#
|
data/lib/faker/default/food.rb
CHANGED
@@ -5,6 +5,19 @@ module Faker
|
|
5
5
|
flexible :food
|
6
6
|
|
7
7
|
class << self
|
8
|
+
##
|
9
|
+
# Retrieves an allergen.
|
10
|
+
#
|
11
|
+
# @return [String]
|
12
|
+
#
|
13
|
+
# @example
|
14
|
+
# Faker::Food.allergen #=> "Peanuts"
|
15
|
+
#
|
16
|
+
# @faker.version next
|
17
|
+
def allergen
|
18
|
+
fetch('food.allergens')
|
19
|
+
end
|
20
|
+
|
8
21
|
##
|
9
22
|
# Retrieves a typical dish from each country.
|
10
23
|
#
|
@@ -15,6 +15,8 @@ module Faker
|
|
15
15
|
].each(&:freeze).freeze
|
16
16
|
|
17
17
|
class << self
|
18
|
+
extend Gem::Deprecate
|
19
|
+
|
18
20
|
##
|
19
21
|
# Returns the email address
|
20
22
|
#
|
@@ -25,10 +27,11 @@ module Faker
|
|
25
27
|
# @param domain [String]
|
26
28
|
#
|
27
29
|
# @example
|
28
|
-
# Faker::Internet.email #=> "
|
29
|
-
# Faker::Internet.email(name: 'smith') #=> "smith@
|
30
|
-
# Faker::Internet.email(name: 'sam smith', separators: ['-']) #=> "sam
|
31
|
-
# Faker::Internet.email(name: 'sam smith', separators: ['-'], domain: '
|
30
|
+
# Faker::Internet.email #=> "renee@zieme.test"
|
31
|
+
# Faker::Internet.email(name: 'smith') #=> "smith@bergnaum.test"
|
32
|
+
# Faker::Internet.email(name: 'sam smith', separators: ['-']) #=> "smith-sam@tromp.example"
|
33
|
+
# Faker::Internet.email(name: 'sam smith', separators: ['-'], domain: 'test') #=> "sam-smith@test.example"
|
34
|
+
# Faker::Internet.email(domain: 'gmail.com') #=> "foo@gmail.com"
|
32
35
|
def email(name: nil, separators: nil, domain: nil)
|
33
36
|
local_part = if separators
|
34
37
|
username(specifier: name, separators: separators)
|
@@ -37,7 +40,14 @@ module Faker
|
|
37
40
|
end
|
38
41
|
|
39
42
|
sanitized_local_part = sanitize_email_local_part(local_part)
|
40
|
-
|
43
|
+
|
44
|
+
generate_domain = if domain.nil?
|
45
|
+
domain_name
|
46
|
+
else
|
47
|
+
domain_name(domain: domain)
|
48
|
+
end
|
49
|
+
|
50
|
+
construct_email(sanitized_local_part, generate_domain)
|
41
51
|
end
|
42
52
|
|
43
53
|
##
|
@@ -56,6 +66,7 @@ module Faker
|
|
56
66
|
fetch('internet.free_email')
|
57
67
|
)
|
58
68
|
end
|
69
|
+
deprecate :free_email, :email, 2023, 10
|
59
70
|
|
60
71
|
##
|
61
72
|
# Returns the email address with fixed domain name as 'example'
|
@@ -73,6 +84,7 @@ module Faker
|
|
73
84
|
"example.#{sample(%w[org com net])}"
|
74
85
|
)
|
75
86
|
end
|
87
|
+
deprecate :safe_email, :email, 2023, 10
|
76
88
|
|
77
89
|
##
|
78
90
|
# Returns the username
|
@@ -174,6 +186,10 @@ module Faker
|
|
174
186
|
password << lower_chars[rand(lower_chars.count - 1)]
|
175
187
|
character_bag += lower_chars
|
176
188
|
|
189
|
+
digits = ('1'..'9').to_a
|
190
|
+
password << digits[rand(digits.count - 1)]
|
191
|
+
character_bag += digits
|
192
|
+
|
177
193
|
if character_types.include?(:mix_case)
|
178
194
|
upper_chars = ('A'..'Z').to_a
|
179
195
|
password << upper_chars[rand(upper_chars.count - 1)]
|
@@ -200,10 +216,12 @@ module Faker
|
|
200
216
|
# @param domain [String]
|
201
217
|
#
|
202
218
|
# @example
|
203
|
-
# Faker::Internet.domain_name
|
204
|
-
# Faker::Internet.domain_name(subdomain: true)
|
205
|
-
# Faker::Internet.domain_name(subdomain: true, domain: '
|
206
|
-
# Faker::Internet.domain_name(domain: 'faker')
|
219
|
+
# Faker::Internet.domain_name #=> "altenwerth-gerhold.example"
|
220
|
+
# Faker::Internet.domain_name(subdomain: true) #=> "metz.mclaughlin-brekke.test"
|
221
|
+
# Faker::Internet.domain_name(subdomain: true, domain: 'faker') #=> "foo.faker.test"
|
222
|
+
# Faker::Internet.domain_name(domain: 'faker-ruby.org') #=> "faker-ruby.org"
|
223
|
+
# Faker::Internet.domain_name(subdomain: true, domain: 'faker-ruby.org') #=> "foo.faker-ruby.org"
|
224
|
+
# Faker::Internet.domain_name(subdomain: true, domain: 'faker.faker-ruby.org') #=> "faker.faker-ruby.org"
|
207
225
|
def domain_name(subdomain: false, domain: nil)
|
208
226
|
with_locale(:en) do
|
209
227
|
if domain
|
@@ -211,12 +229,18 @@ module Faker
|
|
211
229
|
.split('.')
|
212
230
|
.map { |domain_part| Char.prepare(domain_part) }
|
213
231
|
.tap do |domain_elements|
|
214
|
-
|
215
|
-
|
232
|
+
if domain_elements.length < 2
|
233
|
+
domain_elements << domain_suffix(safe: true)
|
234
|
+
end
|
235
|
+
if subdomain && domain_elements.length < 3
|
236
|
+
domain_elements.unshift(Char.prepare(domain_word))
|
237
|
+
end
|
216
238
|
end.join('.')
|
217
239
|
else
|
218
|
-
[domain_word, domain_suffix].tap do |domain_elements|
|
219
|
-
|
240
|
+
[domain_word, domain_suffix(safe: true)].tap do |domain_elements|
|
241
|
+
if subdomain
|
242
|
+
domain_elements.unshift(Char.prepare(domain_word))
|
243
|
+
end
|
220
244
|
end.join('.')
|
221
245
|
end
|
222
246
|
end
|
@@ -253,10 +277,16 @@ module Faker
|
|
253
277
|
# @return [String]
|
254
278
|
#
|
255
279
|
# @example
|
256
|
-
# Faker::Internet.domain_suffix
|
257
|
-
# Faker::Internet.domain_suffix
|
258
|
-
|
259
|
-
|
280
|
+
# Faker::Internet.domain_suffix #=> "com"
|
281
|
+
# Faker::Internet.domain_suffix #=> "biz"
|
282
|
+
# Faker::Internet.domain_suffix(safe: true) #=> "example"
|
283
|
+
# Faker::Internet.domain_suffix(safe: true) #=> "test"
|
284
|
+
def domain_suffix(safe: nil)
|
285
|
+
if safe
|
286
|
+
fetch('internet.safe_domain_suffix')
|
287
|
+
else
|
288
|
+
fetch('internet.domain_suffix')
|
289
|
+
end
|
260
290
|
end
|
261
291
|
|
262
292
|
##
|
@@ -421,10 +451,10 @@ module Faker
|
|
421
451
|
# @param scheme [String]
|
422
452
|
#
|
423
453
|
# @example
|
424
|
-
# Faker::Internet.url #=> "http://
|
454
|
+
# Faker::Internet.url #=> "http://treutel.test/demarcus"
|
425
455
|
# Faker::Internet.url(host: 'faker') #=> "http://faker/shad"
|
426
|
-
# Faker::Internet.url(host: 'faker', path: '/
|
427
|
-
# Faker::Internet.url(host: 'faker', path: '/
|
456
|
+
# Faker::Internet.url(host: 'faker', path: '/docs') #=> "http://faker/docs"
|
457
|
+
# Faker::Internet.url(host: 'faker', path: '/docs', scheme: 'https') #=> "https://faker/docs"
|
428
458
|
def url(host: domain_name, path: "/#{username}", scheme: 'http')
|
429
459
|
"#{scheme}://#{host}#{path}"
|
430
460
|
end
|
@@ -542,10 +572,10 @@ module Faker
|
|
542
572
|
##
|
543
573
|
# Produces a randomized hash of internet user details
|
544
574
|
# @example
|
545
|
-
# Faker::Internet.user #=> { username: 'alexie', email: '
|
575
|
+
# Faker::Internet.user #=> { username: 'alexie', email: 'trudie@grant.test' }
|
546
576
|
#
|
547
577
|
# @example
|
548
|
-
# Faker::Internet.user('username', 'email', 'password') #=> { username: 'alexie', email: '
|
578
|
+
# Faker::Internet.user('username', 'email', 'password') #=> { username: 'alexie', email: 'gayle@kohler.test', password: 'DtEf9P8wS31iMyC' }
|
549
579
|
#
|
550
580
|
# @return [hash]
|
551
581
|
#
|
data/lib/faker/default/lorem.rb
CHANGED
@@ -28,14 +28,19 @@ module Faker
|
|
28
28
|
# Faker::Lorem.words #=> ["hic", "quia", "nihil"]
|
29
29
|
# Faker::Lorem.words(number: 4) #=> ["est", "temporibus", "et", "quaerat"]
|
30
30
|
# Faker::Lorem.words(number: 4, supplemental: true) #=> ["nisi", "sit", "allatus", "consequatur"]
|
31
|
+
# Faker::Lorem.words(number: 4, supplemental: true, exclude_words: 'sit') #=> ["nisi", "allatus", "consequatur", "aut"]
|
31
32
|
#
|
32
33
|
# @faker.version 2.1.3
|
33
|
-
def words(number: 3, supplemental: false)
|
34
|
+
def words(number: 3, supplemental: false, exclude_words: nil)
|
34
35
|
resolved_num = resolve(number)
|
35
36
|
word_list = (
|
36
37
|
translate('faker.lorem.words') +
|
37
38
|
(supplemental ? translate('faker.lorem.supplemental') : [])
|
38
39
|
)
|
40
|
+
if exclude_words
|
41
|
+
exclude_words = exclude_words.split(', ') if exclude_words.instance_of?(::String)
|
42
|
+
word_list -= exclude_words
|
43
|
+
end
|
39
44
|
word_list *= ((resolved_num / word_list.length) + 1)
|
40
45
|
shuffle(word_list)[0, resolved_num]
|
41
46
|
end
|
@@ -103,8 +108,8 @@ module Faker
|
|
103
108
|
# Faker::Lorem.sentence(word_count: 5, supplemental: true, random_words_to_add:2) #=> "Crinis quo cruentus velit animi vomer."
|
104
109
|
#
|
105
110
|
# @faker.version 2.1.3
|
106
|
-
def sentence(word_count: 4, supplemental: false, random_words_to_add: 0)
|
107
|
-
words(number: word_count + rand(random_words_to_add.to_i), supplemental: supplemental).join(locale_space).capitalize + locale_period
|
111
|
+
def sentence(word_count: 4, supplemental: false, random_words_to_add: 0, exclude_words: nil)
|
112
|
+
words(number: word_count + rand(random_words_to_add.to_i), supplemental: supplemental, exclude_words: exclude_words).join(locale_space).capitalize + locale_period
|
108
113
|
end
|
109
114
|
|
110
115
|
##
|
@@ -121,8 +126,8 @@ module Faker
|
|
121
126
|
# Faker::Lorem.sentences(number: 2, supplemental: true) #=> ["Cito cena ad.", "Solvo animus allatus."]
|
122
127
|
#
|
123
128
|
# @faker.version 2.1.3
|
124
|
-
def sentences(number: 3, supplemental: false)
|
125
|
-
1.upto(resolve(number)).collect { sentence(word_count: 3, supplemental: supplemental) }
|
129
|
+
def sentences(number: 3, supplemental: false, exclude_words: nil)
|
130
|
+
1.upto(resolve(number)).collect { sentence(word_count: 3, supplemental: supplemental, exclude_words: exclude_words) }
|
126
131
|
end
|
127
132
|
|
128
133
|
##
|
@@ -145,8 +150,8 @@ module Faker
|
|
145
150
|
# #=> "Texo tantillus tamisium. Tribuo amissio tamisium. Facere aut canis."
|
146
151
|
#
|
147
152
|
# @faker.version 2.1.3
|
148
|
-
def paragraph(sentence_count: 3, supplemental: false, random_sentences_to_add: 0)
|
149
|
-
sentences(number: resolve(sentence_count) + rand(random_sentences_to_add.to_i), supplemental: supplemental).join(locale_space)
|
153
|
+
def paragraph(sentence_count: 3, supplemental: false, random_sentences_to_add: 0, exclude_words: nil)
|
154
|
+
sentences(number: resolve(sentence_count) + rand(random_sentences_to_add.to_i), supplemental: supplemental, exclude_words: exclude_words).join(locale_space)
|
150
155
|
end
|
151
156
|
|
152
157
|
##
|
@@ -163,8 +168,8 @@ module Faker
|
|
163
168
|
# Faker::Lorem.paragraphs(number:2, supplemental: true)
|
164
169
|
#
|
165
170
|
# @faker.version 2.1.3
|
166
|
-
def paragraphs(number: 3, supplemental: false)
|
167
|
-
1.upto(resolve(number)).collect { paragraph(sentence_count: 3, supplemental: supplemental) }
|
171
|
+
def paragraphs(number: 3, supplemental: false, exclude_words: nil)
|
172
|
+
1.upto(resolve(number)).collect { paragraph(sentence_count: 3, supplemental: supplemental, exclude_words: exclude_words) }
|
168
173
|
end
|
169
174
|
|
170
175
|
##
|
@@ -205,8 +210,8 @@ module Faker
|
|
205
210
|
# Faker::Lorem.question(word_count: 2, supplemental: true, random_words_to_add: 2) #=> "Depulso uter ut?"
|
206
211
|
#
|
207
212
|
# @faker.version 2.1.3
|
208
|
-
def question(word_count: 4, supplemental: false, random_words_to_add: 0)
|
209
|
-
words(number: word_count + rand(random_words_to_add), supplemental: supplemental).join(' ').capitalize + locale_question_mark
|
213
|
+
def question(word_count: 4, supplemental: false, random_words_to_add: 0, exclude_words: nil)
|
214
|
+
words(number: word_count + rand(random_words_to_add), supplemental: supplemental, exclude_words: exclude_words).join(' ').capitalize + locale_question_mark
|
210
215
|
end
|
211
216
|
|
212
217
|
##
|
@@ -223,8 +228,8 @@ module Faker
|
|
223
228
|
# Faker::Lorem.questions(number: 2, supplemental: true) #=> ["Acceptus subito cetera?", "Aro sulum cubicularis?"]
|
224
229
|
#
|
225
230
|
# @faker.version 2.1.3
|
226
|
-
def questions(number: 3, supplemental: false)
|
227
|
-
1.upto(resolve(number)).collect { question(word_count: 3, supplemental: supplemental) }
|
231
|
+
def questions(number: 3, supplemental: false, exclude_words: nil)
|
232
|
+
1.upto(resolve(number)).collect { question(word_count: 3, supplemental: supplemental, exclude_words: exclude_words) }
|
228
233
|
end
|
229
234
|
|
230
235
|
private
|
@@ -63,7 +63,7 @@ module Faker
|
|
63
63
|
verified: Faker::Boolean.boolean(true_ratio: 0.1)
|
64
64
|
}
|
65
65
|
user[:status] = Faker::Twitter.status(include_user: false) if include_status
|
66
|
-
user[:email] = Faker::Internet.
|
66
|
+
user[:email] = Faker::Internet.email if include_email
|
67
67
|
user
|
68
68
|
end
|
69
69
|
|
@@ -9,7 +9,6 @@ module Faker
|
|
9
9
|
VIN_KEYSPACE = %w[A B C D E F G H J K L M N P R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9].freeze
|
10
10
|
VIN_TRANSLITERATION = { A: 1, B: 2, C: 3, D: 4, E: 5, F: 6, G: 7, H: 8, J: 1, K: 2, L: 3, M: 4, N: 5, P: 7, R: 9, S: 2, T: 3, U: 4, V: 5, W: 6, X: 7, Y: 8, Z: 9 }.freeze
|
11
11
|
VIN_WEIGHT = [8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2].freeze
|
12
|
-
VIN_REGEX = /\A[A-HJ-NPR-Z0-9]{17}\z/.freeze
|
13
12
|
SG_CHECKSUM_WEIGHTS = [3, 14, 2, 12, 2, 11, 1].freeze
|
14
13
|
SG_CHECKSUM_CHARS = 'AYUSPLJGDBZXTRMKHEC'
|
15
14
|
|
data/lib/faker/games/dnd.rb
CHANGED
@@ -43,6 +43,19 @@ module Faker
|
|
43
43
|
fetch('dnd.cities')
|
44
44
|
end
|
45
45
|
|
46
|
+
##
|
47
|
+
# Produces the first name of a character or monster from Dungeons and Dragons.
|
48
|
+
#
|
49
|
+
# @return [String]
|
50
|
+
#
|
51
|
+
# @example
|
52
|
+
# Faker::Games::DnD.name #=> "Eilonwy"
|
53
|
+
#
|
54
|
+
# @faker.version next
|
55
|
+
def first_name
|
56
|
+
fetch('dnd.name.first_name')
|
57
|
+
end
|
58
|
+
|
46
59
|
##
|
47
60
|
# Produces the name of a class from Dungeons and Dragons (PHB).
|
48
61
|
#
|
@@ -69,6 +82,19 @@ module Faker
|
|
69
82
|
fetch('dnd.languages')
|
70
83
|
end
|
71
84
|
|
85
|
+
##
|
86
|
+
# Produces a last name from Dungeons and Dragons.
|
87
|
+
#
|
88
|
+
# @return [String]
|
89
|
+
#
|
90
|
+
# @example
|
91
|
+
# Faker::Games::DnD.last_name #=> "Leafwhisper"
|
92
|
+
#
|
93
|
+
# @faker.version next
|
94
|
+
def last_name
|
95
|
+
fetch('dnd.name.last_name')
|
96
|
+
end
|
97
|
+
|
72
98
|
##
|
73
99
|
# Produces the name of a melee weapon from Dungeons and Dragons.
|
74
100
|
#
|
@@ -95,6 +121,19 @@ module Faker
|
|
95
121
|
fetch('dnd.monsters')
|
96
122
|
end
|
97
123
|
|
124
|
+
##
|
125
|
+
# Produces a full name from Dungeons and Dragons.
|
126
|
+
#
|
127
|
+
# @return [String]
|
128
|
+
#
|
129
|
+
# @example
|
130
|
+
# Faker::Games::DnD.name #=> "Drakon Blackthorn"
|
131
|
+
#
|
132
|
+
# @faker.version next
|
133
|
+
def name
|
134
|
+
"#{fetch('dnd.name.first_name')} #{fetch('dnd.name.last_name')}"
|
135
|
+
end
|
136
|
+
|
98
137
|
##
|
99
138
|
# Produces the name of a race from Dungeons and Dragons (PHB).
|
100
139
|
#
|
@@ -121,14 +160,17 @@ module Faker
|
|
121
160
|
fetch('dnd.ranged_weapons')
|
122
161
|
end
|
123
162
|
|
124
|
-
|
125
|
-
#
|
163
|
+
##
|
164
|
+
# Produces a last name from Dungeons and Dragons.
|
126
165
|
#
|
127
|
-
# @
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
166
|
+
# @return [String]
|
167
|
+
#
|
168
|
+
# @example
|
169
|
+
# Faker::Games::DnD.title_name #=> "Corvus the Cunning"
|
170
|
+
#
|
171
|
+
# @faker.version next
|
172
|
+
def title_name
|
173
|
+
"#{fetch('dnd.name.first_name')} #{fetch('dnd.name.title')}"
|
132
174
|
end
|
133
175
|
end
|
134
176
|
end
|