zold 0.15.0 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/bin/zold +9 -6
  4. data/features/gem_package.feature +1 -1
  5. data/features/step_definitions/steps.rb +2 -2
  6. data/fixtures/merge/into-no-wallet/assert.rb +1 -1
  7. data/fixtures/merge/random-expenses/assert.rb +1 -1
  8. data/fixtures/merge/simple-case/assert.rb +1 -1
  9. data/lib/zold/age.rb +16 -8
  10. data/lib/zold/amount.rb +4 -2
  11. data/lib/zold/cached_wallets.rb +5 -6
  12. data/lib/zold/commands/clean.rb +15 -8
  13. data/lib/zold/commands/diff.rb +3 -3
  14. data/lib/zold/commands/fetch.rb +4 -4
  15. data/lib/zold/commands/list.rb +5 -4
  16. data/lib/zold/commands/merge.rb +2 -1
  17. data/lib/zold/commands/node.rb +14 -12
  18. data/lib/zold/commands/propagate.rb +2 -2
  19. data/lib/zold/commands/push.rb +3 -3
  20. data/lib/zold/commands/remove.rb +4 -1
  21. data/lib/zold/commands/routines/reconnect.rb +1 -0
  22. data/lib/zold/copies.rb +13 -14
  23. data/lib/zold/dir_items.rb +44 -0
  24. data/lib/zold/head.rb +1 -1
  25. data/lib/zold/key.rb +2 -2
  26. data/lib/zold/log.rb +2 -0
  27. data/lib/zold/node/async_entrance.rb +38 -28
  28. data/lib/zold/node/entrance.rb +4 -11
  29. data/lib/zold/node/farm.rb +9 -9
  30. data/lib/zold/node/front.rb +40 -25
  31. data/lib/zold/node/nodup_entrance.rb +4 -4
  32. data/lib/zold/node/safe_entrance.rb +2 -2
  33. data/lib/zold/node/spread_entrance.rb +5 -9
  34. data/lib/zold/node/sync_entrance.rb +2 -23
  35. data/lib/zold/patch.rb +2 -2
  36. data/lib/zold/remotes.rb +10 -6
  37. data/lib/zold/sync_wallets.rb +3 -22
  38. data/lib/zold/tree_wallets.rb +11 -6
  39. data/lib/zold/txns.rb +1 -1
  40. data/lib/zold/version.rb +1 -1
  41. data/lib/zold/wallet.rb +14 -5
  42. data/lib/zold/wallets.rb +5 -4
  43. data/test/commands/routines/test_spread.rb +1 -1
  44. data/test/commands/test_alias.rb +4 -4
  45. data/test/commands/test_clean.rb +14 -1
  46. data/test/commands/test_create.rb +2 -2
  47. data/test/commands/test_diff.rb +5 -5
  48. data/test/commands/test_fetch.rb +2 -2
  49. data/test/commands/test_merge.rb +19 -19
  50. data/test/commands/test_node.rb +1 -1
  51. data/test/commands/test_pay.rb +7 -6
  52. data/test/commands/test_propagate.rb +2 -1
  53. data/test/commands/test_pull.rb +1 -1
  54. data/test/commands/test_push.rb +1 -1
  55. data/test/commands/test_remove.rb +57 -0
  56. data/test/commands/test_taxes.rb +1 -1
  57. data/test/fake_home.rb +11 -8
  58. data/test/node/fake_node.rb +2 -2
  59. data/test/node/test_async_entrance.rb +24 -8
  60. data/test/node/test_emission.rb +2 -2
  61. data/test/node/test_entrance.rb +8 -6
  62. data/test/node/test_farm.rb +1 -1
  63. data/test/node/test_front.rb +42 -33
  64. data/test/node/test_nodup_entrance.rb +2 -2
  65. data/test/node/test_safe_entrance.rb +5 -5
  66. data/test/node/test_spread_entrance.rb +3 -3
  67. data/test/node/test_sync_entrance.rb +1 -1
  68. data/test/test__helper.rb +3 -29
  69. data/test/test_cached_wallets.rb +1 -1
  70. data/test/test_copies.rb +4 -2
  71. data/test/test_dir_items.rb +88 -0
  72. data/test/test_key.rb +2 -2
  73. data/test/test_log.rb +38 -0
  74. data/test/test_patch.rb +11 -11
  75. data/test/test_prefixes.rb +1 -1
  76. data/test/test_remotes.rb +12 -6
  77. data/test/test_sync_wallets.rb +6 -6
  78. data/test/test_tax.rb +4 -4
  79. data/test/test_tree_wallets.rb +16 -2
  80. data/test/test_wallet.rb +26 -26
  81. data/test/test_wallets.rb +5 -2
  82. data/test/test_zold.rb +2 -2
  83. data/test/upgrades/test_protocol_up.rb +1 -1
  84. data/upgrades/move_wallets_into_tree.rb +1 -1
  85. data/upgrades/protocol_up.rb +3 -3
  86. data/upgrades/rename_foreign_wallets.rb +1 -1
  87. data/zold.gemspec +27 -25
  88. metadata +91 -56
