zold 0.31.8 → 0.31.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. checksums.yaml +4 -4
  2. data/.0pdd.yml +20 -0
  3. data/.github/workflows/actionlint.yml +41 -0
  4. data/.github/workflows/codecov.yml +23 -4
  5. data/.github/workflows/copyrights.yml +30 -0
  6. data/.github/workflows/pdd.yml +26 -3
  7. data/.github/workflows/rake.yml +24 -2
  8. data/.github/workflows/xcop.yml +21 -2
  9. data/.github/workflows/yamllint.yml +34 -0
  10. data/.gitignore +2 -1
  11. data/.rubocop.yml +21 -0
  12. data/.ruby-version +1 -1
  13. data/.rultor.yml +35 -5
  14. data/.simplecov +1 -1
  15. data/Dockerfile +29 -3
  16. data/Gemfile +10 -10
  17. data/Gemfile.lock +340 -0
  18. data/LICENSE.txt +1 -1
  19. data/Rakefile +9 -12
  20. data/bin/zold +1 -1
  21. data/cucumber.yml +20 -0
  22. data/deploy.sh +20 -0
  23. data/features/step_definitions/steps.rb +1 -1
  24. data/features/support/env.rb +1 -1
  25. data/fixtures/merge/asserts.rb +1 -1
  26. data/fixtures/merge/into_no_wallet/assert.rb +1 -1
  27. data/fixtures/merge/legacy_negatives_stay/assert.rb +1 -1
  28. data/fixtures/merge/missed_wallets/assert.rb +1 -1
  29. data/fixtures/merge/negative_overwriting/assert.rb +1 -1
  30. data/fixtures/merge/negatives_in_between/assert.rb +1 -1
  31. data/fixtures/merge/random_expenses/assert.rb +1 -1
  32. data/fixtures/merge/simple_case/assert.rb +1 -1
  33. data/fixtures/merge/unconfirmed_income/assert.rb +1 -1
  34. data/fixtures/scripts/_head.sh +21 -1
  35. data/fixtures/scripts/calculate-scores.sh +19 -0
  36. data/fixtures/scripts/distribute-wallet.sh +19 -0
  37. data/fixtures/scripts/print-helps.sh +19 -0
  38. data/fixtures/scripts/pull-on-start.sh +19 -0
  39. data/fixtures/scripts/push-and-pull.sh +19 -0
  40. data/fixtures/scripts/redeploy-on-upgrade.sh +19 -0
  41. data/fixtures/scripts/spread-wallets.sh +19 -0
  42. data/lib/zold/age.rb +2 -2
  43. data/lib/zold/amount.rb +2 -2
  44. data/lib/zold/cached_wallets.rb +3 -3
  45. data/lib/zold/commands/alias.rb +20 -0
  46. data/lib/zold/commands/args.rb +2 -2
  47. data/lib/zold/commands/calculate.rb +2 -2
  48. data/lib/zold/commands/clean.rb +2 -2
  49. data/lib/zold/commands/create.rb +2 -2
  50. data/lib/zold/commands/diff.rb +2 -2
  51. data/lib/zold/commands/fetch.rb +2 -2
  52. data/lib/zold/commands/invoice.rb +2 -2
  53. data/lib/zold/commands/list.rb +2 -2
  54. data/lib/zold/commands/merge.rb +2 -2
  55. data/lib/zold/commands/next.rb +2 -2
  56. data/lib/zold/commands/node.rb +2 -2
  57. data/lib/zold/commands/pay.rb +2 -2
  58. data/lib/zold/commands/propagate.rb +2 -2
  59. data/lib/zold/commands/pull.rb +2 -2
  60. data/lib/zold/commands/push.rb +2 -2
  61. data/lib/zold/commands/remote.rb +2 -2
  62. data/lib/zold/commands/remove.rb +2 -2
  63. data/lib/zold/commands/routines/audit.rb +2 -2
  64. data/lib/zold/commands/routines/gc.rb +2 -2
  65. data/lib/zold/commands/routines/reconcile.rb +2 -2
  66. data/lib/zold/commands/routines/reconnect.rb +2 -2
  67. data/lib/zold/commands/routines/retire.rb +2 -2
  68. data/lib/zold/commands/routines/spread.rb +2 -2
  69. data/lib/zold/commands/routines.rb +2 -2
  70. data/lib/zold/commands/show.rb +2 -2
  71. data/lib/zold/commands/taxes.rb +2 -2
  72. data/lib/zold/commands/thread_badge.rb +3 -3
  73. data/lib/zold/copies.rb +2 -2
  74. data/lib/zold/dir_items.rb +2 -2
  75. data/lib/zold/endless.rb +2 -2
  76. data/lib/zold/gem.rb +2 -2
  77. data/lib/zold/hands.rb +2 -2
  78. data/lib/zold/head.rb +3 -3
  79. data/lib/zold/hexnum.rb +2 -2
  80. data/lib/zold/http.rb +3 -3
  81. data/lib/zold/hungry_wallets.rb +2 -2
  82. data/lib/zold/id.rb +2 -2
  83. data/lib/zold/json_page.rb +2 -2
  84. data/lib/zold/key.rb +2 -2
  85. data/lib/zold/log.rb +2 -2
  86. data/lib/zold/metronome.rb +2 -2
  87. data/lib/zold/node/async_entrance.rb +2 -2
  88. data/lib/zold/node/entrance.rb +2 -2
  89. data/lib/zold/node/farm.rb +2 -2
  90. data/lib/zold/node/farmers.rb +2 -2
  91. data/lib/zold/node/front.rb +3 -3
  92. data/lib/zold/node/journaled_pipeline.rb +2 -2
  93. data/lib/zold/node/nodup_entrance.rb +2 -2
  94. data/lib/zold/node/nospam_entrance.rb +2 -2
  95. data/lib/zold/node/pipeline.rb +2 -2
  96. data/lib/zold/node/safe_entrance.rb +2 -2
  97. data/lib/zold/node/soft_error.rb +2 -2
  98. data/lib/zold/node/spread_entrance.rb +2 -2
  99. data/lib/zold/node/sync_entrance.rb +2 -2
  100. data/lib/zold/node/trace.rb +2 -2
  101. data/lib/zold/patch.rb +2 -2
  102. data/lib/zold/prefixes.rb +2 -2
  103. data/lib/zold/remotes.rb +2 -2
  104. data/lib/zold/signature.rb +2 -2
  105. data/lib/zold/size.rb +2 -2
  106. data/lib/zold/sync_wallets.rb +2 -2
  107. data/lib/zold/tax.rb +2 -2
  108. data/lib/zold/thread_pool.rb +2 -2
  109. data/lib/zold/tree_wallets.rb +2 -2
  110. data/lib/zold/txn.rb +2 -2
  111. data/lib/zold/txns.rb +3 -3
  112. data/lib/zold/upgrades.rb +1 -1
  113. data/lib/zold/verbose_thread.rb +2 -2
  114. data/lib/zold/version.rb +3 -3
  115. data/lib/zold/version_file.rb +1 -1
  116. data/lib/zold/wallet.rb +2 -2
  117. data/lib/zold/wallets.rb +2 -2
  118. data/lib/zold.rb +2 -2
  119. data/test/commands/routines/test_audit.rb +4 -4
  120. data/test/commands/routines/test_gc.rb +8 -8
  121. data/test/commands/routines/test_reconcile.rb +4 -4
  122. data/test/commands/routines/test_reconnect.rb +3 -3
  123. data/test/commands/routines/test_retire.rb +3 -3
  124. data/test/commands/test_alias.rb +26 -6
  125. data/test/commands/test_calculate.rb +3 -3
  126. data/test/commands/test_clean.rb +10 -10
  127. data/test/commands/test_create.rb +3 -3
  128. data/test/commands/test_diff.rb +5 -5
  129. data/test/commands/test_fetch.rb +9 -9
  130. data/test/commands/test_invoice.rb +3 -3
  131. data/test/commands/test_list.rb +3 -3
  132. data/test/commands/test_merge.rb +12 -12
  133. data/test/commands/test_node.rb +6 -6
  134. data/test/commands/test_pay.rb +19 -19
  135. data/test/commands/test_propagate.rb +5 -5
  136. data/test/commands/test_pull.rb +6 -6
  137. data/test/commands/test_push.rb +9 -9
  138. data/test/commands/test_remote.rb +11 -11
  139. data/test/commands/test_remove.rb +10 -10
  140. data/test/commands/test_show.rb +3 -3
  141. data/test/commands/test_taxes.rb +4 -4
  142. data/test/fake_home.rb +2 -2
  143. data/test/node/fake_entrance.rb +2 -2
  144. data/test/node/fake_node.rb +57 -40
  145. data/test/node/test_async_entrance.rb +10 -10
  146. data/test/node/test_entrance.rb +8 -8
  147. data/test/node/test_farm.rb +11 -11
  148. data/test/node/test_farmers.rb +5 -5
  149. data/test/node/test_front.rb +29 -28
  150. data/test/node/test_nodup_entrance.rb +4 -4
  151. data/test/node/test_nospam_entrance.rb +3 -3
  152. data/test/node/test_safe_entrance.rb +4 -4
  153. data/test/node/test_spread_entrance.rb +8 -8
  154. data/test/node/test_sync_entrance.rb +4 -4
  155. data/test/node/test_trace.rb +2 -2
  156. data/test/test__helper.rb +4 -4
  157. data/test/test_age.rb +2 -2
  158. data/test/test_amount.rb +2 -2
  159. data/test/test_cached_wallets.rb +2 -2
  160. data/test/test_copies.rb +12 -12
  161. data/test/test_dir_items.rb +4 -4
  162. data/test/test_gem.rb +20 -0
  163. data/test/test_hands.rb +2 -2
  164. data/test/test_hexnum.rb +2 -2
  165. data/test/test_http.rb +8 -8
  166. data/test/test_hungry_wallets.rb +11 -11
  167. data/test/test_id.rb +2 -2
  168. data/test/test_json_page.rb +2 -2
  169. data/test/test_key.rb +2 -2
  170. data/test/test_log.rb +5 -5
  171. data/test/test_metronome.rb +6 -6
  172. data/test/test_patch.rb +14 -14
  173. data/test/test_prefixes.rb +3 -3
  174. data/test/test_remotes.rb +9 -9
  175. data/test/test_signature.rb +2 -2
  176. data/test/test_size.rb +2 -2
  177. data/test/test_sync_wallets.rb +3 -3
  178. data/test/test_tax.rb +9 -9
  179. data/test/test_thread_pool.rb +8 -8
  180. data/test/test_tree_wallets.rb +2 -2
  181. data/test/test_txn.rb +2 -2
  182. data/test/test_upgrades.rb +2 -2
  183. data/test/test_verbose_thread.rb +2 -2
  184. data/test/test_version.rb +20 -0
  185. data/test/test_wallet.rb +22 -22
  186. data/test/test_wallets.rb +5 -5
  187. data/test/test_zold.rb +5 -5
  188. data/test/upgrades/test_delete_banned_wallets.rb +4 -4
  189. data/test/upgrades/test_protocol_up.rb +4 -4
  190. data/upgrades/2.rb +1 -1
  191. data/upgrades/delete_banned_wallets.rb +1 -1
  192. data/upgrades/move_wallets_into_tree.rb +1 -1
  193. data/upgrades/protocol_up.rb +1 -1
  194. data/upgrades/rename_foreign_wallets.rb +1 -1
  195. data/zold.gemspec +23 -23
  196. metadata +7 -3
