faker 1.8.7 → 1.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +146 -6
- data/README.md +44 -4
- data/lib/extensions/array.rb +10 -10
- data/lib/extensions/symbol.rb +0 -1
- data/lib/faker.rb +42 -35
- data/lib/faker/address.rb +39 -13
- data/lib/faker/app.rb +1 -3
- data/lib/faker/appliance.rb +13 -0
- data/lib/faker/avatar.rb +2 -2
- data/lib/faker/bank.rb +72 -15
- data/lib/faker/beer.rb +0 -1
- data/lib/faker/bitcoin.rb +4 -5
- data/lib/faker/bojack_horseman.rb +17 -0
- data/lib/faker/breaking_bad.rb +0 -3
- data/lib/faker/business.rb +1 -2
- data/lib/faker/cannabis.rb +42 -0
- data/lib/faker/chuck_norris.rb +3 -2
- data/lib/faker/code.rb +59 -20
- data/lib/faker/coffee.rb +4 -0
- data/lib/faker/color.rb +2 -2
- data/lib/faker/commerce.rb +3 -4
- data/lib/faker/community.rb +13 -0
- data/lib/faker/company.rb +80 -24
- data/lib/faker/currency.rb +17 -0
- data/lib/faker/date.rb +13 -27
- data/lib/faker/demographic.rb +2 -2
- data/lib/faker/device.rb +29 -0
- data/lib/faker/dota.rb +25 -0
- data/lib/faker/dr_who.rb +7 -8
- data/lib/faker/dumb_and_dumber.rb +1 -1
- data/lib/faker/dune.rb +4 -4
- data/lib/faker/elder_scrolls.rb +16 -0
- data/lib/faker/electrical_components.rb +19 -0
- data/lib/faker/ethereum.rb +12 -0
- data/lib/faker/famous_last_words.rb +11 -0
- data/lib/faker/file.rb +2 -5
- data/lib/faker/fillmurray.rb +3 -4
- data/lib/faker/finance.rb +3 -4
- data/lib/faker/food.rb +21 -1
- data/lib/faker/football.rb +21 -0
- data/lib/faker/gender.rb +13 -0
- data/lib/faker/greek_philosophers.rb +13 -0
- data/lib/faker/hacker.rb +9 -11
- data/lib/faker/harry_potter.rb +4 -0
- data/lib/faker/hipster.rb +12 -4
- data/lib/faker/id_number.rb +24 -9
- data/lib/faker/internet.rb +69 -57
- data/lib/faker/invoice.rb +94 -0
- data/lib/faker/job.rb +10 -3
- data/lib/faker/lebowski.rb +2 -2
- data/lib/faker/lord_of_the_rings.rb +5 -1
- data/lib/faker/lorem.rb +32 -8
- data/lib/faker/lorem_flickr.rb +43 -0
- data/lib/faker/lorem_pixel.rb +20 -5
- data/lib/faker/lovecraft.rb +12 -5
- data/lib/faker/markdown.rb +12 -4
- data/lib/faker/measurement.rb +35 -80
- data/lib/faker/michael_scott.rb +9 -0
- data/lib/faker/military.rb +25 -0
- data/lib/faker/music.rb +13 -1
- data/lib/faker/myst.rb +25 -0
- data/lib/faker/name.rb +22 -8
- data/lib/faker/nation.rb +24 -0
- data/lib/faker/nato_phonetic_alphabet.rb +9 -0
- data/lib/faker/new_girl.rb +13 -0
- data/lib/faker/number.rb +12 -12
- data/lib/faker/omniauth.rb +110 -122
- data/lib/faker/parks_and_rec.rb +13 -0
- data/lib/faker/phone_number.rb +11 -19
- data/lib/faker/placeholdit.rb +11 -2
- data/lib/faker/princess_bride.rb +13 -0
- data/lib/faker/rick_and_morty.rb +1 -1
- data/lib/faker/science.rb +4 -2
- data/lib/faker/seinfeld.rb +1 -1
- data/lib/faker/shakespeare.rb +0 -3
- data/lib/faker/silicon_valley.rb +4 -0
- data/lib/faker/simpsons.rb +3 -8
- data/lib/faker/singular_siegler.rb +9 -0
- data/lib/faker/slack_emoji.rb +0 -2
- data/lib/faker/source.rb +18 -0
- data/lib/faker/space.rb +4 -0
- data/lib/faker/star_trek.rb +2 -2
- data/lib/faker/star_wars.rb +5 -6
- data/lib/faker/stranger_thing.rb +13 -0
- data/lib/faker/string.rb +45 -0
- data/lib/faker/stripe.rb +63 -0
- data/lib/faker/sword_art_online.rb +21 -0
- data/lib/faker/team.rb +4 -1
- data/lib/faker/the_it_crowd.rb +21 -0
- data/lib/faker/time.rb +10 -10
- data/lib/faker/twin_peaks.rb +2 -2
- data/lib/faker/twitter.rb +1 -1
- data/lib/faker/types.rb +36 -40
- data/lib/faker/university.rb +3 -3
- data/lib/faker/vehicle.rb +72 -10
- data/lib/faker/verb.rb +25 -0
- data/lib/faker/version.rb +1 -1
- data/lib/faker/world_cup.rb +25 -0
- data/lib/helpers/char.rb +19 -20
- data/lib/helpers/unique_generator.rb +7 -1
- data/lib/locales/ca-CAT.yml +1 -1
- data/lib/locales/da-DK.yml +1 -0
- data/lib/locales/de-AT.yml +3 -2
- data/lib/locales/de.yml +6 -5
- data/lib/locales/ee.yml +59 -0
- data/lib/locales/en-CA.yml +23 -1
- data/lib/locales/en-GB.yml +1 -0
- data/lib/locales/en-NZ.yml +4 -3
- data/lib/locales/en-US.yml +2 -0
- data/lib/locales/en.yml +2 -2
- data/lib/locales/en/appliance.yml +5 -0
- data/lib/locales/en/bank.yml +274 -59
- data/lib/locales/en/bojack_horseman.yml +6 -0
- data/lib/locales/en/cannabis.yml +12 -0
- data/lib/locales/en/community.yml +33 -0
- data/lib/locales/en/currency.yml +6 -0
- data/lib/locales/en/dessert.yml +3 -3
- data/lib/locales/en/device.yml +7 -0
- data/lib/locales/en/dota.yml +102 -0
- data/lib/locales/en/dr_who.yml +5 -1
- data/lib/locales/en/dumb_and_dumber.yml +1 -1
- data/lib/locales/en/elder_scrolls.yml +8 -5
- data/lib/locales/en/electrical_components.yml +6 -0
- data/lib/locales/en/famous_last_words.yml +4 -0
- data/lib/locales/en/food.yml +6 -3
- data/lib/locales/en/football.yml +7 -0
- data/lib/locales/en/gender.yml +5 -0
- data/lib/locales/en/greek_philosophers.yml +26 -0
- data/lib/locales/en/harry_potter.yml +2 -1
- data/lib/locales/en/invoice.yml +6 -0
- data/lib/locales/en/job.yml +2 -2
- data/lib/locales/en/lord_of_the_rings.yml +1 -0
- data/lib/locales/en/lorem.yml +4 -0
- data/lib/locales/en/michael_scott.yml +45 -0
- data/lib/locales/en/military.yml +8 -0
- data/lib/locales/en/music.yml +29 -1
- data/lib/locales/en/myst.yml +47 -0
- data/lib/locales/en/name.yml +13 -12
- data/lib/locales/en/nation.yml +8 -0
- data/lib/locales/en/nato_phonetic_alphabet.yml +4 -0
- data/lib/locales/en/new_girl.yml +40 -0
- data/lib/locales/en/overwatch.yml +3 -2
- data/lib/locales/en/parks_and_rec.yml +7 -0
- data/lib/locales/en/princess_bride.yml +5 -0
- data/lib/locales/en/programming_language.yml +2 -1
- data/lib/locales/en/science.yml +1 -0
- data/lib/locales/en/silicon_valley.yml +1 -0
- data/lib/locales/en/singular_siegler.yml +37 -0
- data/lib/locales/en/source.yml +16 -0
- data/lib/locales/en/space.yml +2 -1
- data/lib/locales/en/star_wars.yml +10 -0
- data/lib/locales/en/stranger_thing.yml +36 -0
- data/lib/locales/en/stripe.yml +42 -0
- data/lib/locales/en/sword_art_online.yml +334 -0
- data/lib/locales/en/team.yml +1 -1
- data/lib/locales/en/the_it_crowd.yml +155 -0
- data/lib/locales/en/vehicle.yml +24 -0
- data/lib/locales/en/verbs.yml +8 -0
- data/lib/locales/en/world_cup.yml +271 -0
- data/lib/locales/es.yml +6 -1
- data/lib/locales/fi-FI.yml +9 -4
- data/lib/locales/fr-CA.yml +90 -0
- data/lib/locales/fr-CH.yml +73 -0
- data/lib/locales/fr.yml +4 -2
- data/lib/locales/it.yml +1 -1
- data/lib/locales/ja.yml +11 -0
- data/lib/locales/lv.yml +53 -0
- data/lib/locales/nl.yml +1 -1
- data/lib/locales/no.yml +7 -0
- data/lib/locales/pl.yml +1 -0
- data/lib/locales/pt-BR.yml +21 -13
- data/lib/locales/pt.yml +1 -0
- data/lib/locales/sv.yml +4 -4
- data/lib/locales/tr.yml +8 -0
- data/lib/locales/uk.yml +9 -0
- metadata +167 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69ca03e4a0c0987882bc0e8c84bf7ace7dc8baf1
|
4
|
+
data.tar.gz: 5e527dd1240311ce6f9375769bb5713c44d1fff0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3626f60935374a293694a8bd94555e8d46b209eb6db8b1e5f62414b5a6e75a7b07662abbd5dc534ce30588db85909e240855420e3acf60a07dd81fa01c94c17
|
7
|
+
data.tar.gz: 0ba1336aee2bd2deeab78a0ff167fc2675fe92ab53faf8d5476ed55efdac5abb0c2105a71e05f6431da146ce8bcb03c21949fe6111ed3ed9659ccf3cb0ae5290
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,146 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## HEAD Unreleased
|
4
|
+
|
5
|
+
## [v1.9.1](https://github.com/stympy/faker/tree/v1.9.1) (2018-07-11)
|
6
|
+
[Full Changelog](https://github.com/stympy/faker/compare/v1.8.7...v1.9.1)
|
7
|
+
|
8
|
+
### Feature Request
|
9
|
+
- [PR #1308](https://github.com/stympy/faker/pull/1308) Add Faker::BojackHorseman [@saurabhudaniya200](https://github.com/saurabhudaniya200)
|
10
|
+
- [PR #1292](https://github.com/stympy/faker/pull/1292) Add Faker::Bank - account_number and routing_number [@vbrazo](https://github.com/vbrazo)
|
11
|
+
- [PR #1300](https://github.com/stympy/faker/pull/1300) Add Faker::GreekPhilosophers [@15ngburton](https://github.com/15ngburton)
|
12
|
+
- [PR #1004](https://github.com/stympy/faker/pull/1004) Add Faker::Ethereum [@kaizenx](https://github.com/kaizenx)
|
13
|
+
- [PR #551](https://github.com/stympy/faker/pull/551) Add gender to name generator [@Maicolben](https://github.com/Maicolben)
|
14
|
+
- [PR #1283](https://github.com/stympy/faker/pull/1283) Add Faker::Military [@jjasghar](https://github.com/jjasghar)
|
15
|
+
- [PR #1279](https://github.com/stympy/faker/pull/1279) Add Faker::HarryPotter.spell [@A9u](https://github.com/A9u)
|
16
|
+
- [PR #799](https://github.com/stympy/faker/pull/799) Faker::ElectricalComponents [@bheim6](https://github.com/bheim6)
|
17
|
+
- [PR #1050](https://github.com/stympy/faker/pull/1050) Add Faker::Invoice to generate valid bank slip references [@onnimonni](https://github.com/onnimonni)
|
18
|
+
- [PR #817](https://github.com/stympy/faker/pull/817) Faker::Lorem.multibyte for multibyte chars [@frankywahl](https://github.com/frankywahl)
|
19
|
+
- [PR #877](https://github.com/stympy/faker/pull/877) Add Canada SIN generator in Faker::Code [@gkunwar](https://github.com/gkunwar)
|
20
|
+
- [PR #1268](https://github.com/stympy/faker/pull/1268) Add Faker::Nation.national_sport [@gkunwar](https://github.com/gkunwar)
|
21
|
+
- [PR #1273](https://github.com/stympy/faker/pull/1273) Add Faker::Device [@vbrazo](https://github.com/vbrazo)
|
22
|
+
- [PR #1272](https://github.com/stympy/faker/pull/1272) Add Faker::DrWho.actor [@timcustard](https://github.com/timcustard)
|
23
|
+
- [PR #1270](https://github.com/stympy/faker/pull/1270) Add Faker::Name.middle_name [@vbrazo](https://github.com/vbrazo)
|
24
|
+
- [PR #1266](https://github.com/stympy/faker/pull/1266) Add Faker::Science.element_symbol [@timcustard](https://github.com/timcustard)
|
25
|
+
- [PR #1101](https://github.com/stympy/faker/pull/1101) Add Faker::Company.czech_organisation_number [@jindrichskupa](https://github.com/jindrichskupa)
|
26
|
+
- [PR #1265](https://github.com/stympy/faker/pull/1265) Add Faker::WorldCup [@snayrouz](https://github.com/snayrouz)
|
27
|
+
- [PR #1141](https://github.com/stympy/faker/pull/1141) Add Faker::Coffee.intensifier [@oyeanuj](https://github.com/oyeanuj)
|
28
|
+
- [PR #1260](https://github.com/stympy/faker/pull/1260) Add Faker::Auto features to Faker::Vehicle [@mrstebo](https://github.com/mrstebo)
|
29
|
+
- [PR #1259](https://github.com/stympy/faker/pull/1259) Add the ability to add separators to emails. [@aamarill](https://github.com/aamarill)
|
30
|
+
- [PR #1064](https://github.com/stympy/faker/pull/1064) Add Faker::Markdown.sandwich [@russellschmidt](https://github.com/russellschmidt)
|
31
|
+
- [PR #1222](https://github.com/stympy/faker/pull/1222) Add paragraph_by_chars functionality [@jguthrie100](https://github.com/jguthrie100)
|
32
|
+
- [PR #1107](https://github.com/stympy/faker/pull/1107) Add tokens to Faker::Stripe [@wecohere](https://github.com/wecohere)
|
33
|
+
- [PR #1258](https://github.com/stympy/faker/pull/1258) Remove simplecov-console and add coverage_report rake task [@vbrazo](https://github.com/vbrazo)
|
34
|
+
- [PR #1247](https://github.com/stympy/faker/pull/1247) Generate capital city of random Nation [@gkunwar](https://github.com/gkunwar)
|
35
|
+
- [PR #1250](https://github.com/stympy/faker/pull/1250) House appliances [@rafaelcpalmeida](https://github.com/rafaelcpalmeida)
|
36
|
+
- [PR #1239](https://github.com/stympy/faker/pull/1239) Update Faker::Food to separate out Fruits and Veggies [@susiirwin](https://github.com/susiirwin)
|
37
|
+
- [PR #1221](https://github.com/stympy/faker/pull/1221) Updated the Readme file with the new logo [@tobaloidee](https://github.com/tobaloidee)
|
38
|
+
- [PR #1109](https://github.com/stympy/faker/pull/1109) Added Princess Bride [@jayphodges](https://github.com/jayphodges)
|
39
|
+
- [PR #987](https://github.com/stympy/faker/pull/987) Add Faker::Cannabis class [@GhostGroup](https://github.com/GhostGroup)
|
40
|
+
- [PR #1199](https://github.com/stympy/faker/pull/1199) Add Faker::StrangerThings [@Connerh92](https://github.com/Connerh92)
|
41
|
+
- [PR #1129](https://github.com/stympy/faker/pull/1129) Added SingularSiegler quotes [@splashinn](https://github.com/splashinn)
|
42
|
+
- [PR #1235](https://github.com/stympy/faker/pull/1235) Added Faker::Community [@vbrazo](https://github.com/vbrazo)
|
43
|
+
- [PR #1144](https://github.com/stympy/faker/pull/1144) Added polish_register_of_national_economy and polish_taxpayer_identification_number [@rafalpetryka](https://github.com/rafalpetryka)
|
44
|
+
- [PR #1201](https://github.com/stympy/faker/pull/1201) Adding Currency Symbol to Faker [@SaimonL](https://github.com/SaimonL)
|
45
|
+
- [PR #1230](https://github.com/stympy/faker/pull/1230) Add Faker::SwordArtOnline [@lnchambers](https://github.com/lnchambers)
|
46
|
+
- [PR #792](https://github.com/stympy/faker/pull/792) Add Faker::FamousLastWords [@susiirwin](https://github.com/susiirwin)
|
47
|
+
- [PR #1174](https://github.com/stympy/faker/pull/1174) Dota API: Str Heroes, heroes quotes, Items, Teams, Players [@felipesousafs](https://github.com/darylf)
|
48
|
+
- [PR #1220](https://github.com/stympy/faker/pull/1220) Updates for Faker::Myst [@SpyMaster356](https://github.com/SpyMaster356)
|
49
|
+
- [PR #1218](https://github.com/stympy/faker/pull/1218) Add Faker::Myst [@SpyMaster356](https://github.com/SpyMaster356)
|
50
|
+
- [PR #818](https://github.com/stympy/faker/pull/818) LoremFlickr support [@mrstebo](https://github.com/mrstebo)
|
51
|
+
- [PR #1192](https://github.com/stympy/faker/pull/1192) Space: Added space launch vehicule [@gauth-ier](https://github.com/Gauth-ier)
|
52
|
+
- [PR #1211](https://github.com/stympy/faker/pull/1211) Add bands, genres, and albums to Music [@jmkoni](https://github.com/jmkoni)
|
53
|
+
- [PR #1215](https://github.com/stympy/faker/pull/1215) Added Nato Phonetic Alphabet [@timcustard](https://github.com/timcustard)
|
54
|
+
- [PR #1209](https://github.com/stympy/faker/pull/1209) Add Faker::Source [@graciano](https://github.com/graciano)
|
55
|
+
- [PR #1147](https://github.com/stympy/faker/pull/1147) Add Spanish citizen id and docs [@PuZZleDucK](https://github.com/PuZZleDucK)
|
56
|
+
- [PR #1189](https://github.com/stympy/faker/pull/1189) Add Faker::Football [@AlexGascon](https://github.com/AlexGascon)
|
57
|
+
- [PR #1202](https://github.com/stympy/faker/pull/1202) adds both inclusive and binary gender option [@jmkoni](https://github.com/jmkoni)
|
58
|
+
- [PR #1193](https://github.com/stympy/faker/pull/1193) Add Faker::MichaelScott API [@snayrouz](https://github.com/snayrouz)
|
59
|
+
- [PR #1179](https://github.com/stympy/faker/pull/1179) Random color with Placeholdit [@nicolas-brousse](https://github.com/nicolas-brousse)
|
60
|
+
- [PR #1190](https://github.com/stympy/faker/pull/1190) Add Nation object, its specs and docs [@gkunwar](https://github.com/gkunwar)
|
61
|
+
- [PR #1210](https://github.com/stympy/faker/pull/1210) Add coveralls [@vbrazo](https://github.com/vbrazo)
|
62
|
+
- [PR #924](https://github.com/stympy/faker/pull/924) Rubocop + fixes [@stephengroat](https://github.com/stephengroat)
|
63
|
+
- [PR #900](https://github.com/stympy/faker/pull/900) Add Japanese lorem words to locale [@vietqhoang](https://github.com/vietqhoang)
|
64
|
+
|
65
|
+
### Update/add locales
|
66
|
+
- [PR #1297](https://github.com/stympy/faker/pull/1297) Faker::WorldCup updates [@JoaoHenriqueVale](https://github.com/JoaoHenriqueVale)
|
67
|
+
- [PR #616](https://github.com/stympy/faker/pull/616) add german commerce translations [@weh](https://github.com/weh)
|
68
|
+
- [PR #1281](https://github.com/stympy/faker/pull/1281) Some competitions were in the coaches array [@Eusebiotrigo](https://github.com/Eusebiotrigo)
|
69
|
+
- [PR #1103](https://github.com/stympy/faker/pull/1103) Fix inconsistent capitalization in dishes, ingredients and spices, and some other small issues under 'food' [@evrimfeyyaz](https://github.com/evrimfeyyaz)
|
70
|
+
- [PR #1262](https://github.com/stympy/faker/pull/1262) Add fr_CH locale [@elentras](https://github.com/elentras)
|
71
|
+
- [PR #1261](https://github.com/stympy/faker/pull/1261) Add fr_CA locale [@elentras](https://github.com/elentras)
|
72
|
+
- [PR #1275](https://github.com/stympy/faker/pull/1275) Fix typo; RedWine should be two words [@johnmuhl](https://github.com/johnmuhl)
|
73
|
+
- [PR #1269](https://github.com/stympy/faker/pull/1269) Update Faker::ProgrammingLanguage.name locales [@vbrazo](https://github.com/vbrazo)
|
74
|
+
- [PR #1140](https://github.com/stympy/faker/pull/1140) Add Estonian and Latvian locales [@maciej-szlosarczyk](https://github.com/maciej-szlosarczyk)
|
75
|
+
- [PR #1249](https://github.com/stympy/faker/pull/1249) Update list of name prefixes for sv locale. [kamilbielawski](https://github.com/kamilbielawski)
|
76
|
+
- [PR #1228](https://github.com/stympy/faker/pull/1228) Added Japanese color to yml [@katao](https://github.com/katao)
|
77
|
+
- [PR #1106](https://github.com/stympy/faker/pull/1106) Adds turkish phone number formats [@zasman](https://github.com/ZASMan)
|
78
|
+
- [PR #794](https://github.com/stympy/faker/pull/794) Adding country code + minor locale updates [@vveliev](https://github.com/vveliev)
|
79
|
+
- [PR #439](https://github.com/stympy/faker/pull/439) Remove Eichmann surname [@jonahwh](https://github.com/jonahwh)
|
80
|
+
- [PR #1203](https://github.com/stympy/faker/pull/1203) Finnish locale has 50 most common male, female, and last names [@Glenf](https://github.com/Glenf)
|
81
|
+
- [PR #1183](https://github.com/stympy/faker/pull/1183) Correct the spelling of Gringotts [@rhoen](https://github.com/rhoen)
|
82
|
+
- [PR #1236](https://github.com/stympy/faker/pull/1236) Updates dessert faker [@susiirwin](https://github.com/susiirwin)
|
83
|
+
- [PR #1229](https://github.com/stympy/faker/pull/1229) sv.yml: Typos [@olleolleolle](https://github.com/olleolleolle)
|
84
|
+
- [PR #1108](https://github.com/stympy/faker/pull/1108) Update Faker::Dessert [@natalietate](https://github.com/natalietate)
|
85
|
+
- [PR #1122](https://github.com/stympy/faker/pull/1122) Fix formatting for Brazilian phone and cell phone numbers [@lucasqueiroz](https://github.com/lucasqueiroz)
|
86
|
+
- [PR #1138](https://github.com/stympy/faker/pull/1138) Update locales - Faker::Overwatch [@tanner0101](https://github.com/tanner0101)
|
87
|
+
- [PR #1117](https://github.com/stympy/faker/pull/1117) Added Ukrainian entries to yml [@RomanIsko](https://github.com/RomanIsko)
|
88
|
+
|
89
|
+
### Bug/Fixes
|
90
|
+
- [PR #1305](https://github.com/stympy/faker/pull/1305) Fix YAML syntax - single quote escape (on vehicle.yml) [@YumaInaura](https://github.com/YumaInaura)
|
91
|
+
- [PR #1196](https://github.com/stympy/faker/pull/1196) Fix PhoneNumber in es-MX [@drewish](https://github.com/drewish)
|
92
|
+
- [PR #1133](https://github.com/stympy/faker/pull/1133) Fix I18n 0.9.3 compatibility [@tagliala](https://github.com/tagliala)
|
93
|
+
- [PR #1292](https://github.com/stympy/faker/pull/1292) Fix flexible keys crashing when current locale does not provide them [@deivid-rodriguez](https://github.com/deivid-rodriguez)
|
94
|
+
- [PR #1274](https://github.com/stympy/faker/pull/1274) Allow Faker::Address.zip_code to have leading zero [@igor-starostenko](https://github.com/igor-starostenko)
|
95
|
+
- [PR #1241](https://github.com/stympy/faker/pull/1241) Add missing tests reported by SimpleCov [@aamarill](https://github.com/aamarill)
|
96
|
+
- [PR #1240](https://github.com/stympy/faker/pull/1240) Add some tests [@aamarill](https://github.com/aamarill)
|
97
|
+
- [PR #1238](https://github.com/stympy/faker/pull/1238) pluralized file to match link name in the readme [@Connerh92](https://github.com/Connerh92)
|
98
|
+
- [PR #1232](https://github.com/stympy/faker/pull/1232) Fix file permissions [@tagliala](https://github.com/tagliala)
|
99
|
+
- [PR #1205](https://github.com/stympy/faker/pull/1205) Show the type of field that violated a uniqueness constraint [@AndrewRayCode](https://github.com/AndrewRayCode)
|
100
|
+
- [PR #1227](https://github.com/stympy/faker/pull/1227) Update RuboCop to 0.56.0 [@tagliala](https://github.com/tagliala)
|
101
|
+
- [PR #1225](https://github.com/stympy/faker/pull/1225) Test against latest Ruby versions [@tagliala](https://github.com/tagliala)
|
102
|
+
- [PR #1134](https://github.com/stympy/faker/pull/1134) Test against latest Ruby versions [@tagliala](https://github.com/tagliala)
|
103
|
+
- [PR #1223](https://github.com/stympy/faker/pull/1223) Fix minitest warnings [@vbrazo](https://github.com/vbrazo)
|
104
|
+
- [PR #1198](https://github.com/stympy/faker/pull/1198) Rename methods on Faker::Types to avoid shadowing ruby standard methods [@MarcPer](https://github.com/MarcPer)
|
105
|
+
- [PR #1142](https://github.com/stympy/faker/pull/1142) Missing i18n jobs fix [@PuZZleDucK](https://github.com/PuZZleDucK)
|
106
|
+
- [PR #1213](https://github.com/stympy/faker/pull/1213) Add missing tests after adding Coveralls [@vbrazo](https://github.com/vbrazo)
|
107
|
+
- [PR #1212](https://github.com/stympy/faker/pull/1212) Coveralls should ignore test folder [@vbrazo](https://github.com/timcustard)
|
108
|
+
- [PR #1181](https://github.com/stympy/faker/pull/1181) Fix: Moved the Google Omniauth key id_info from root into extra [@SirRawlins](https://github.com/SirRawlins)
|
109
|
+
- [PR #1207](https://github.com/stympy/faker/pull/1207) use default rake task [@stephengroat](https://github.com/stephengroat)
|
110
|
+
- [PR #1136](https://github.com/stympy/faker/pull/1136) Modify Faker::Internet.slug [@philduffen](https://github.com/philduffen)
|
111
|
+
- [PR #1170](https://github.com/stympy/faker/pull/1170) First_name and last_name should use the parse method - :ru locale [@vbrazo](https://github.com/vbrazo)
|
112
|
+
- [PR #1197](https://github.com/stympy/faker/pull/1197) Fixes NL postcode [@JonathanWThom](https://github.com/JonathanWThom)
|
113
|
+
- [PR #1172](https://github.com/stympy/faker/pull/1172) Fix Fixnum reference warning [@vbrazo](https://github.com/vbrazo)
|
114
|
+
- [PR #1173](https://github.com/stympy/faker/pull/1173) Fix tests warning [@vbrazo](https://github.com/vbrazo)
|
115
|
+
|
116
|
+
### Chores
|
117
|
+
- [PR #1304](https://github.com/stympy/faker/pull/1304) Fix Faker::Source ruby language examples [@YumaInaura](https://github.com/YumaInaura)
|
118
|
+
- [PR #1306](https://github.com/stympy/faker/pull/1306) Rename Internet#user_name to #username [@tylerhunt](https://github.com/tylerhunt)
|
119
|
+
- [PR #1293](https://github.com/stympy/faker/pull/1293) Update RuboCop to 0.57.2 [@tagliala](https://github.com/tagliala)
|
120
|
+
- [PR #1294](https://github.com/stympy/faker/pull/1294) Simpler requiring of test helper [@deivid-rodriguez](https://github.com/deivid-rodriguez)
|
121
|
+
- [PR #1288](https://github.com/stympy/faker/pull/1288) rake console changes - description and contributing.md [@MarcPer](https://github.com/MarcPer)
|
122
|
+
- [PR #719](https://github.com/stympy/faker/pull/719) Random words to add should be 0 [@swapsCAPS](https://github.com/swapsCAPS)
|
123
|
+
|
124
|
+
### Documentation
|
125
|
+
- [PR #1121](https://github.com/stympy/faker/pull/1121) Better docs for Faker::Food.description [@jujulisan](https://github.com/jujulisan)
|
126
|
+
- [PR #1257](https://github.com/stympy/faker/pull/1257) Fix method name in Faker::SingularSiegler [@mrstebo](https://github.com/mrstebo)
|
127
|
+
- [PR #1256](https://github.com/stympy/faker/pull/1256) Fixing documentation - Faker::Name to Faker::Zelda [@mrstebo](https://github.com/mrstebo)
|
128
|
+
- [PR #1254](https://github.com/stympy/faker/pull/1254) Added missing documentation. [@mrstebo](https://github.com/mrstebo)
|
129
|
+
- [PR #1252](https://github.com/stympy/faker/pull/1252) Add missing documentation - Faker::Address to Faker::Myst [@vbrazo](https://github.com/vbrazo)
|
130
|
+
- [PR #1248](https://github.com/stympy/faker/pull/1248) Remove duplications from company.md [@vrinek](https://github.com/vrinek)
|
131
|
+
- [PR #1146](https://github.com/stympy/faker/pull/1146) Update company docs [@PuZZleDucK](https://github.com/PuZZleDucK)
|
132
|
+
- [PR #974](https://github.com/stympy/faker/pull/974) Specify version number each class was introduced [@darylf](https://github.com/darylf)
|
133
|
+
- [PR #1128](https://github.com/stympy/faker/pull/1128) Use ruby syntax highlighting in Omniauth doc [@swrobel](https://github.com/swrobel)
|
134
|
+
- [PR #1204](https://github.com/stympy/faker/pull/1204) Update sample output of `Faker::App.version` [@joshuapinter](https://github.com/joshuapinter)
|
135
|
+
- [PR #1135](https://github.com/stympy/faker/pull/1135) Added documentation for dumb and dumber [@cnharris10](https://github.com/cnharris10)
|
136
|
+
- [PR #1177](https://github.com/stympy/faker/pull/1177) Update Faker::Number.between docs [@SpyMaster356](https://github.com/SpyMaster356)
|
137
|
+
- [PR #1124](https://github.com/stympy/faker/pull/1124) Fix ranges for Brazilian zip codes [@lucasqueiroz](https://github.com/lucasqueiroz)
|
138
|
+
- New collaborator - Vitor Oliveira [@vbrazo](https://github.com/vbrazo)
|
139
|
+
|
140
|
+
### Deprecation
|
141
|
+
- [PR #1264](https://github.com/stympy/faker/pull/1264) Prepare Faker::Name.job_titles and Faker::Name.title for deprecation
|
142
|
+
- Removing these methods as they are available in `Faker::Job`
|
143
|
+
|
3
144
|
## [v1.8.7](https://github.com/stympy/faker/tree/v1.8.7) (2017-12-22)
|
4
145
|
[Full Changelog](https://github.com/stympy/faker/compare/v1.8.6...v1.8.7)
|
5
146
|
|
@@ -159,7 +300,7 @@
|
|
159
300
|
- Faker::Time.between produces times out of range [\#894](https://github.com/stympy/faker/issues/894)
|
160
301
|
- \[Feature Request\] Add User Agent strings [\#880](https://github.com/stympy/faker/issues/880)
|
161
302
|
- Faker::Omniauth is not deterministic and breaking the build [\#876](https://github.com/stympy/faker/issues/876)
|
162
|
-
- undefined method `name
|
303
|
+
- undefined method `name =' or undefined method ` =' [\#871](https://github.com/stympy/faker/issues/871)
|
163
304
|
- Faker::French Suggestion [\#869](https://github.com/stympy/faker/issues/869)
|
164
305
|
- Documentation not correct for Faker::Color.hsl\_color and hsla\_color [\#866](https://github.com/stympy/faker/issues/866)
|
165
306
|
- Faker::PhoneNumber.area\_code and .exchange\_code returning nil [\#861](https://github.com/stympy/faker/issues/861)
|
@@ -321,7 +462,6 @@
|
|
321
462
|
- undefined method `Number' for Faker:Module [\#153](https://github.com/stympy/faker/issues/153)
|
322
463
|
|
323
464
|
**Merged pull requests:**
|
324
|
-
|
325
465
|
- Refactors code in Faker::Color [\#777](https://github.com/stympy/faker/pull/777) ([tiagofsilva](https://github.com/tiagofsilva))
|
326
466
|
- Add Faker::TwinPeaks \[fixed\] [\#775](https://github.com/stympy/faker/pull/775) ([pedantic-git](https://github.com/pedantic-git))
|
327
467
|
- Added wookie\_sentence method documentation to README [\#772](https://github.com/stympy/faker/pull/772) ([toddnestor](https://github.com/toddnestor))
|
@@ -451,7 +591,7 @@
|
|
451
591
|
## v1.6.0 (2015-11-23)
|
452
592
|
* Lots of bug fixes -- most notably, a fix for email addresses and domains in non-en locales
|
453
593
|
* Updated locales: de, en-AU, en-NZ, en-SG, en-US, en-au-ocker, en, es, fr, he, it, ja, nb-NO, pl, pt-BR, sk, and zh-CN
|
454
|
-
* Updated classes: Address, Avatar, Book, Code, Commerce, Company, Hipster, IDNumber, Internet, Number, Placeholdit, Shakespeare, and Time
|
594
|
+
* Updated classes: Address, Avatar, Book, Code, Commerce, Company, Hipster, IDNumber, Internet, Number, Placeholdit, Shakespeare, and Time
|
455
595
|
|
456
596
|
## v1.5.0 (2015-08-17)
|
457
597
|
* Added logos
|
@@ -501,7 +641,7 @@
|
|
501
641
|
* 1 major change:
|
502
642
|
* Removed deprecated methods from Address: earth_country, us_state, us_state_abbr, uk_postcode, uk_county
|
503
643
|
* Many minor changes (please see github pull requests for credits)
|
504
|
-
* Added many localizations
|
644
|
+
* Added many localizations
|
505
645
|
* Added range and array support for Lorem
|
506
646
|
|
507
647
|
## v1.0.1 (2011-09-27)
|
@@ -535,7 +675,7 @@
|
|
535
675
|
* Added Canadian translation [igbanam]
|
536
676
|
* Added Norwegian translation [kytrinyx]
|
537
677
|
* Lots of translation-related cleanup [kytrinyx]
|
538
|
-
|
678
|
+
|
539
679
|
|
540
680
|
## v0.9.5 (2011-01-27)
|
541
681
|
* 1 minor bug fix:
|
@@ -577,7 +717,7 @@
|
|
577
717
|
* 3 major enhancements:
|
578
718
|
* Added Lorem to generate fake Latin
|
579
719
|
* Added secondary_address to Address, and made inclusion of
|
580
|
-
secondary address in street_address optional (false by
|
720
|
+
secondary address in street_address optional (false by
|
581
721
|
default).
|
582
722
|
* Added UK address methods [Caius Durling]
|
583
723
|
|
data/README.md
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
![logotype a happy-07](https://user-images.githubusercontent.com/36028424/40263395-4318481e-5b44-11e8-92e5-3dcc1ce169b3.png)
|
2
2
|
|
3
|
+
# Faker [![Build Status](https://travis-ci.org/stympy/faker.svg?branch=master)](https://travis-ci.org/stympy/faker) [![Gem Version](https://badge.fury.io/rb/faker.svg)](https://badge.fury.io/rb/faker) [![Test Coverage](https://api.codeclimate.com/v1/badges/ef54c7f9df86e965d64b/test_coverage)](https://codeclimate.com/github/stympy/faker/test_coverage) [![Maintainability](https://api.codeclimate.com/v1/badges/ef54c7f9df86e965d64b/maintainability)](https://codeclimate.com/github/stympy/faker/maintainability)
|
3
4
|
|
4
5
|
This gem is a port of Perl's Data::Faker library that generates fake data.
|
5
6
|
|
@@ -26,70 +27,101 @@ Contents
|
|
26
27
|
- [Faker::Address](doc/address.md)
|
27
28
|
- [Faker::Ancient](doc/ancient.md)
|
28
29
|
- [Faker::App](doc/app.md)
|
30
|
+
- [Faker::Appliance](doc/appliance.md)
|
31
|
+
- [Faker::Artist](doc/artist.md)
|
29
32
|
- [Faker::AquaTeenHungerForce](doc/aqua_teen_hunger_force.md)
|
30
33
|
- [Faker::Avatar](doc/avatar.md)
|
31
34
|
- [Faker::BackToTheFuture](doc/back_to_the_future.md)
|
32
35
|
- [Faker::Bank](doc/bank.md)
|
33
36
|
- [Faker::Beer](doc/beer.md)
|
34
37
|
- [Faker::Bitcoin](doc/bitcoin.md)
|
38
|
+
- [Faker::BojackHorseman](doc/bojack_horseman.md)
|
35
39
|
- [Faker::Book](doc/book.md)
|
36
40
|
- [Faker::Boolean](doc/boolean.md)
|
37
41
|
- [Faker::BossaNova](doc/bossa_nova.md)
|
42
|
+
- [Faker::BreakingBad](doc/breaking_bad.md)
|
38
43
|
- [Faker::Business](doc/business.md)
|
44
|
+
- [Faker::Cannabis](doc/cannabis.md)
|
39
45
|
- [Faker::Cat](doc/cat.md)
|
40
46
|
- [Faker::ChuckNorris](doc/chuck_norris.md)
|
41
47
|
- [Faker::Code](doc/code.md)
|
42
48
|
- [Faker::Coffee](doc/coffee.md)
|
43
49
|
- [Faker::Color](doc/color.md)
|
44
50
|
- [Faker::Commerce](doc/commerce.md)
|
51
|
+
- [Faker::Community](doc/community.md)
|
45
52
|
- [Faker::Company](doc/company.md)
|
46
53
|
- [Faker::Compass](doc/compass.md)
|
47
54
|
- [Faker::Crypto](doc/crypto.md)
|
55
|
+
- [Faker::Currency](doc/currency.md)
|
48
56
|
- [Faker::Date](doc/date.md)
|
49
57
|
- [Faker::Demographic](doc/demographic.md)
|
50
58
|
- [Faker::Dessert](doc/dessert.md)
|
59
|
+
- [Faker::Device](doc/device.md)
|
51
60
|
- [Faker::Dog](doc/dog.md)
|
52
|
-
- [Faker::
|
61
|
+
- [Faker::Dota](doc/dota.md)
|
53
62
|
- [Faker::DrWho](doc/dr_who.md)
|
63
|
+
- [Faker::DragonBall](doc/dragon_ball.md)
|
64
|
+
- [Faker::DumbAndDumber](doc/dumb_and_dumber.md)
|
54
65
|
- [Faker::Dune](doc/dune.md)
|
55
66
|
- [Faker::Educator](doc/educator.md)
|
56
67
|
- [Faker::ElderScrolls](doc/elder_scrolls.md)
|
68
|
+
- [Faker::ElectricalComponents](doc/electrical_components.md)
|
69
|
+
- [Faker::Esport](doc/esport.md)
|
70
|
+
- [Faker::Ethereum](doc/ethereum.md)
|
57
71
|
- [Faker::Fallout](doc/fallout.md)
|
58
72
|
- [Faker::FamilyGuy](doc/family_guy.md)
|
73
|
+
- [Faker::FamousLastWords](doc/famous_last_words.md)
|
59
74
|
- [Faker::File](doc/file.md)
|
60
75
|
- [Faker::Fillmurray](doc/fillmurray.md)
|
76
|
+
- [Faker::Finance](doc/finance.md)
|
61
77
|
- [Faker::Food](doc/food.md)
|
78
|
+
- [Faker::Football](doc/football.md)
|
62
79
|
- [Faker::Friends](doc/friends.md)
|
80
|
+
- [Faker::FunnyName](doc/funny_name.md)
|
63
81
|
- [Faker::GameOfThrones](doc/game_of_thrones.md)
|
82
|
+
- [Faker::Gender](doc/gender.md)
|
83
|
+
- [Faker::GreekPhilosophers](doc/greek_philosophers.md)
|
64
84
|
- [Faker::Hacker](doc/hacker.md)
|
65
85
|
- [Faker::HarryPotter](doc/harry_potter.md)
|
66
86
|
- [Faker::HeyArnold](doc/hey_arnold.md)
|
67
87
|
- [Faker::Hipster](doc/hipster.md)
|
88
|
+
- [Faker::HitchhikersGuideToTheGalaxy](doc/hitchhikers_guide_to_the_galaxy.md)
|
68
89
|
- [Faker::Hobbit](doc/hobbit.md)
|
69
90
|
- [Faker::HowIMetYourMother](doc/how_i_met_your_mother.md)
|
70
|
-
- [Faker::
|
91
|
+
- [Faker::IDNumber](doc/id_number.md)
|
71
92
|
- [Faker::Internet](doc/internet.md)
|
93
|
+
- [Faker::Invoice](doc/invoice.md)
|
72
94
|
- [Faker::Job](doc/job.md)
|
73
95
|
- [Faker::Kpop](doc/kpop.md)
|
74
96
|
- [Faker::LeagueOfLegends](doc/league_of_legends.md)
|
97
|
+
- [Faker::Lebowski](doc/lebowski.md)
|
75
98
|
- [Faker::LordOfTheRings](doc/lord_of_the_rings.md)
|
76
|
-
- [Faker::LoremPixel](doc/lorem_pixel.md)
|
77
99
|
- [Faker::Lorem](doc/lorem.md)
|
100
|
+
- [Faker::LoremFlickr](doc/lorem_flickr.md)
|
101
|
+
- [Faker::LoremPixel](doc/lorem_pixel.md)
|
78
102
|
- [Faker::Lovecraft](doc/lovecraft.md)
|
79
103
|
- [Faker::Markdown](doc/markdown.md)
|
80
104
|
- [Faker::Matz](doc/matz.md)
|
81
105
|
- [Faker::Measurement](doc/measurement.md)
|
106
|
+
- [Faker::MichaelScott](doc/michael_scott.md)
|
107
|
+
- [Faker::Military](doc/military.md)
|
82
108
|
- [Faker::MostInterestingManInTheWorld](doc/most_interesting_man_in_the_world.md)
|
83
109
|
- [Faker::Movie](doc/movie.md)
|
84
110
|
- [Faker::Music](doc/music.md)
|
111
|
+
- [Faker::Myst](doc/myst.md)
|
85
112
|
- [Faker::Name](doc/name.md)
|
113
|
+
- [Faker::Nation](doc/nation.md)
|
114
|
+
- [Faker::NatoPhoneticAlphabet](doc/nato_phonetic_alphabet.md)
|
115
|
+
- [Faker::NewGirl](doc/new_girl.md)
|
86
116
|
- [Faker::Number](doc/number.md)
|
87
117
|
- [Faker::Omniauth](doc/omniauth.md)
|
88
118
|
- [Faker::OnePiece](doc/one_piece.md)
|
89
119
|
- [Faker::Overwatch](doc/overwatch.md)
|
120
|
+
- [Faker::ParksAndRec](doc/parks_and_rec.md)
|
90
121
|
- [Faker::PhoneNumber](doc/phone_number.md)
|
91
122
|
- [Faker::Placeholdit](doc/placeholdit.md)
|
92
123
|
- [Faker::Pokemon](doc/pokemon.md)
|
124
|
+
- [Faker::PrincessBride](doc/princess_bride.md)
|
93
125
|
- [Faker::ProgrammingLanguage](doc/programming_language.md)
|
94
126
|
- [Faker::RickAndMorty](doc/rick_and_morty.md)
|
95
127
|
- [Faker::Robin](doc/robin.md)
|
@@ -99,13 +131,20 @@ Contents
|
|
99
131
|
- [Faker::Seinfeld](doc/seinfeld.md)
|
100
132
|
- [Faker::SiliconValley](doc/silicon_valley.md)
|
101
133
|
- [Faker::Simpsons](doc/simpsons.md)
|
134
|
+
- [Faker::SingularSiegler](doc/singular_siegler.md)
|
102
135
|
- [Faker::SlackEmoji](doc/slack_emoji.md)
|
136
|
+
- [Faker::Source](doc/source.md)
|
103
137
|
- [Faker::Space](doc/space.md)
|
104
138
|
- [Faker::StarTrek](doc/star_trek.md)
|
105
139
|
- [Faker::StarWars](doc/star_wars.md)
|
140
|
+
- [Faker::StrangerThings](doc/stranger_things.md)
|
141
|
+
- [Faker::String](doc/string.md)
|
142
|
+
- [Faker::Stripe](doc/stripe.md)
|
106
143
|
- [Faker::Superhero](doc/superhero.md)
|
144
|
+
- [Faker::SwordArtOnline](doc/sword_art_online.md)
|
107
145
|
- [Faker::Team](doc/team.md)
|
108
146
|
- [Faker::TheFreshPrinceOfBelAir](doc/the_fresh_prince_of_bel_air.md)
|
147
|
+
- [Faker::TheITCrowd](doc/the_it_crowd.md)
|
109
148
|
- [Faker::TheThickOfIt](doc/the_thick_of_it.md)
|
110
149
|
- [Faker::Time](doc/time.md)
|
111
150
|
- [Faker::TwinPeaks](doc/twin_peaks.md)
|
@@ -117,6 +156,7 @@ Contents
|
|
117
156
|
- [Faker::VentureBros](doc/venture_bros.md)
|
118
157
|
- [Faker::VForVendetta](doc/v_for_vendetta.md)
|
119
158
|
- [Faker::Witcher](doc/witcher.md)
|
159
|
+
- [Faker::WorldCup](doc/world_cup.md)
|
120
160
|
- [Faker::WorldOfWarcraft](doc/world_of_warcraft.md)
|
121
161
|
- [Faker::Zelda](doc/zelda.md)
|
122
162
|
- [Customization](#customization)
|
data/lib/extensions/array.rb
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
class Array
|
2
|
-
unless
|
3
|
-
def sample(
|
4
|
-
#based on code from https://github.com/marcandre/backports
|
5
|
-
size =
|
6
|
-
return self[Kernel.rand(size)] if
|
2
|
+
unless method_defined? :sample
|
3
|
+
def sample(arr = nil)
|
4
|
+
# based on code from https://github.com/marcandre/backports
|
5
|
+
size = length
|
6
|
+
return self[Kernel.rand(size)] if arr.nil?
|
7
7
|
|
8
|
-
|
9
|
-
raise ArgumentError,
|
8
|
+
arr = arr.to_int
|
9
|
+
raise ArgumentError, 'negative array size' if arr < 0
|
10
10
|
|
11
|
-
|
11
|
+
arr = size if arr > size
|
12
12
|
|
13
13
|
result = Array.new(self)
|
14
|
-
|
14
|
+
arr.times do |i|
|
15
15
|
r = i + Kernel.rand(size - i)
|
16
16
|
result[i], result[r] = result[r], result[i]
|
17
17
|
end
|
18
|
-
result[
|
18
|
+
result[arr..size] = []
|
19
19
|
result
|
20
20
|
end
|
21
21
|
end
|
data/lib/extensions/symbol.rb
CHANGED
data/lib/faker.rb
CHANGED
@@ -1,9 +1,7 @@
|
|
1
|
-
|
2
|
-
mydir = File.expand_path(File.dirname(__FILE__))
|
1
|
+
mydir = __dir__
|
3
2
|
|
4
3
|
begin
|
5
4
|
require 'psych'
|
6
|
-
rescue LoadError
|
7
5
|
end
|
8
6
|
|
9
7
|
require 'i18n'
|
@@ -15,7 +13,6 @@ end
|
|
15
13
|
I18n.load_path += Dir[File.join(mydir, 'locales', '**/*.yml')]
|
16
14
|
I18n.reload! if I18n.backend.initialized?
|
17
15
|
|
18
|
-
|
19
16
|
module Faker
|
20
17
|
class Config
|
21
18
|
@locale = nil
|
@@ -45,9 +42,10 @@ module Faker
|
|
45
42
|
Letters = ULetters + Array('a'..'z')
|
46
43
|
|
47
44
|
class << self
|
48
|
-
##
|
49
|
-
def numerify(number_string)
|
50
|
-
number_string.
|
45
|
+
## by default numerify results do not start with a zero
|
46
|
+
def numerify(number_string, leading_zero: false)
|
47
|
+
return number_string.gsub(/#/) { rand(10).to_s } if leading_zero
|
48
|
+
number_string.sub(/#/) { rand(1..9).to_s }.gsub(/#/) { rand(10).to_s }
|
51
49
|
end
|
52
50
|
|
53
51
|
def letterify(letter_string)
|
@@ -77,26 +75,26 @@ module Faker
|
|
77
75
|
#
|
78
76
|
# "U3V 3TP"
|
79
77
|
#
|
80
|
-
def regexify(
|
81
|
-
|
82
|
-
|
83
|
-
gsub(
|
84
|
-
gsub(/\{(\d+)\}/, '{\1,\1}').gsub(/\?/, '{0,1}')
|
85
|
-
gsub(/(\[[^\]]+\])\{(\d+),(\d+)\}/) {|
|
86
|
-
gsub(/(\([^\)]+\))\{(\d+),(\d+)\}/) {|
|
87
|
-
gsub(/(\\?.)\{(\d+),(\d+)\}/) {|
|
88
|
-
gsub(/\((.*?)\)/) {|match| sample(match.gsub(/[\(\)]/, '').split('|')) }
|
89
|
-
gsub(/\[([^\]]+)\]/) {|match| match.gsub(/(\w\-\w)/) {|range| sample(Array(Range.new(*range.split('-')))) } }
|
90
|
-
gsub(/\[([^\]]+)\]/) {|
|
91
|
-
gsub('\d') {|
|
92
|
-
gsub('\w') {|
|
78
|
+
def regexify(reg)
|
79
|
+
reg = reg.source if reg.respond_to?(:source) # Handle either a Regexp or a String that looks like a Regexp
|
80
|
+
reg
|
81
|
+
.gsub(%r{^\/?\^?}, '').gsub(%r{\$?\/?$}, '') # Ditch the anchors
|
82
|
+
.gsub(/\{(\d+)\}/, '{\1,\1}').gsub(/\?/, '{0,1}') # All {2} become {2,2} and ? become {0,1}
|
83
|
+
.gsub(/(\[[^\]]+\])\{(\d+),(\d+)\}/) { |_match| Regexp.last_match(1) * sample(Array(Range.new(Regexp.last_match(2).to_i, Regexp.last_match(3).to_i))) } # [12]{1,2} becomes [12] or [12][12]
|
84
|
+
.gsub(/(\([^\)]+\))\{(\d+),(\d+)\}/) { |_match| Regexp.last_match(1) * sample(Array(Range.new(Regexp.last_match(2).to_i, Regexp.last_match(3).to_i))) } # (12|34){1,2} becomes (12|34) or (12|34)(12|34)
|
85
|
+
.gsub(/(\\?.)\{(\d+),(\d+)\}/) { |_match| Regexp.last_match(1) * sample(Array(Range.new(Regexp.last_match(2).to_i, Regexp.last_match(3).to_i))) } # A{1,2} becomes A or AA or \d{3} becomes \d\d\d
|
86
|
+
.gsub(/\((.*?)\)/) { |match| sample(match.gsub(/[\(\)]/, '').split('|')) } # (this|that) becomes 'this' or 'that'
|
87
|
+
.gsub(/\[([^\]]+)\]/) { |match| match.gsub(/(\w\-\w)/) { |range| sample(Array(Range.new(*range.split('-')))) } } # All A-Z inside of [] become C (or X, or whatever)
|
88
|
+
.gsub(/\[([^\]]+)\]/) { |_match| sample(Regexp.last_match(1).split('')) } # All [ABC] become B (or A or C)
|
89
|
+
.gsub('\d') { |_match| sample(Numbers) }
|
90
|
+
.gsub('\w') { |_match| sample(Letters) }
|
93
91
|
end
|
94
92
|
|
95
93
|
# Helper for the common approach of grabbing a translation
|
96
94
|
# with an array of values and selecting one of them.
|
97
95
|
def fetch(key)
|
98
96
|
fetched = sample(translate("faker.#{key}"))
|
99
|
-
if fetched && fetched.match(
|
97
|
+
if fetched && fetched.match(%r{^\/}) && fetched.match(%r{\/$}) # A regex
|
100
98
|
regexify(fetched)
|
101
99
|
else
|
102
100
|
fetched
|
@@ -108,7 +106,7 @@ module Faker
|
|
108
106
|
def fetch_all(key)
|
109
107
|
fetched = translate("faker.#{key}")
|
110
108
|
fetched = fetched.last if fetched.size <= 1
|
111
|
-
if !fetched.respond_to?(:sample) && fetched.match(
|
109
|
+
if !fetched.respond_to?(:sample) && fetched.match(%r{^\/}) && fetched.match(%r{\/$}) # A regex
|
112
110
|
regexify(fetched)
|
113
111
|
else
|
114
112
|
fetched
|
@@ -120,7 +118,7 @@ module Faker
|
|
120
118
|
# formatted translation: e.g., "#{first_name} #{last_name}".
|
121
119
|
def parse(key)
|
122
120
|
fetched = fetch(key)
|
123
|
-
parts = fetched.scan(/(\(?)#\{([A-Za-z]+\.)?([^\}]+)\}([^#]+)?/).map
|
121
|
+
parts = fetched.scan(/(\(?)#\{([A-Za-z]+\.)?([^\}]+)\}([^#]+)?/).map do |prefix, kls, meth, etc|
|
124
122
|
# If the token had a class Prefix (e.g., Name.first_name)
|
125
123
|
# grab the constant, otherwise use self
|
126
124
|
cls = kls ? Faker.const_get(kls.chop) : self
|
@@ -129,13 +127,19 @@ module Faker
|
|
129
127
|
# In either case the information will be retained for reconstruction of the string.
|
130
128
|
text = prefix
|
131
129
|
|
132
|
-
# If the class has the method, call it, otherwise
|
133
|
-
#
|
134
|
-
text += cls.respond_to?(meth)
|
130
|
+
# If the class has the method, call it, otherwise fetch the transation
|
131
|
+
# (e.g., faker.phone_number.area_code)
|
132
|
+
text += if cls.respond_to?(meth)
|
133
|
+
cls.send(meth)
|
134
|
+
else
|
135
|
+
# Do just enough snake casing to convert PhoneNumber to phone_number
|
136
|
+
key_path = cls.to_s.split('::').last.gsub(/([a-z\d])([A-Z])/, '\1_\2').downcase
|
137
|
+
fetch("#{key_path}.#{meth.downcase}")
|
138
|
+
end
|
135
139
|
|
136
140
|
# And tack on spaces, commas, etc. left over in the string
|
137
|
-
text
|
138
|
-
|
141
|
+
text + etc.to_s
|
142
|
+
end
|
139
143
|
# If the fetched key couldn't be parsed, then fallback to numerify
|
140
144
|
parts.any? ? parts.join : numerify(fetched)
|
141
145
|
end
|
@@ -146,7 +150,7 @@ module Faker
|
|
146
150
|
opts = args.last.is_a?(Hash) ? args.pop : {}
|
147
151
|
opts[:locale] ||= Faker::Config.locale
|
148
152
|
opts[:raise] = true
|
149
|
-
I18n.translate(*
|
153
|
+
I18n.translate(*args.push(opts))
|
150
154
|
rescue I18n::MissingTranslationData
|
151
155
|
opts = args.last.is_a?(Hash) ? args.pop : {}
|
152
156
|
opts[:locale] = :en
|
@@ -154,7 +158,7 @@ module Faker
|
|
154
158
|
# Super-simple fallback -- fallback to en if the
|
155
159
|
# translation was missing. If the translation isn't
|
156
160
|
# in en either, then it will raise again.
|
157
|
-
I18n.translate(*
|
161
|
+
I18n.translate(*args.push(opts))
|
158
162
|
end
|
159
163
|
|
160
164
|
# Executes block with given locale set.
|
@@ -175,17 +179,20 @@ module Faker
|
|
175
179
|
# name:
|
176
180
|
# girls_name: ["Alice", "Cheryl", "Tatiana"]
|
177
181
|
# Then you can call Faker::Name.girls_name and it will act like #first_name
|
178
|
-
def method_missing(
|
182
|
+
def method_missing(mth, *args, &block)
|
179
183
|
super unless @flexible_key
|
180
184
|
|
181
|
-
|
182
|
-
if translation = translate(:faker)[@flexible_key][m]
|
185
|
+
if (translation = translate("faker.#{@flexible_key}.#{mth}"))
|
183
186
|
sample(translation)
|
184
187
|
else
|
185
188
|
super
|
186
189
|
end
|
187
190
|
end
|
188
191
|
|
192
|
+
def respond_to_missing?(method_name, include_private = false)
|
193
|
+
super
|
194
|
+
end
|
195
|
+
|
189
196
|
# Generates a random value between the interval
|
190
197
|
def rand_in_range(from, to)
|
191
198
|
from, to = to, from if to < from
|
@@ -193,7 +200,7 @@ module Faker
|
|
193
200
|
end
|
194
201
|
|
195
202
|
def unique(max_retries = 10_000)
|
196
|
-
@
|
203
|
+
@unique ||= UniqueGenerator.new(self, max_retries)
|
197
204
|
end
|
198
205
|
|
199
206
|
def sample(list)
|
@@ -217,7 +224,7 @@ module Faker
|
|
217
224
|
end
|
218
225
|
end
|
219
226
|
|
220
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'faker','*.rb')).sort.each {|f| require f }
|
227
|
+
Dir.glob(File.join(File.dirname(__FILE__), 'faker', '*.rb')).sort.each { |f| require f }
|
221
228
|
|
222
229
|
require 'extensions/array'
|
223
230
|
require 'extensions/symbol'
|