data/test/test_wallets.rb CHANGED
@@ -22,6 +22,7 @@
22
22
 
23
23
  require 'minitest/autorun'
24
24
  require 'tmpdir'
25
+ require_relative 'test__helper'
25
26
  require_relative 'fake_home'
26
27
  require_relative '../lib/zold/key'
27
28
  require_relative '../lib/zold/id'
@@ -34,7 +35,7 @@ require_relative '../lib/zold/amount'
34
35
  # License:: MIT
35
36
  class TestWallets < Minitest::Test
36
37
  def test_adds_wallet
37
- FakeHome.new.run do |home|
38
+ FakeHome.new(log: test_log).run do |home|
38
39
  wallets = home.wallets
39
40
  id = Zold::Id.new
40
41
  wallets.find(id) do |wallet|
@@ -45,9 +46,11 @@ class TestWallets < Minitest::Test
45
46
  end
46
47
 
47
48
  def test_lists_wallets_and_ignores_garbage
48
- FakeHome.new.run do |home|
49
+ FakeHome.new(log: test_log).run do |home|
49
50
  wallets = home.wallets
50
51
  FileUtils.touch(File.join(home.dir, '0xaaaaaaaaaaaaaaaaaaahello'))
52
+ FileUtils.mkdir_p(File.join(home.dir, 'a/b/c'))
53
+ FileUtils.touch(File.join(home.dir, 'a/b/c/0000111122223333.z'))
51
54
  id = Zold::Id.new
52
55
  wallets.find(id) do |wallet|
53
56
  wallet.init(id, Zold::Key.new(file: 'fixtures/id_rsa.pub'))
data/test/test_zold.rb CHANGED
@@ -34,12 +34,12 @@ require_relative '../lib/zold/version'
34
34
  class TestZold < Minitest::Test
35
35
  def test_all_scripts
36
36
  Dir.new('fixtures/scripts').select { |f| f =~ /\.sh$/ && !f.start_with?('_') }.each do |f|
37
- # next unless f == 'deadlocks.sh'
37
+ # next unless f == 'push-and-pull.sh'
38
38
  Dir.mktmpdir do |dir|
39
39
  FileUtils.cp('fixtures/id_rsa.pub', dir)
40
40
  FileUtils.cp('fixtures/id_rsa', dir)
41
41
  script = File.join(dir, f)
42
- File.write(script, File.read('fixtures/scripts/_head.sh') + File.read(File.join('fixtures/scripts', f)))
42
+ IO.write(script, IO.read('fixtures/scripts/_head.sh') + IO.read(File.join('fixtures/scripts', f)))
43
43
  bin = File.join(Dir.pwd, 'bin/zold')
44
44
  out = []
45
45
  Dir.chdir(dir) do
@@ -31,7 +31,7 @@ require_relative '../fake_home'
31
31
  # License:: MIT
32
32
  class TestProtocolUp < Minitest::Test