data/Gemfile.lock ADDED
@@ -0,0 +1,340 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ zold (0.31.9)
5
+ backtrace (~> 0.3)
6
+ concurrent-ruby (~> 1.1)
7
+ diffy (~> 3.3)
8
+ futex (~> 0.8)
9
+ get_process_mem (~> 0.2)
10
+ haml (~> 5.0)
11
+ json (~> 2.2)
12
+ memory_profiler (~> 1.0)
13
+ mimic (~> 0.4)
14
+ openssl (>= 1.0)
15
+ rainbow (~> 3.0)
16
+ semantic (~> 1.6)
17
+ sinatra (~> 3.0)
18
+ slop (~> 4.6)
19
+ sys-proctable (~> 1.2)
20
+ thin (~> 1.7)
21
+ threads (~> 0.3)
22
+ total (~> 0.3)
23
+ typhoeus (~> 1.3)
24
+ usagewatch_ext (~> 0.2)
25
+ zache (~> 0.12)
26
+ zold-score (~> 0.5)
27
+
28
+ GEM
29
+ remote: https://rubygems.org/
30
+ specs:
31
+ actionpack (7.1.3.4)
32
+ actionview (= 7.1.3.4)
33
+ activesupport (= 7.1.3.4)
34
+ nokogiri (>= 1.8.5)
35
+ racc
36
+ rack (>= 2.2.4)
37
+ rack-session (>= 1.0.1)
38
+ rack-test (>= 0.6.3)
39
+ rails-dom-testing (~> 2.2)
40
+ rails-html-sanitizer (~> 1.6)
41
+ actionview (7.1.3.4)
42
+ activesupport (= 7.1.3.4)
43
+ builder (~> 3.1)
44
+ erubi (~> 1.11)
45
+ rails-dom-testing (~> 2.2)
46
+ rails-html-sanitizer (~> 1.6)
47
+ activesupport (7.1.3.4)
48
+ base64
49
+ bigdecimal
50
+ concurrent-ruby (~> 1.0, >= 1.0.2)
51
+ connection_pool (>= 2.2.5)
52
+ drb
53
+ i18n (>= 1.6, < 2)
54
+ minitest (>= 5.1)
55
+ mutex_m
56
+ tzinfo (~> 2.0)
57
+ addressable (2.8.7)
58
+ public_suffix (>= 2.0.2, < 7.0)
59
+ ansi (1.5.0)
60
+ ast (2.4.2)
61
+ backtrace (0.4.0)
62
+ base64 (0.2.0)
63
+ bigdecimal (3.1.8)
64
+ builder (3.3.0)
65
+ coderay (1.1.3)
66
+ concurrent-ruby (1.3.3)
67
+ connection_pool (2.4.1)
68
+ crack (1.0.0)
69
+ bigdecimal
70
+ rexml
71
+ crass (1.0.6)
72
+ cucumber (9.2.0)
73
+ builder (~> 3.2)
74
+ cucumber-ci-environment (> 9, < 11)
75
+ cucumber-core (> 13, < 14)
76
+ cucumber-cucumber-expressions (~> 17.0)
77
+ cucumber-gherkin (> 24, < 28)
78
+ cucumber-html-formatter (> 20.3, < 22)
79
+ cucumber-messages (> 19, < 25)
80
+ diff-lcs (~> 1.5)
81
+ mini_mime (~> 1.1)
82
+ multi_test (~> 1.1)
83
+ sys-uname (~> 1.2)
84
+ cucumber-ci-environment (10.0.1)
85
+ cucumber-core (13.0.2)
86
+ cucumber-gherkin (>= 27, < 28)
87
+ cucumber-messages (>= 20, < 23)
88
+ cucumber-tag-expressions (> 5, < 7)
89
+ cucumber-cucumber-expressions (17.1.0)
90
+ bigdecimal
91
+ cucumber-gherkin (27.0.0)
92
+ cucumber-messages (>= 19.1.4, < 23)
93
+ cucumber-html-formatter (21.4.0)
94
+ cucumber-messages (> 19, < 25)
95
+ cucumber-messages (22.0.0)
96
+ cucumber-tag-expressions (6.1.0)
97
+ daemons (1.4.1)
98
+ diff-lcs (1.5.1)
99
+ differ (0.1.2)
100
+ diffy (3.4.2)
101
+ docile (1.4.0)
102
+ drb (2.2.1)
103
+ erubi (1.13.0)
104
+ ethon (0.16.0)
105
+ ffi (>= 1.15.0)
106
+ eventmachine (1.2.7)
107
+ ffi (1.17.0-arm64-darwin)
108
+ ffi (1.17.0-x86_64-linux-gnu)
109
+ formatador (1.1.0)
110
+ futex (0.8.6)
111
+ get_process_mem (0.2.7)
112
+ ffi (~> 1.0)
113
+ guard (2.18.1)
114
+ formatador (>= 0.2.4)
115
+ listen (>= 2.7, < 4.0)
116
+ lumberjack (>= 1.0.12, < 2.0)
117
+ nenv (~> 0.1)
118
+ notiffany (~> 0.0)
119
+ pry (>= 0.13.0)
120
+ shellany (~> 0.0)
121
+ thor (>= 0.18.1)
122
+ guard-compat (1.2.1)
123
+ guard-minitest (2.4.6)
124
+ guard-compat (~> 1.2)
125
+ minitest (>= 3.0)
126
+ haml (5.2.2)
127
+ temple (>= 0.8.0)
128
+ tilt
129
+ hashdiff (1.1.0)
130
+ i18n (1.14.5)
131
+ concurrent-ruby (~> 1.0)
132
+ io-console (0.7.2)
133
+ irb (1.14.0)
134
+ rdoc (>= 4.0.0)
135
+ reline (>= 0.4.2)
136
+ json (2.7.2)
137
+ language_server-protocol (3.17.0.3)
138
+ listen (3.9.0)
139
+ rb-fsevent (~> 0.10, >= 0.10.3)
140
+ rb-inotify (~> 0.9, >= 0.9.10)
141
+ loofah (2.22.0)
142
+ crass (~> 1.0.2)
143
+ nokogiri (>= 1.12.0)
144
+ lumberjack (1.2.10)
145
+ memory_profiler (1.0.2)
146
+ method_source (1.1.0)
147
+ mimic (0.4.4)
148
+ json
149
+ plist (~> 3.1.0)
150
+ rack
151
+ sinatra
152
+ thin
153
+ mini_mime (1.1.5)
154
+ minitest (5.24.1)
155
+ minitest-fail-fast (0.1.0)
156
+ minitest (~> 5)
157
+ minitest-hooks (1.5.1)
158
+ minitest (> 5.3)
159
+ minitest-reporters (1.7.1)
160
+ ansi
161
+ builder
162
+ minitest (>= 5.0)
163
+ ruby-progressbar
164
+ multi_test (1.1.0)
165
+ mustermann (3.0.0)
166
+ ruby2_keywords (~> 0.0.1)
167
+ mutex_m (0.2.0)
168
+ nenv (0.3.0)
169
+ nokogiri (1.16.6-arm64-darwin)
170
+ racc (~> 1.4)
171
+ nokogiri (1.16.6-x86_64-linux)
172
+ racc (~> 1.4)
173
+ notiffany (0.1.3)
174
+ nenv (~> 0.1)
175
+ shellany (~> 0.0)
176
+ openssl (3.2.0)
177
+ parallel (1.25.1)
178
+ parser (3.3.4.0)
179
+ ast (~> 2.4.1)
180
+ racc
181
+ plist (3.1.0)
182
+ pry (0.14.2)
183
+ coderay (~> 1.1)
184
+ method_source (~> 1.0)
185
+ psych (5.1.2)
186
+ stringio
187
+ public_suffix (6.0.0)
188
+ racc (1.8.0)
189
+ rack (2.2.9)
190
+ rack-protection (3.2.0)
191
+ base64 (>= 0.1.0)
192
+ rack (~> 2.2, >= 2.2.4)
193
+ rack-session (1.0.2)
194
+ rack (< 3)
195
+ rack-test (2.1.0)
196
+ rack (>= 1.3)
197
+ rackup (1.0.0)
198
+ rack (< 3)
199
+ webrick
200
+ rails-dom-testing (2.2.0)
201
+ activesupport (>= 5.0.0)
202
+ minitest
203
+ nokogiri (>= 1.6)
204
+ rails-html-sanitizer (1.6.0)
205
+ loofah (~> 2.21)
206
+ nokogiri (~> 1.14)
207
+ railties (7.1.3.4)
208
+ actionpack (= 7.1.3.4)
209
+ activesupport (= 7.1.3.4)
210
+ irb
211
+ rackup (>= 1.0.0)
212
+ rake (>= 12.2)
213
+ thor (~> 1.0, >= 1.2.2)
214
+ zeitwerk (~> 2.6)
215
+ rainbow (3.1.1)
216
+ rake (13.2.1)
217
+ random-port (0.7.1)
218
+ rb-fsevent (0.11.2)
219
+ rb-inotify (0.11.1)
220
+ ffi (~> 1.0)
221
+ rdoc (6.7.0)
222
+ psych (>= 4.0.0)
223
+ regexp_parser (2.9.2)
224
+ reline (0.5.9)
225
+ io-console (~> 0.5)
226
+ rexml (3.3.2)
227
+ strscan
228
+ rspec-core (3.13.0)
229
+ rspec-support (~> 3.13.0)
230
+ rspec-expectations (3.13.1)
231
+ diff-lcs (>= 1.2.0, < 2.0)
232
+ rspec-support (~> 3.13.0)
233
+ rspec-mocks (3.13.1)
234
+ diff-lcs (>= 1.2.0, < 2.0)
235
+ rspec-support (~> 3.13.0)
236
+ rspec-rails (6.1.0)
237
+ actionpack (>= 6.1)
238
+ activesupport (>= 6.1)
239
+ railties (>= 6.1)
240
+ rspec-core (~> 3.12)
241
+ rspec-expectations (~> 3.12)
242
+ rspec-mocks (~> 3.12)
243
+ rspec-support (~> 3.12)
244
+ rspec-support (3.13.1)
245
+ rubocop (1.65.0)
246
+ json (~> 2.3)
247
+ language_server-protocol (>= 3.17.0)
248
+ parallel (~> 1.10)
249
+ parser (>= 3.3.0.2)
250
+ rainbow (>= 2.2.2, < 4.0)
251
+ regexp_parser (>= 2.4, < 3.0)
252
+ rexml (>= 3.2.5, < 4.0)
253
+ rubocop-ast (>= 1.31.1, < 2.0)
254
+ ruby-progressbar (~> 1.7)
255
+ unicode-display_width (>= 2.4.0, < 3.0)
256
+ rubocop-ast (1.31.3)
257
+ parser (>= 3.3.1.0)
258
+ rubocop-rspec (3.0.3)
259
+ rubocop (~> 1.61)
260
+ ruby-progressbar (1.13.0)
261
+ ruby2_keywords (0.0.5)
262
+ semantic (1.6.1)
263
+ shellany (0.0.1)
264
+ simplecov (0.22.0)
265
+ docile (~> 1.1)
266
+ simplecov-html (~> 0.11)
267
+ simplecov_json_formatter (~> 0.1)
268
+ simplecov-html (0.12.3)
269
+ simplecov_json_formatter (0.1.4)
270
+ sinatra (3.2.0)
271
+ mustermann (~> 3.0)
272
+ rack (~> 2.2, >= 2.2.4)
273
+ rack-protection (= 3.2.0)
274
+ tilt (~> 2.0)
275
+ slop (4.10.1)
276
+ stringio (3.1.1)
277
+ strscan (3.1.0)
278
+ sys-proctable (1.3.0)
279
+ ffi (~> 1.1)
280
+ sys-uname (1.3.0)
281
+ ffi (~> 1.1)
282
+ temple (0.10.3)
283
+ thin (1.8.2)
284
+ daemons (~> 1.0, >= 1.0.9)
285
+ eventmachine (~> 1.0, >= 1.0.4)
286
+ rack (>= 1, < 3)
287
+ thor (1.3.1)
288
+ threads (0.4.0)
289
+ backtrace (~> 0)
290
+ concurrent-ruby (~> 1.0)
291
+ tilt (2.4.0)
292
+ total (0.4.1)
293
+ typhoeus (1.4.1)
294
+ ethon (>= 0.9.0)
295
+ tzinfo (2.0.6)
296
+ concurrent-ruby (~> 1.0)
297
+ unicode-display_width (2.5.0)
298
+ usagewatch (0.0.7)
299
+ usagewatch_ext (0.2.1)
300
+ usagewatch (~> 0.0.6)
301
+ webmock (3.23.1)
302
+ addressable (>= 2.8.0)
303
+ crack (>= 0.3.2)
304
+ hashdiff (>= 0.4.0, < 2.0.0)
305
+ webrick (1.8.1)
306
+ xcop (0.7.1)
307
+ differ (~> 0.1.2)
308
+ nokogiri (~> 1.10)
309
+ rainbow (~> 3.0)
310
+ slop (~> 4.4)
311
+ yard (0.9.36)
312
+ zache (0.13.1)
313
+ zeitwerk (2.6.16)
314
+ zold-score (0.5.0)
315
+
316
+ PLATFORMS
317
+ arm64-darwin-22
318
+ x86_64-linux
319
+
320
+ DEPENDENCIES
321
+ cucumber (= 9.2.0)
322
+ guard (= 2.18.1)
323
+ guard-minitest (= 2.4.6)
324
+ minitest (= 5.24.1)
325
+ minitest-fail-fast (= 0.1.0)
326
+ minitest-hooks (= 1.5.1)
327
+ minitest-reporters (= 1.7.1)
328
+ rake (= 13.2.1)
329
+ random-port (~> 0)
330
+ rspec-rails (= 6.1.0)
331
+ rubocop (= 1.65.0)
332
+ rubocop-rspec (= 3.0.3)
333
+ simplecov (= 0.22.0)
334
+ webmock (= 3.23.1)
335
+ xcop (>= 0.6)
336
+ yard (= 0.9.36)
337
+ zold!
338
+
339
+ BUNDLED WITH
340
+ 2.4.10
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  (The MIT License)
2
2
 
