faker 2.1.0 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +171 -3
  3. data/README.md +5 -5
  4. data/lib/faker.rb +56 -1
  5. data/lib/faker/blockchain/aeternity.rb +70 -0
  6. data/lib/faker/blockchain/bitcoin.rb +26 -0
  7. data/lib/faker/blockchain/ethereum.rb +10 -0
  8. data/lib/faker/blockchain/tezos.rb +62 -6
  9. data/lib/faker/books/book.rb +36 -0
  10. data/lib/faker/books/culture_series.rb +49 -0
  11. data/lib/faker/books/dune.rb +66 -5
  12. data/lib/faker/books/lovecraft.rb +210 -7
  13. data/lib/faker/creature/animal.rb +9 -0
  14. data/lib/faker/creature/cat.rb +27 -0
  15. data/lib/faker/creature/dog.rb +72 -0
  16. data/lib/faker/creature/horse.rb +18 -0
  17. data/lib/faker/default/address.rb +25 -5
  18. data/lib/faker/default/alphanumeric.rb +56 -7
  19. data/lib/faker/default/app.rb +55 -1
  20. data/lib/faker/default/appliance.rb +18 -0
  21. data/lib/faker/default/artist.rb +9 -0
  22. data/lib/faker/default/avatar.rb +43 -1
  23. data/lib/faker/default/bank.rb +10 -2
  24. data/lib/faker/default/boolean.rb +16 -1
  25. data/lib/faker/default/chile_rut.rb +12 -2
  26. data/lib/faker/default/chuck_norris.rb +1 -1
  27. data/lib/faker/default/code.rb +16 -3
  28. data/lib/faker/default/commerce.rb +17 -3
  29. data/lib/faker/default/company.rb +10 -2
  30. data/lib/faker/default/crypto_coin.rb +15 -3
  31. data/lib/faker/default/date.rb +94 -5
  32. data/lib/faker/default/demographic.rb +5 -1
  33. data/lib/faker/default/dessert.rb +27 -0
  34. data/lib/faker/default/device.rb +54 -0
  35. data/lib/faker/default/driving_licence.rb +10 -4
  36. data/lib/faker/default/electrical_components.rb +27 -0
  37. data/lib/faker/default/file.rb +19 -2
  38. data/lib/faker/default/fillmurray.rb +9 -1
  39. data/lib/faker/default/finance.rb +5 -1
  40. data/lib/faker/default/gender.rb +18 -0
  41. data/lib/faker/default/greek_philosophers.rb +18 -0
  42. data/lib/faker/default/hacker.rb +59 -1
  43. data/lib/faker/default/hipster.rb +45 -6
  44. data/lib/faker/default/house.rb +18 -0
  45. data/lib/faker/default/id_number.rb +48 -3
  46. data/lib/faker/default/industry_segments.rb +36 -0
  47. data/lib/faker/default/internet.rb +97 -13
  48. data/lib/faker/default/invoice.rb +16 -3
  49. data/lib/faker/default/json.rb +19 -2
  50. data/lib/faker/default/lorem.rb +81 -10
  51. data/lib/faker/default/lorem_flickr.rb +38 -5
  52. data/lib/faker/default/lorem_pixel.rb +10 -1
  53. data/lib/faker/default/markdown.rb +6 -1
  54. data/lib/faker/default/marketing.rb +9 -0
  55. data/lib/faker/default/measurement.rb +40 -8
  56. data/lib/faker/default/military.rb +45 -0
  57. data/lib/faker/default/name.rb +5 -1
  58. data/lib/faker/default/nation.rb +48 -5
  59. data/lib/faker/default/nato_phonetic_alphabet.rb +9 -0
  60. data/lib/faker/default/nhs.rb +5 -1
  61. data/lib/faker/default/number.rb +180 -11
  62. data/lib/faker/default/omniauth.rb +92 -9
  63. data/lib/faker/default/phone_number.rb +5 -1
  64. data/lib/faker/default/placeholdit.rb +11 -1
  65. data/lib/faker/default/programming_language.rb +18 -0
  66. data/lib/faker/default/relationship.rb +5 -1
  67. data/lib/faker/default/restaurant.rb +54 -2
  68. data/lib/faker/default/science.rb +27 -0
  69. data/lib/faker/default/source.rb +59 -3
  70. data/lib/faker/default/string.rb +5 -1
  71. data/lib/faker/default/stripe.rb +20 -4
  72. data/lib/faker/default/subscription.rb +45 -0
  73. data/lib/faker/default/superhero.rb +45 -0
  74. data/lib/faker/default/time.rb +114 -4
  75. data/lib/faker/default/twitter.rb +32 -18
  76. data/lib/faker/default/types.rb +27 -5
  77. data/lib/faker/default/vehicle.rb +17 -4
  78. data/lib/faker/default/world_cup.rb +11 -2
  79. data/lib/faker/games/dota.rb +52 -1
  80. data/lib/faker/games/elder_scrolls.rb +72 -0
  81. data/lib/faker/games/fallout.rb +37 -0
  82. data/lib/faker/games/game.rb +27 -0
  83. data/lib/faker/games/half_life.rb +27 -0
  84. data/lib/faker/games/heroes.rb +27 -0
  85. data/lib/faker/games/heroes_of_the_storm.rb +36 -0
  86. data/lib/faker/games/league_of_legends.rb +54 -0
  87. data/lib/faker/games/myst.rb +45 -0
  88. data/lib/faker/games/overwatch.rb +27 -0
  89. data/lib/faker/games/pokemon.rb +27 -0
  90. data/lib/faker/games/sonic_the_hedgehog.rb +27 -0
  91. data/lib/faker/games/super_smash_bros.rb +18 -0
  92. data/lib/faker/games/witcher.rb +54 -0
  93. data/lib/faker/games/world_of_warcraft.rb +18 -0
  94. data/lib/faker/games/zelda.rb +37 -1
  95. data/lib/faker/japanese_media/dragon_ball.rb +9 -0
  96. data/lib/faker/japanese_media/one_piece.rb +54 -0
  97. data/lib/faker/japanese_media/sword_art_online.rb +36 -0
  98. data/lib/faker/movies/back_to_the_future.rb +28 -0
  99. data/lib/faker/movies/ghostbusters.rb +28 -0
  100. data/lib/faker/movies/harry_potter.rb +54 -0
  101. data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +69 -0
  102. data/lib/faker/movies/hobbit.rb +37 -0
  103. data/lib/faker/movies/lebowski.rb +27 -0
  104. data/lib/faker/movies/lord_of_the_rings.rb +28 -0
  105. data/lib/faker/movies/movie.rb +9 -0
  106. data/lib/faker/movies/princess_bride.rb +19 -0
  107. data/lib/faker/movies/star_wars.rb +100 -4
  108. data/lib/faker/movies/v_for_vendetta.rb +29 -0
  109. data/lib/faker/music/grateful_dead.rb +18 -0
  110. data/lib/faker/music/phish.rb +9 -0
  111. data/lib/faker/music/rock_band.rb +9 -0
  112. data/lib/faker/music/umphreys_mcgee.rb +9 -0
  113. data/lib/faker/sports/basketball.rb +36 -0
  114. data/lib/faker/sports/football.rb +45 -0
  115. data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +9 -0
  116. data/lib/faker/tv_shows/bojack_horseman.rb +28 -0
  117. data/lib/faker/tv_shows/breaking_bad.rb +18 -0
  118. data/lib/faker/tv_shows/buffy.rb +45 -0
  119. data/lib/faker/tv_shows/community.rb +19 -0
  120. data/lib/faker/tv_shows/dr_who.rb +78 -2
  121. data/lib/faker/tv_shows/dumb_and_dumber.rb +28 -0
  122. data/lib/faker/tv_shows/family_guy.rb +28 -0
  123. data/lib/faker/tv_shows/friends.rb +27 -0
  124. data/lib/faker/tv_shows/game_of_thrones.rb +46 -0
  125. data/lib/faker/tv_shows/hey_arnold.rb +27 -0
  126. data/lib/faker/tv_shows/how_i_met_your_mother.rb +37 -0
  127. data/lib/faker/tv_shows/michael_scott.rb +13 -0
  128. data/lib/faker/tv_shows/new_girl.rb +19 -0
  129. data/lib/faker/tv_shows/parks_and_rec.rb +18 -0
  130. data/lib/faker/tv_shows/rick_and_morty.rb +28 -0
  131. data/lib/faker/tv_shows/ru_paul.rb +18 -0
  132. data/lib/faker/tv_shows/seinfeld.rb +28 -0
  133. data/lib/faker/tv_shows/silicon_valley.rb +75 -0
  134. data/lib/faker/tv_shows/simpsons.rb +28 -0
  135. data/lib/faker/tv_shows/south_park.rb +19 -0
  136. data/lib/faker/tv_shows/star_trek.rb +36 -0
  137. data/lib/faker/tv_shows/stargate.rb +28 -0
  138. data/lib/faker/tv_shows/stranger_things.rb +19 -0
  139. data/lib/faker/tv_shows/the_expanse.rb +36 -0
  140. data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +28 -0
  141. data/lib/faker/tv_shows/the_it_crowd.rb +37 -0
  142. data/lib/faker/tv_shows/the_thick_of_it.rb +28 -0
  143. data/lib/faker/tv_shows/twin_peaks.rb +28 -0
  144. data/lib/faker/tv_shows/venture_bros.rb +38 -0
  145. data/lib/faker/version.rb +1 -1
  146. data/lib/locales/en-CA.yml +1 -1
  147. data/lib/locales/en-TH.yml +360 -0
  148. data/lib/locales/en.yml +0 -49
  149. data/lib/locales/en/color.yml +1 -1
  150. data/lib/locales/en/dr_who.yml +1 -1
  151. data/lib/locales/en/science.yml +1 -1
  152. data/lib/locales/ja.yml +8 -9
  153. data/lib/locales/th.yml +380 -0
  154. metadata +39 -20
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c8ec0243e0079d2e81fdf6bfa46e9619a97ce96eb9a0521be7699c36a8408e5a
4
- data.tar.gz: 7e5a20f1d6595b3fcda89a802dbaaa3e97b2027bcd21f1fad6bb164e433b12ea
3
+ metadata.gz: f753c6745324477819be7fa8671395eaf8d64269de47b0aaa366ab3cb0b28655
4
+ data.tar.gz: ccbb9fe077964f47444c76843548ff3c9272b321ec6e4c246ce66a2fe772bc7e
5
5
  SHA512:
6
- metadata.gz: 6de044051ced1eea9bbc6b3a1693e3d9f809195289c0ceb68238459ec9420eccb7cb6eb7761f23f88a3c94e68292cdd42785cc97da9d4e5680e7240afd0dd3a4
7
- data.tar.gz: 0c9e6ad646d0772e3e116b7534940270c1be804c3e231b0aba974cc0f9478750125ac591b18ee4d2f5b851e9df29898c42b69067ec0e9c411b5c96de350d21c2
6
+ metadata.gz: a74a4e4fe1fdcafd4a09f379d3fd9955bb09c1a3bcc1ed8d996aec2d7fd7ec8cdbeb898ce536f9778dfdc55779c0b715bff3a8edd11545c5690e2a1f1e79e3b7
7
+ data.tar.gz: f6ede2e9b87b99c453b79dad0d2ee57b0b542a72ab8efb166a8a4aeb3c5d6308285c6d6984787542660cfb8a0d99cf5f9419a7cfc6768f74a933ea9c7d63725f
@@ -1,15 +1,179 @@
1
1
  # Change Log
2
2
 
3
- ## [v2.1.0](https://github.com/stympy/faker/tree/2.1.0) (2019-31-07)
3
+ ## [v2.5.0](https://github.com/faker-ruby/faker/tree/v2.5.0) (2019-30-09)
4
+
5
+ This version introduces:
6
+ - locales for Thai language - the mother language in Thailand
7
+ - YARD documentation for faker interfaces
8
+ - locales updates or fixes
9
+
10
+ ## Feature Request
11
+
12
+ - [PR #1773](https://github.com/faker-ruby/faker/pull/1773) Two new locales added: th and en-th [@kodram](https://github.com/kodram)
13
+
14
+ ## Documentation
15
+
16
+ - [PR #1771](https://github.com/faker-ruby/faker/pull/1771) Fix some rubocop comments that were showing up in YARD docs. [@connorshea](https://github.com/connorshea)
17
+ - [PR #1767](https://github.com/faker-ruby/faker/pull/1767) Fix two incorrect flexible method calls. [@connorshea](https://github.com/connorshea)
18
+ - [PR #1761](https://github.com/faker-ruby/faker/pull/1761) Add YARD docs for the Basketball and Football fakers. [@connorshea](https://github.com/connorshea)
19
+ - [PR #1768](https://github.com/faker-ruby/faker/pull/1768) Add YARD docs for Faker::Restaurant. [@connorshea](https://github.com/connorshea)
20
+ - [PR #1759](https://github.com/faker-ruby/faker/pull/1759) Add YARD docs for all remaining TV Shows [@connorshea](https://github.com/connorshea)
21
+ - [PR #1758](https://github.com/faker-ruby/faker/pull/1758) Add YARD docs for Doctor Who and fix a method name. [@connorshea](https://github.com/connorshea)
22
+ - [PR #1756](https://github.com/faker-ruby/faker/pull/1756) Add more miscellaneous YARD docs [@connorshea](https://github.com/connorshea)
23
+ - [PR #1753](https://github.com/faker-ruby/faker/pull/1753) Add YARD docs for Date, Time, and Number [@connorshea](https://github.com/connorshea)
24
+
25
+ ## Update locales
26
+
27
+ - [PR #1764](https://github.com/faker-ruby/faker/pull/1764) Remove "mint green" from color [@ro-savage](https://github.com/ro-savage)
28
+ - [PR #1751](https://github.com/faker-ruby/faker/pull/1751) fix from Color.name to Color.color_name [@4geru](https://github.com/4geru)
29
+
30
+ ## Update local dependencies
31
+
32
+ The following development dependencies were updated:
33
+ - Update minitest requirement from = 5.11.3 to = 5.12.0 (#1763)
34
+
35
+ ------------------------------------------------------------------------------
36
+
37
+ ## [v2.4.0](https://github.com/faker-ruby/faker/tree/v2.4.0) (2019-19-09)
38
+
39
+ ## Documentation
40
+
41
+ - [PR #1750](https://github.com/faker-ruby/faker/pull/1750) add only japanese word spec [@4geru](https://github.com/4geru)
42
+ - [PR #1740](https://github.com/faker-ruby/faker/pull/1740) Add more YARD docs [@connorshea](https://github.com/connorshea)
43
+ - [PR #1747](https://github.com/faker-ruby/faker/pull/1747) Fix PR links [@geniou](https://github.com/geniou)
44
+
45
+ ## Feature Request
46
+
47
+ - [PR #1742](https://github.com/faker-ruby/faker/pull/1742) Add Faker::Blockchain::Aeternity [@2pd](https://github.com/2pd)
48
+
49
+ ## Update locales
50
+
51
+ - [PR #1743](https://github.com/faker-ruby/faker/pull/1743) Fix another ambiguity in element_symbol field [@psibi](https://github.com/psibi)
52
+ - [PR #1748](https://github.com/faker-ruby/faker/pull/1748) fix typo from bread to breed [@4geru](https://github.com/4geru)
53
+ - [PR #1752](https://github.com/faker-ruby/faker/pull/1752) fix creature i18n path in japanese [@4geru](https://github.com/4geru)
54
+
55
+ ## Update local dependencies
56
+
57
+ The following development dependencies were updated:
58
+ - Update simplecov requirement from = 0.17.0 to = 0.17.1 (#1749)
59
+
60
+ ------------------------------------------------------------------------------
61
+
62
+ ## [v2.3.0](https://github.com/faker-ruby/faker/tree/v2.3.0) (2019-12-09)
63
+
64
+ ## Documentation
65
+
66
+ - [PR #1741](https://github.com/faker-ruby/faker/pull/1741) Fix the .gitignore for YARD. [@connorshea](https://github.com/connorshea)
67
+ - [PR #1553](https://github.com/faker-ruby/faker/pull/1553) Yard powered docs [@Zeragamba](https://github.com/Zeragamba) [@connorshea](https://github.com/connorshea)
68
+ - [PR #1727](https://github.com/faker-ruby/faker/pull/1727) Remove Football documentation from wrong category [@lucasqueiroz](https://github.com/lucasqueiroz)
69
+
70
+ ## Feature Request
71
+
72
+ - [PR #1738](https://github.com/faker-ruby/faker/pull/1738) Add mock data for Apple OAuth [@dzunk](https://github.com/dzunk)
73
+
74
+ ## Update locales
75
+
76
+ - [PR #1723](https://github.com/faker-ruby/faker/pull/1723) Add pokemon name in Johto area [@mathieujobin](https://github.com/mathieujobin)
77
+ - [PR #1732](https://github.com/faker-ruby/faker/pull/1732) Quebec province postal codes starts by [GHJ], adding missing two [@Ryutooooo](https://github.com/Ryutooooo)
78
+
79
+ ------------------------------------------------------------------------------
80
+
81
+ ## [v2.2.2](https://github.com/faker-ruby/faker/tree/v2.2.2) (2019-05-09)
4
82
 
5
83
  ## Bug/Fixes
6
- - [PR #1675](https://github.com/stympy/faker/pull/1675) Fix off-by-one error when formatting month names [@jutonz](https://github.com/jutonz)
84
+
85
+ - [PR #1717](https://github.com/faker-ruby/faker/pull/1717) Fix ambiguity in element_symbol field [@psibi](https://github.com/psibi)
86
+
87
+ ## Chores
88
+
89
+ - [PR #1724](https://github.com/faker-ruby/faker/pull/1724) Include rubocop-faker autocorrect in deprecation [@koic](https://github.com/koic)
90
+
91
+ ## Documentation
92
+
93
+ - [PR #1726](https://github.com/faker-ruby/faker/pull/1726) Include 2.x breaking return value change in changelog [@zorab47](https://github.com/zorab47)
94
+ - [PR #1722](https://github.com/faker-ruby/faker/pull/1722) Fix examples in the Dota docs [@bzf](https://github.com/bzf)
95
+
96
+ ## Update local dependencies
97
+
98
+ The following development dependencies were updated:
99
+ - rake requirement from = 12.3.1 to = 12.3.3 (#1719)
100
+ - rubocop requirement from = 0.59.1 to = 0.74.0 (#1721)
101
+ - simplecov requirement from = 0.16.1 to = 0.17.0 (#1718)
102
+
103
+ ------------------------------------------------------------------------------
104
+
105
+ ## [v2.2.1](https://github.com/faker-ruby/faker/tree/v2.2.1) (2019-30-08)
106
+
107
+ ## Bug/Fixes
108
+
109
+ - [PR #1712](https://github.com/faker-ruby/faker/pull/1712) Fix number(digits: 1) always returns 0 [@ianlet](https://github.com/ianlet)
110
+
111
+ `Faker::Number.number(digits: 1)` was always returning `0`.
112
+
113
+ Fixing number with one digit caused the test_insignificant_zero to fail. As it seemed that the behavior tested by test_insignificant_zero was already covered by test_number and test_decimal, we removed it to prevent duplication.
114
+
115
+ ## [v2.2.0](https://github.com/faker-ruby/faker/tree/v2.2.0) (2019-25-08)
116
+
117
+ ## Deprecate
118
+
119
+ - [PR #1698](https://github.com/faker-ruby/faker/pull/1698) Add warn for positional arguments when using Faker 2.0 [@koic](https://github.com/koic)
120
+
121
+ Add deprecation warning for positional arguments to notify users that are coming from Faker version < 2.0. Its main goal is to make upgrades easier.
122
+
123
+ ## Documentation
124
+
125
+ - [PR #1688](https://github.com/faker-ruby/faker/pull/1688) Update README install instructions [@EduardoGHdez](https://github.com/EduardoGHdez)
126
+ - [PR #1689](https://github.com/faker-ruby/faker/pull/1689) Update README.md [@Zeragamba](https://github.com/Zeragamba)
127
+ - [PR #1690](https://github.com/faker-ruby/faker/pull/1690) Update issue url in PULL_REQUEST_TEMPLATE [@bugtender](https://github.com/bugtender)
128
+ - [PR #1703](https://github.com/faker-ruby/faker/pull/1703) Return HTTPS URLs from Lorem Flickr [@connorshea](https://github.com/connorshea)
129
+
130
+ ## Feature Request
131
+ - [PR #1686](https://github.com/faker-ruby/faker/pull/1686) Update test-unit gem to 3.3.3 [@connorshea](https://github.com/connorshea)
132
+
133
+ ## Bug/Fixes
134
+ - [PR #1702](https://github.com/faker-ruby/faker/pull/1702) Fix an argument for test_faker_stripe.rb [@koic](https://github.com/koic)
135
+ - [PR #1694](https://github.com/faker-ruby/faker/pull/1694) Ensure mix_case returns at least one lower and one upper case letter [@bpleslie](https://github.com/bpleslie)
136
+
137
+ ------------------------------------------------------------------------------
138
+
139
+ ## [v2.1.2](https://github.com/faker-ruby/faker/tree/v2.1.2) (2019-10-08)
140
+
141
+ ## Enhancements
142
+
143
+ - [PR #1495](https://github.com/faker-ruby/faker/pull/1495) Add Brazilian documents generation and documentation [@lucasqueiroz](https://github.com/lucasqueiroz)
144
+
145
+ ## Issues
146
+
147
+ We had to use `bundled with 1.7.3` to avoid some issues.
148
+
149
+ ## [v2.1.1](https://github.com/faker-ruby/faker/tree/2.1.1) (2019-10-08)
150
+
151
+ ## Bug/Fixes
152
+
153
+ - [PR #1685](https://github.com/stympy/faker/pull/1685) Upgrade i18n [@EduardoGHdez](https://github.com/EduardoGHdez)
154
+
155
+ `bundler-audit` has identified that i18 has fix a security vulnerability, that has been fixed in the 0.8 version.
156
+
157
+ - [PR #1683](https://github.com/stympy/faker/pull/1683) Rollback Faker::Time changes [@vbrazo](https://github.com/vbrazo)
158
+
159
+ Rollback Faker::Time changes because we should expect the date format from activesupport's en.yml.
160
+
161
+ ## Documentation
162
+
163
+ - [PR #1677](https://github.com/faker-ruby/faker/pull/1677) Fix docs for Internet#password generator [@ur5us](https://github.com/ur5us)
164
+
165
+ ------------------------------------------------------------------------------
166
+
167
+ ## [v2.1.0](https://github.com/faker-ruby/faker/tree/v2.1.0) (2019-31-07)
168
+
169
+ ## Bug/Fixes
170
+ - [PR #1675](https://github.com/faker-ruby/faker/pull/1675) Fix off-by-one error when formatting month names [@jutonz](https://github.com/jutonz)
7
171
 
8
172
  This change required a quick release because it's a breaking issue. Every place where I18n.l() was used began to display the wrong date, causing test suite to fail.
9
173
 
10
174
  ------------------------------------------------------------------------------
11
175
 
12
- ## [v2.0](https://github.com/stympy/faker/tree/2.0) (2019-31-07)
176
+ ## [v2.0](https://github.com/faker-ruby/faker/tree/v2.0) (2019-31-07)
13
177
 
14
178
  ## Important Note:
15
179
 
@@ -140,6 +304,10 @@ Version 2 has several `breaking changes`. We replaced positional arguments with
140
304
  - `Faker::WorldCup.roster(country = nil, type = nil)` becomes `Faker::WorldCup.roster(country: nil, type: nil)`
141
305
  - `Faker::Movies::StarWars.quote(character = nil)` becomes `Faker::Movies::StarWars.quote(character: nil)`
142
306
 
307
+ Additionally the following methods changed return values:
308
+
309
+ - `Faker::Number.number` now returns `Numeric` instead of `String` (see [PR #510](https://github.com/faker-ruby/faker/pull/510))
310
+
143
311
  ### Bug/Fixes
144
312
 
145
313
  - [PR #1660](https://github.com/stympy/faker/pull/1660) Update FillMurray Links To Include www [@RaymondFallon](https://github.com/RaymondFallon)
data/README.md CHANGED
@@ -2,9 +2,9 @@
2
2
  ![logotype a happy-07](https://user-images.githubusercontent.com/36028424/40263395-4318481e-5b44-11e8-92e5-3dcc1ce169b3.png)
3
3
 
4
4
  # Faker
5
- [![Build Status](https://travis-ci.org/stympy/faker.svg?branch=master)](https://travis-ci.org/stympy/faker)
5
+ [![Build Status](https://travis-ci.org/faker-ruby/faker.svg?branch=master)](https://travis-ci.org/faker-ruby/faker)
6
6
  [![Gem Version](https://badge.fury.io/rb/faker.svg)](https://badge.fury.io/rb/faker)
7
- [![Inline docs](http://inch-ci.org/github/stympy/faker.svg?branch=master)](http://inch-ci.org/github/stympy/faker)
7
+ [![Inline docs](https://inch-ci.org/github/faker-ruby/faker.svg?branch=master)](https://inch-ci.org/github/faker-ruby/faker)
8
8
  [![Test Coverage](https://api.codeclimate.com/v1/badges/ef54c7f9df86e965d64b/test_coverage)](https://codeclimate.com/github/stympy/faker/test_coverage)
9
9
  [![Maintainability](https://api.codeclimate.com/v1/badges/ef54c7f9df86e965d64b/maintainability)](https://codeclimate.com/github/stympy/faker/maintainability)
10
10
 
@@ -55,7 +55,7 @@ gem install faker
55
55
  Note: if you are getting a `uninitialized constant Faker::[some_class]` error, your version of the gem is behind the one documented here. To make sure that your gem is the one documented here, change the line in your Gemfile to:
56
56
 
57
57
  ```ruby
58
- gem 'faker', :git => 'https://github.com/stympy/faker.git', :branch => 'master'
58
+ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'master'
59
59
  ```
60
60
 
61
61
  ## Usage
@@ -117,7 +117,7 @@ Faker::Company.bs #=> "cultivate viral synergies"
117
117
  **NOTE: Some of the generators below aren't released yet. If you want to use them, change the line in your gemfile to:**
118
118
 
119
119
  ```ruby
120
- gem 'faker', :git => 'https://github.com/stympy/faker.git', :branch => 'master'
120
+ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'master'
121
121
  ```
122
122
 
123
123
  ### Default
@@ -161,7 +161,6 @@ gem 'faker', :git => 'https://github.com/stympy/faker.git', :branch => 'master'
161
161
  - [Faker::Fillmurray](doc/default/fillmurray.md)
162
162
  - [Faker::Finance](doc/default/finance.md)
163
163
  - [Faker::Food](doc/default/food.md)
164
- - [Faker::Football](doc/default/football.md)
165
164
  - [Faker::FunnyName](doc/default/funny_name.md)
166
165
  - [Faker::Gender](doc/default/gender.md)
167
166
  - [Faker::GreekPhilosophers](doc/default/greek_philosophers.md)
@@ -212,6 +211,7 @@ gem 'faker', :git => 'https://github.com/stympy/faker.git', :branch => 'master'
212
211
  - [Faker::WorldCup](doc/default/world_cup.md)
213
212
 
214
213
  ### Blockchain
214
+ - [Faker::Blockchain::Aeternity](doc/blockchain/aeternity.md)
215
215
  - [Faker::Blockchain::Bitcoin](doc/blockchain/bitcoin.md)
216
216
  - [Faker::Blockchain::Ethereum](doc/blockchain/ethereum.md)
217
217
  - [Faker::Blockchain::Tezos](doc/blockchain/tezos.md)
@@ -40,9 +40,12 @@ module Faker
40
40
  class Base
41
41
  Numbers = Array(0..9)
42
42
  ULetters = Array('A'..'Z')
43
- Letters = ULetters + Array('a'..'z')
43
+ LLetters = Array('a'..'z')
44
+ Letters = ULetters + LLetters
44
45
 
45
46
  class << self
47
+ NOT_GIVEN = Object.new
48
+
46
49
  ## by default numerify results do not start with a zero
47
50
  def numerify(number_string, leading_zero: false)
48
51
  return number_string.gsub(/#/) { rand(10).to_s } if leading_zero
@@ -245,6 +248,58 @@ module Faker
245
248
  ensure
246
249
  I18n.enforce_available_locales = old_enforce_available_locales
247
250
  end
251
+
252
+ private
253
+
254
+ def warn_for_deprecated_arguments
255
+ keywords = []
256
+ yield(keywords)
257
+
258
+ return if keywords.empty?
259
+
260
+ method_name = caller.first.match(/`(?<method_name>.*)'/)[:method_name]
261
+
262
+ keywords.each.with_index(1) do |keyword, index|
263
+ i = case index
264
+ when 1 then '1st'
265
+ when 2 then '2nd'
266
+ when 3 then '3rd'
267
+ else "#{index}th"
268
+ end
269
+
270
+ warn_with_uplevel(<<~MSG, uplevel: 5)
271
+ Passing `#{keyword}` with the #{i} argument of `#{method_name}` is deprecated. Use keyword argument like `#{method_name}(#{keyword}: ...)` instead.
272
+ MSG
273
+ end
274
+
275
+ warn(<<~MSG)
276
+
277
+ To automatically update from positional arguments to keyword arguments,
278
+ install rubocop-faker and run:
279
+
280
+ rubocop \\
281
+ --require rubocop-faker \\
282
+ --only Faker/DeprecatedArguments \\
283
+ --auto-correct
284
+
285
+ MSG
286
+ end
287
+
288
+ # Workaround for emulating `warn '...', uplevel: 1` in Ruby 2.4 or lower.
289
+ def warn_with_uplevel(message, uplevel: 1)
290
+ at = parse_caller(caller[uplevel]).join(':')
291
+ warn "#{at}: #{message}"
292
+ end
293
+
294
+ def parse_caller(at)
295
+ # rubocop:disable Style/GuardClause
296
+ if /^(.+?):(\d+)(?::in `.*')?/ =~ at
297
+ file = Regexp.last_match(1)
298
+ line = Regexp.last_match(2).to_i
299
+ [file, line]
300
+ end
301
+ # rubocop:enable Style/GuardClause
302
+ end
248
303
  end
249
304
  end
250
305
  end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Blockchain
5
+ class Aeternity < Base
6
+ class << self
7
+ ##
8
+ # Produces a random Aeternity wallet address
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Blockchain::Aeternity.address
14
+ # #=> "ak_zvU8YQLagjcfng7Tg8yCdiZ1rpiWNp1PBn3vtUs44utSvbJVR"
15
+ #
16
+ def address
17
+ 'ak_' + rand_strings
18
+ end
19
+
20
+ ##
21
+ # Produces a random Aeternity transaction
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Blockchain::Aeternity.transaction
27
+ # #=> "th_147nDP22h3pHrLt2qykTH4txUwQh1ccaXp"
28
+ #
29
+ def transaction
30
+ 'th_' + rand_strings(51)
31
+ end
32
+
33
+ ##
34
+ # Produces a random Aeternity contract
35
+ #
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::Blockchain::Aeternity.contract
40
+ # #=> "ct_Hk2JsNeWGEYQEHHQCfcBeGrwbhtYSwFTPdDhW2SvjFYVojyhW"
41
+ #
42
+ def contract
43
+ 'ct_' + rand_strings
44
+ end
45
+
46
+ ##
47
+ # Produces a random Aeternity oracle
48
+ #
49
+ # @return [String]
50
+ #
51
+ # @example
52
+ # Faker::Blockchain::Aeternity.oracle
53
+ # #=> "ok_28QDg7fkF5qiKueSdUvUBtCYPJdmMEoS73CztzXCRAwMGKHKZh"
54
+ #
55
+ def oracle
56
+ 'ok_' + rand_strings(51)
57
+ end
58
+
59
+ protected
60
+
61
+ def rand_strings(length = 50)
62
+ hex_alphabet = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
63
+ var = +''
64
+ length.times { var << sample(shuffle(hex_alphabet.split(''))) }
65
+ var
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -7,21 +7,47 @@ module Faker
7
7
  class Blockchain
8
8
  class Bitcoin < Base
9
9
  class << self
10
+ # @private
10
11
  PROTOCOL_VERSIONS = {
11
12
  main: 0,
12
13
  testnet: 111
13
14
  }.freeze
14
15
 
16
+ ##
17
+ # Produces a Bitcoin wallet address
18
+ #
19
+ # @return [String]
20
+ #
21
+ # @example
22
+ # Faker::Blockchain::Bitcoin.address
23
+ # #=> "147nDP22h3pHrLt2qykTH4txUwQh1ccaXp"
24
+ #
25
+ # @faker.version 1.9.2
15
26
  def address
16
27
  address_for(:main)
17
28
  end
18
29
 
30
+ ##
31
+ # Produces a Bitcoin testnet address
32
+ #
33
+ # @return [String]
34
+ #
35
+ # @example
36
+ # Faker::Blockchain::Bitcoin.testnet_address
37
+ # #=> "n4YjRyYD6V6zREpk6opqESDqD3KYnMdVEB"
38
+ #
39
+ # @faker.version 1.9.2
19
40
  def testnet_address
20
41
  address_for(:testnet)
21
42
  end
22
43
 
23
44
  protected
24
45
 
46
+ ##
47
+ # Generates a random Bitcoin address for the given network
48
+ #
49
+ # @param network [Symbol] The name of network protocol to generate an address for
50
+ # @return [String] A Bitcoin address
25
51
  def address_for(network)
26
52
  version = PROTOCOL_VERSIONS.fetch(network)
27
53
  packed = version.chr + Faker::Config.random.bytes(20)
@@ -4,6 +4,16 @@ module Faker
4
4
  class Blockchain
5
5
  class Ethereum < Base
6
6
  class << self
7
+ ##
8
+ # Produces a random Ethereum wallet address
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Blockchain::Ethereum.address
14
+ # #=> "0xd392b0c0500700d02d27ab30805ec80ddd3320ff"
15
+ #
16
+ # @faker.version 1.9.1
7
17
  def address
8
18
  hex_alphabet = '0123456789abcdef'
9
19
  var = +'0x'