33
33
  def test_upgrades_protocol_in_wallet
34
- FakeHome.new.run do |home|
34
+ FakeHome.new(log: test_log).run do |home|
35
35
  id = home.create_wallet.id
36
36
  Zold::ProtocolUp.new(home.dir, test_log).exec
37
37
  home.wallets.find(id) do |wallet|
@@ -34,7 +34,7 @@ module Zold
34
34
 
35
35
  def exec
36
36
  Dir.new(@home).each do |path|
37
- next unless path =~ /^[a-f0-9]{16}#{Wallet::EXTENSION}$/
37
+ next unless path =~ /^[a-f0-9]{16}#{Wallet::EXT}$/
38
38
  f = File.join(@home, path)
39
39
  target = File.join(@home, (path.split('', 5).take(4) + [path]).join('/'))
40
40
  FileUtils.mkdir_p(File.dirname(target))
@@ -33,12 +33,12 @@ module Zold
33
33
 
34
34
  def exec
35
35
  Dir.new(@home).each do |path|
36
- next unless path =~ /^[a-f0-9]{16}#{Wallet::EXTENSION}$/
36
+ next unless path =~ /^[a-f0-9]{16}#{Wallet::EXT}$/
37
37
  f = File.join(@home, path)
38
- lines = File.read(f).split("\n")
38
+ lines = IO.read(f).split("\n")
39
39
  next if lines[1].to_i == Zold::PROTOCOL
40
40
  lines[1] = Zold::PROTOCOL
41
- File.write(f, lines.join("\n"))
41
+ IO.write(f, lines.join("\n"))
42
42
  @log.info("Protocol set to #{Zold::PROTOCOL} in #{f}")
43
43
  end
44
44
  end
@@ -34,7 +34,7 @@ module Zold
34
34
 
35
35
  def exec
36
36
  Dir.new(@home).each do |path|
37
- next unless path =~ /^[a-f0-9]{16}#{Wallet::EXTENSION}$/
37
+ next unless path =~ /^[a-f0-9]{16}#{Wallet::EXT}$/
38
38
  f = File.join(@home, path)
39
39
  wallet = Wallet.new(f)
40
40
  next if wallet.network == @network
data/zold.gemspec CHANGED
@@ -55,32 +55,34 @@ and suggests a different architecture for digital wallet maintenance.'
55
55
  s.rdoc_options = ['--charset=UTF-8']
56
56
  s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
57
57
  s.add_runtime_dependency 'backtrace', '~>0'
58
- s.add_runtime_dependency 'cachy', '~>0.4'
59
- s.add_runtime_dependency 'concurrent-ruby', '~>1.0'
60
- s.add_runtime_dependency 'cucumber', '~>3.1' # has to stay here for Heroku
61
- s.add_runtime_dependency 'diffy', '~>3.2'
62
- s.add_runtime_dependency 'dry-struct', '~>0.5'
63
- s.add_runtime_dependency 'dry-types', '~>0.13'
64
- s.add_runtime_dependency 'get_process_mem', '~>0.2'
65
- s.add_runtime_dependency 'json', '~>1.8'
66
- s.add_runtime_dependency 'moneta', '~>1.0'
67
- s.add_runtime_dependency 'openssl', '~>2.1'
68
- s.add_runtime_dependency 'puma'
69
- s.add_runtime_dependency 'rainbow', '~>3.0'
70
- s.add_runtime_dependency 'rake', '~>12.3' # has to stay here for Heroku
58
+ s.add_runtime_dependency 'cachy', '~>0'
59
+ s.add_runtime_dependency 'concurrent-ruby', '1.1.0.pre2'
60
+ s.add_runtime_dependency 'cucumber', '~>3' # has to stay here for Heroku
61
+ s.add_runtime_dependency 'diffy', '~>3'
62
+ s.add_runtime_dependency 'dry-struct', '~>0'
63
+ s.add_runtime_dependency 'dry-types', '~>0'
64
+ s.add_runtime_dependency 'futex', '~>0'
65
+ s.add_runtime_dependency 'get_process_mem', '~>0'
66
+ s.add_runtime_dependency 'json', '~>2'
67
+ s.add_runtime_dependency 'moneta', '~>1'
68
+ s.add_runtime_dependency 'openssl', '~>2'
69
+ s.add_runtime_dependency 'puma', '~>3'
70
+ s.add_runtime_dependency 'rainbow', '~>3'
71
+ s.add_runtime_dependency 'rake', '~>12' # has to stay here for Heroku
71
72
  s.add_runtime_dependency 'rubocop', '0.58.1' # has to stay here for Heroku