3
- Copyright (c) 2018 Yegor Bugayenko
3
+ Copyright (c) 2018-2024 Zerocracy
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the 'Software'), to deal
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2018-2023 Zerocracy
3
+ # Copyright (c) 2018-2024 Zerocracy
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -34,7 +34,7 @@ def version
34
34
  Gem::Specification.load(Dir['*.gemspec'].first).version
35
35
  end
36
36
 
37
- task default: %i[clean test features rubocop xcop copyright]
37
+ task default: %i[clean test features rubocop yard xcop copyright]
38
38
 
39
39
  require 'rake/testtask'
40
40
  desc 'Run all unit tests'
@@ -47,15 +47,6 @@ Rake::TestTask.new(:test) do |test|
47
47
  test.warning = false
48
48
  end
49
49
 
50
- require 'rdoc/task'
51
- desc 'Build RDoc documentation'
52
- Rake::RDocTask.new do |rdoc|
53
- rdoc.rdoc_dir = 'rdoc'
54
- rdoc.title = "#{name} #{version}"
55
- rdoc.rdoc_files.include('README*')
56
- rdoc.rdoc_files.include('lib/**/*.rb')
57
- end
58
-
59
50
  require 'rubocop/rake_task'
60
51
  desc 'Run RuboCop on all directories'