72
- s.add_runtime_dependency 'rubocop-rspec', '~>1.27' # has to stay here for Heroku
73
- s.add_runtime_dependency 'semantic', '~>1.6'
74
- s.add_runtime_dependency 'sigdump', '~>0.2'
75
- s.add_runtime_dependency 'sinatra', '~>2.0'
76
- s.add_runtime_dependency 'slop', '~>4.4'
77
- s.add_runtime_dependency 'sys-proctable', '~>1.1'
78
- s.add_runtime_dependency 'usagewatch_ext', '~>0.2'
73
+ s.add_runtime_dependency 'rubocop-rspec', '~>1' # has to stay here for Heroku
74
+ s.add_runtime_dependency 'semantic', '~>1'
75
+ s.add_runtime_dependency 'sigdump', '~>0'
76
+ s.add_runtime_dependency 'sinatra', '~>2'
77
+ s.add_runtime_dependency 'slop', '~>4'
78
+ s.add_runtime_dependency 'sys-proctable', '~>1'
79
+ s.add_runtime_dependency 'threads', '~>0'
80
+ s.add_runtime_dependency 'usagewatch_ext', '~>0'
79
81
  s.add_runtime_dependency 'xcop', '~>0'
80
- s.add_development_dependency 'codecov', '~>0.1'
81
- s.add_development_dependency 'minitest', '~>5.11'
82
+ s.add_development_dependency 'codecov', '~>0'
83
+ s.add_development_dependency 'minitest', '~>5'
82
84
  s.add_development_dependency 'random-port', '~>0'
83
- s.add_development_dependency 'rdoc', '~>4.2'
84
- s.add_development_dependency 'rspec-rails', '~>3.1'
85
- s.add_development_dependency 'webmock', '~>3.4'
85
+ s.add_development_dependency 'rdoc', '~>4'
86
+ s.add_development_dependency 'rspec-rails', '~>3'
87
+ s.add_development_dependency 'webmock', '~>3'
86
88
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zold
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.0
4
+ version: 0.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-21 00:00:00.000000000 Z
11
+ date: 2018-10-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backtrace
@@ -30,182 +30,196 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.4'
33
+ version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.4'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: concurrent-ruby
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: '1.0'
47
+ version: 1.1.0.pre2
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: '1.0'
54
+ version: 1.1.0.pre2
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: cucumber
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.1'
61
+ version: '3'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '3.1'
68
+ version: '3'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: diffy
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '3.2'
75
+ version: '3'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '3.2'
82
+ version: '3'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: dry-struct
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0.5'
89
+ version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0.5'
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: dry-types
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0.13'
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: futex
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
104
118
  type: :runtime
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
122
  - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: '0.13'
124
+ version: '0'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: get_process_mem
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: '0.2'
131
+ version: '0'
118
132
  type: :runtime
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: '0.2'
138
+ version: '0'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: json
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
143
  - - "~>"
130
144
  - !ruby/object:Gem::Version
131
- version: '1.8'
145
+ version: '2'
132
146
  type: :runtime
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
150
  - - "~>"
137
151
  - !ruby/object:Gem::Version
138
- version: '1.8'
152
+ version: '2'
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: moneta
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
157
  - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: '1.0'
159
+ version: '1'
146
160
  type: :runtime
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: '1.0'
166
+ version: '1'
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: openssl
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
171
  - - "~>"
158
172
  - !ruby/object:Gem::Version
159
- version: '2.1'
173
+ version: '2'
160
174
  type: :runtime
161
175
  prerelease: false
162
176
  version_requirements: !ruby/object:Gem::Requirement
163
177
  requirements:
164
178
  - - "~>"
165
179
  - !ruby/object:Gem::Version
166
- version: '2.1'
180
+ version: '2'
167
181
  - !ruby/object:Gem::Dependency
168
182
  name: puma
169
183
  requirement: !ruby/object:Gem::Requirement
170
184
  requirements:
171
- - - ">="
185
+ - - "~>"
172
186
  - !ruby/object:Gem::Version
173
- version: '0'
187
+ version: '3'
174
188
  type: :runtime
175
189
  prerelease: false
176
190
  version_requirements: !ruby/object:Gem::Requirement
177
191
  requirements:
178
- - - ">="
192
+ - - "~>"
179
193
  - !ruby/object:Gem::Version
180
- version: '0'
194
+ version: '3'
181
195
  - !ruby/object:Gem::Dependency
182
196
  name: rainbow
183
197
  requirement: !ruby/object:Gem::Requirement
184
198
  requirements:
185
199
  - - "~>"
186
200
  - !ruby/object:Gem::Version
187
- version: '3.0'
201
+ version: '3'
188
202
  type: :runtime
189
203
  prerelease: false
190
204
  version_requirements: !ruby/object:Gem::Requirement
191
205
  requirements:
192
206
  - - "~>"
193
207
  - !ruby/object:Gem::Version
194
- version: '3.0'
208
+ version: '3'
195
209
  - !ruby/object:Gem::Dependency
196
210
  name: rake
197
211
  requirement: !ruby/object:Gem::Requirement
198
212
  requirements:
199
213
  - - "~>"
200
214
  - !ruby/object:Gem::Version
201
- version: '12.3'
215
+ version: '12'
202
216
  type: :runtime
203
217
  prerelease: false
204
218
  version_requirements: !ruby/object:Gem::Requirement
205
219
  requirements:
206
220
  - - "~>"
207
221
  - !ruby/object:Gem::Version
208
- version: '12.3'
222
+ version: '12'
209
223
  - !ruby/object:Gem::Dependency
210
224
  name: rubocop
211
225
  requirement: !ruby/object:Gem::Requirement
@@ -226,98 +240,112 @@ dependencies:
226
240
  requirements:
227
241
  - - "~>"
228
242
  - !ruby/object:Gem::Version
229
- version: '1.27'
243
+ version: '1'
230
244
  type: :runtime
231
245
  prerelease: false
232
246
  version_requirements: !ruby/object:Gem::Requirement
233
247
  requirements:
234
248
  - - "~>"
235
249
  - !ruby/object:Gem::Version
236
- version: '1.27'
250
+ version: '1'
237
251
  - !ruby/object:Gem::Dependency
238
252
  name: semantic
239
253
  requirement: !ruby/object:Gem::Requirement
240
254
  requirements:
241
255
  - - "~>"
242
256
  - !ruby/object:Gem::Version
243
- version: '1.6'
257
+ version: '1'
244
258
  type: :runtime
245
259
  prerelease: false
246
260
  version_requirements: !ruby/object:Gem::Requirement
247
261
  requirements:
248
262
  - - "~>"
249
263
  - !ruby/object:Gem::Version
250
- version: '1.6'
264
+ version: '1'
251
265
  - !ruby/object:Gem::Dependency
252
266
  name: sigdump
253
267
  requirement: !ruby/object:Gem::Requirement
254
268
  requirements:
255
269
  - - "~>"
256
270
  - !ruby/object:Gem::Version
257
- version: '0.2'
271
+ version: '0'
258
272
  type: :runtime
259
273
  prerelease: false
260
274
  version_requirements: !ruby/object:Gem::Requirement
261
275
  requirements:
262
276
  - - "~>"
263
277
  - !ruby/object:Gem::Version
264
- version: '0.2'
278
+ version: '0'
265
279
  - !ruby/object:Gem::Dependency