61
52
  RuboCop::RakeTask.new(:rubocop) do |task|
@@ -63,6 +54,12 @@ RuboCop::RakeTask.new(:rubocop) do |task|
63
54
  task.requires << 'rubocop-rspec'
64
55
  end
65
56
 
57
+ require 'yard'
58
+ desc 'Build Yard documentation'
59
+ YARD::Rake::YardocTask.new do |t|
60
+ t.files = ['lib/**/*.rb']
61
+ end
62
+
66
63
  require 'cucumber/rake/task'
67
64
  Cucumber::Rake::Task.new(:features) do |t|
68
65
  t.cucumber_opts = 'features --format pretty'
@@ -77,7 +74,7 @@ desc 'Validate all XML/XSL/XSD/HTML files for formatting'
77
74
  Xcop::RakeTask.new :xcop do |task|
78
75
  task.license = 'LICENSE.txt'
79
76
  task.includes = ['**/*.xml', '**/*.xsl', '**/*.xsd', '**/*.html']
80
- task.excludes = ['target/**/*', 'coverage/**/*', 'wp/**/*']
77
+ task.excludes = ['target/**/*', 'coverage/**/*', 'wp/**/*', '.yardoc/**/*', 'doc/**/*']
81
78
  end
82
79
 
83
80
  task :copyright do
data/bin/zold CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  # encoding: utf-8
3
3
  #
4
- # Copyright (c) 2018-2023 Zerocracy
4
+ # Copyright (c) 2018-2024 Zerocracy
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
data/cucumber.yml CHANGED
@@ -1,3 +1,23 @@
1
+ # Copyright (c) 2018-2024 Zerocracy
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the 'Software'), to deal
5
+ # in the Software without restriction, including without limitation the rights
6
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ # copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in all
11
+ # copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ # SOFTWARE.
20
+ ---
1
21
  default: --format pretty
2
22
  travis: --format progress
3
23
  html_report: --format progress --format html --out=features_report.html
data/deploy.sh CHANGED
@@ -1,4 +1,24 @@
1
1
  #!/bin/bash
2
+ # Copyright (c) 2018-2024 Zerocracy
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ # of this software and associated documentation files (the 'Software'), to deal
6
+ # in the Software without restriction, including without limitation the rights
7
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ # copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
17
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ # SOFTWARE.
21
+
2
22
  set -e
3
23
  set -x
4
24
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2018-2023 Zerocracy
3
+ # Copyright (c) 2018-2024 Zerocracy
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2018-2023 Zerocracy
3
+ # Copyright (c) 2018-2024 Zerocracy
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2018-2023 Zerocracy
3
+ # Copyright (c) 2018-2024 Zerocracy
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2018-2023 Zerocracy
3
+ # Copyright (c) 2018-2024 Zerocracy
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2018-2023 Zerocracy
3
+ # Copyright (c) 2018-2024 Zerocracy
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2018-2023 Zerocracy
3
+ # Copyright (c) 2018-2024 Zerocracy
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2018-2023 Zerocracy
3
+ # Copyright (c) 2018-2024 Zerocracy
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2018-2023 Zerocracy
3
+ # Copyright (c) 2018-2024 Zerocracy
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2018-2023 Zerocracy
3
+ # Copyright (c) 2018-2024 Zerocracy
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2018-2023 Zerocracy
3
+ # Copyright (c) 2018-2024 Zerocracy
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2018-2023 Zerocracy
3
+ # Copyright (c) 2018-2024 Zerocracy
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,4 +1,24 @@
1
1
  #!/bin/bash