266
280
  name: sinatra
267
281
  requirement: !ruby/object:Gem::Requirement
268
282
  requirements:
269
283
  - - "~>"
270
284
  - !ruby/object:Gem::Version
271
- version: '2.0'
285
+ version: '2'
272
286
  type: :runtime
273
287
  prerelease: false
274
288
  version_requirements: !ruby/object:Gem::Requirement
275
289
  requirements:
276
290
  - - "~>"
277
291
  - !ruby/object:Gem::Version
278
- version: '2.0'
292
+ version: '2'
279
293
  - !ruby/object:Gem::Dependency
280
294
  name: slop
281
295
  requirement: !ruby/object:Gem::Requirement
282
296
  requirements:
283
297
  - - "~>"
284
298
  - !ruby/object:Gem::Version
285
- version: '4.4'
299
+ version: '4'
286
300
  type: :runtime
287
301
  prerelease: false
288
302
  version_requirements: !ruby/object:Gem::Requirement
289
303
  requirements:
290
304
  - - "~>"
291
305
  - !ruby/object:Gem::Version
292
- version: '4.4'
306
+ version: '4'
293
307
  - !ruby/object:Gem::Dependency
294
308
  name: sys-proctable
295
309
  requirement: !ruby/object:Gem::Requirement
296
310
  requirements:
297
311
  - - "~>"
298
312
  - !ruby/object:Gem::Version
299
- version: '1.1'
313
+ version: '1'
314
+ type: :runtime
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: '1'
321
+ - !ruby/object:Gem::Dependency
322
+ name: threads
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - "~>"
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
300
328
  type: :runtime
301
329
  prerelease: false
302
330
  version_requirements: !ruby/object:Gem::Requirement
303
331
  requirements:
304
332
  - - "~>"
305
333
  - !ruby/object:Gem::Version
306
- version: '1.1'
334
+ version: '0'
307
335
  - !ruby/object:Gem::Dependency
308
336
  name: usagewatch_ext
309
337
  requirement: !ruby/object:Gem::Requirement
310
338
  requirements:
311
339
  - - "~>"
312
340
  - !ruby/object:Gem::Version
313
- version: '0.2'
341
+ version: '0'
314
342
  type: :runtime
315
343
  prerelease: false
316
344
  version_requirements: !ruby/object:Gem::Requirement
317
345
  requirements:
318
346
  - - "~>"
319
347
  - !ruby/object:Gem::Version
320
- version: '0.2'
348
+ version: '0'
321
349
  - !ruby/object:Gem::Dependency
322
350
  name: xcop
323
351
  requirement: !ruby/object:Gem::Requirement
@@ -338,28 +366,28 @@ dependencies:
338
366
  requirements:
339
367
  - - "~>"
340
368
  - !ruby/object:Gem::Version
341
- version: '0.1'
369
+ version: '0'
342
370
  type: :development
343
371
  prerelease: false
344
372
  version_requirements: !ruby/object:Gem::Requirement
345
373
  requirements:
346
374
  - - "~>"
347
375
  - !ruby/object:Gem::Version
348
- version: '0.1'
376
+ version: '0'
349
377
  - !ruby/object:Gem::Dependency
350
378
  name: minitest
351
379
  requirement: !ruby/object:Gem::Requirement
352
380
  requirements:
353
381
  - - "~>"
354
382
  - !ruby/object:Gem::Version
355
- version: '5.11'
383
+ version: '5'
356
384
  type: :development
357
385
  prerelease: false
358
386
  version_requirements: !ruby/object:Gem::Requirement
359
387
  requirements:
360
388
  - - "~>"
361
389
  - !ruby/object:Gem::Version
362
- version: '5.11'
390
+ version: '5'
363
391
  - !ruby/object:Gem::Dependency
364
392
  name: random-port
365
393
  requirement: !ruby/object:Gem::Requirement
@@ -380,42 +408,42 @@ dependencies:
380
408
  requirements:
381
409
  - - "~>"