2
+ # Copyright (c) 2018-2024 Zerocracy
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ # of this software and associated documentation files (the 'Software'), to deal
6
+ # in the Software without restriction, including without limitation the rights
7
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ # copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
17
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ # SOFTWARE.
21
+
2
22
  set -e
3
23
  set -x
4
24
  shopt -s expand_aliases
@@ -8,7 +28,7 @@ export RUBYOPT="-W0"
8
28
  alias zold="$1 --ignore-this-stupid-option --halt-code=test --ignore-global-config --trace --network=test --no-colors --dump-errors"
9
29
 
10
30
  function reserve_port {
11
- python -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()'
31
+ python -c 'import socket; s=socket.socket(); s.bind(("127.0.0.1", 0)); print(s.getsockname()[1]); s.close()'
12
32
  }
13
33
 
14
34
  function wait_for_url {
@@ -1,3 +1,22 @@
1
1
  #!/bin/bash
2
+ # Copyright (c) 2018-2024 Zerocracy
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ # of this software and associated documentation files (the 'Software'), to deal
6
+ # in the Software without restriction, including without limitation the rights
7
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ # copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
17
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ # SOFTWARE.
2
21
 
3
22
  zold score --host=zold.io --port=4096 --invoice=CALCSCORE@ffffffffffffffff --strength=2 --max=5
@@ -1,4 +1,23 @@
1
1
  #!/bin/bash
2
+ # Copyright (c) 2018-2024 Zerocracy
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ # of this software and associated documentation files (the 'Software'), to deal
6
+ # in the Software without restriction, including without limitation the rights
7
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ # copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
17
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ # SOFTWARE.
2
21
 
3
22
  function start_node {
4
23
  port=$(reserve_port)
@@ -1,4 +1,23 @@
1
1
  #!/bin/bash
2
+ # Copyright (c) 2018-2024 Zerocracy
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ # of this software and associated documentation files (the 'Software'), to deal
6
+ # in the Software without restriction, including without limitation the rights
7
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ # copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
17
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ # SOFTWARE.
2
21
 
3
22
  zold --help
4
23
  declare -a commands=(node create invoice remote pay show fetch clean diff merge propagate pull push taxes)