382
410
  - !ruby/object:Gem::Version
383
- version: '4.2'
411
+ version: '4'
384
412
  type: :development
385
413
  prerelease: false
386
414
  version_requirements: !ruby/object:Gem::Requirement
387
415
  requirements:
388
416
  - - "~>"
389
417
  - !ruby/object:Gem::Version
390
- version: '4.2'
418
+ version: '4'
391
419
  - !ruby/object:Gem::Dependency
392
420
  name: rspec-rails
393
421
  requirement: !ruby/object:Gem::Requirement
394
422
  requirements:
395
423
  - - "~>"
396
424
  - !ruby/object:Gem::Version
397
- version: '3.1'
425
+ version: '3'
398
426
  type: :development
399
427
  prerelease: false
400
428
  version_requirements: !ruby/object:Gem::Requirement
401
429
  requirements:
402
430
  - - "~>"
403
431
  - !ruby/object:Gem::Version
404
- version: '3.1'
432
+ version: '3'
405
433
  - !ruby/object:Gem::Dependency
406
434
  name: webmock
407
435
  requirement: !ruby/object:Gem::Requirement
408
436
  requirements:
409
437
  - - "~>"
410
438
  - !ruby/object:Gem::Version
411
- version: '3.4'
439
+ version: '3'
412
440
  type: :development
413
441
  prerelease: false
414
442
  version_requirements: !ruby/object:Gem::Requirement
415
443
  requirements:
416
444
  - - "~>"
417
445
  - !ruby/object:Gem::Version
418
- version: '3.4'
446
+ version: '3'
419
447
  description: |-
420
448
  In the last few years digital currencies have successfully demonstrated
421
449
  their ability to become an alternative financial instrument in many
@@ -526,6 +554,7 @@ files:
526
554
  - lib/zold/commands/show.rb
527
555
  - lib/zold/commands/taxes.rb
528
556
  - lib/zold/copies.rb
557
+ - lib/zold/dir_items.rb
529
558
  - lib/zold/gem.rb
530
559
  - lib/zold/head.rb
531
560
  - lib/zold/hexnum.rb
@@ -582,6 +611,7 @@ files:
582
611
  - test/commands/test_pull.rb
583
612
  - test/commands/test_push.rb
584
613
  - test/commands/test_remote.rb
614
+ - test/commands/test_remove.rb
585
615
  - test/commands/test_show.rb
586
616
  - test/commands/test_taxes.rb
587
617
  - test/fake_home.rb
@@ -602,11 +632,13 @@ files:
602
632
  - test/test_amount.rb
603
633
  - test/test_cached_wallets.rb
604
634
  - test/test_copies.rb
635
+ - test/test_dir_items.rb
605
636
  - test/test_gem.rb
606
637
  - test/test_hexnum.rb
607
638
  - test/test_http.rb
608
639
  - test/test_id.rb
609
640
  - test/test_key.rb
641
+ - test/test_log.rb
610
642
  - test/test_metronome.rb
611
643
  - test/test_patch.rb
612
644
  - test/test_prefixes.rb
@@ -678,6 +710,7 @@ test_files:
678
710
  - test/commands/test_pull.rb
679
711
  - test/commands/test_push.rb
680
712
  - test/commands/test_remote.rb
713
+ - test/commands/test_remove.rb
681
714
  - test/commands/test_show.rb
682
715
  - test/commands/test_taxes.rb
683
716
  - test/fake_home.rb
@@ -698,11 +731,13 @@ test_files:
698
731
  - test/test_amount.rb
699
732
  - test/test_cached_wallets.rb
700
733
  - test/test_copies.rb
734
+ - test/test_dir_items.rb
701
735
  - test/test_gem.rb
702
736
  - test/test_hexnum.rb
703
737
  - test/test_http.rb
704
738
  - test/test_id.rb
705
739
  - test/test_key.rb
740
+ - test/test_log.rb
706
741
  - test/test_metronome.rb
707
742
  - test/test_patch.rb
708
743
  - test/test_prefixes.rb