zold 0.14.53 → 0.15.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 12bf3dea4ff2630f3530269b7c5db959ad30cec8ab6346ba3336570c4a61822d
4
- data.tar.gz: 1cb07c0e0ce665ededffc57a221ead9a235d99ba9eb391a8a75b1af6434bf093
3
+ metadata.gz: e42d8de2d004ce5a9bfe7eaee7728dc0988a08482e5cc7d138de0c7bf8552fd4
4
+ data.tar.gz: 2e82e4cc5f59db84b8647396c902dbd6b86ec3769a4eb6cfd0ca922e6020c3d5
5
5
  SHA512:
6
- metadata.gz: 4788bfa23317ab20259ef9fae9266556d402caf07de529d8358d9541f61dca9f42b2921b6d15535e8b11583c4f79c130aae3fa82cda5cd8fd494aeb645f8fd8d
7
- data.tar.gz: 2a929f263c3a0a2fa91e6cddc9436b273781c58f121753ad28191f4fa140b5df7b9f07bda75e84dcc448e6d30633695895906fac47089be453246b83f3665e83
6
+ metadata.gz: 4f194dab4b5c826ce407effcc2374e77ba82c969adb3ff0780796702addb3db807b9f6d1bbf6ec15bd10f48a274561774414d913847429053980039f30d0dc3c
7
+ data.tar.gz: 255583b83271342d7895cff40965bb71bc13bc8608755a279c65e437a55858958b00e06d1bd88f46470f353fe06846f270e89a77018bc91acfd5f6efff43958e
@@ -22,17 +22,23 @@ zold --public-key=id_rsa.pub create 0000000000000000
22
22
  target=$(zold create --public-key=id_rsa.pub)
23
23
  invoice=$(zold invoice ${target})
24
24
  zold pay --private-key=id_rsa 0000000000000000 ${invoice} 14.99 'To save the world!'
25
+ zold propagate
25
26
  zold propagate 0000000000000000
26
27
  zold show
27
28
  zold show 0000000000000000
28
29
  zold taxes debt 0000000000000000
29
30
 
30
31
  zold remote show
32
+ zold push
31
33
  zold push 0000000000000000
32
34
  until zold fetch 0000000000000000 --ignore-score-weakness; do
33
35
  echo 'Failed to fetch, let us try again'
34
36
  sleep 1
35
37
  done
38
+ zold fetch
36
39
  zold diff 0000000000000000
40
+ zold merge
37
41
  zold merge 0000000000000000
42
+ zold clean
38
43
  zold clean 0000000000000000
44
+ zold remove
@@ -53,8 +53,7 @@ Available options:"
53
53
  o.bool '--help', 'Print instructions'
54
54
  end
55
55
  mine = Args.new(opts, @log).take || return
56
- mine = @wallets.all if mine.empty?
57
- mine.map { |i| Id.new(i) }.each do |id|
56
+ (mine.empty? ? @wallets.all : mine.map { |i| Id.new(i) }).each do |id|
58
57
  clean(Copies.new(File.join(@copies, id), log: @log), opts)
59
58
  end
60
59
  end
@@ -69,8 +69,7 @@ Available options:"
69
69
  o.bool '--help', 'Print instructions'
70
70
  end
71
71
  mine = Args.new(opts, @log).take || return
72
- mine = @wallets.all if mine.empty?
73
- mine.map { |i| Id.new(i) }.each do |id|
72
+ (mine.empty? ? @wallets.all : mine.map { |i| Id.new(i) }).each do |id|
74
73
  fetch(id, Copies.new(File.join(@copies, id)), opts)
75
74
  end
76
75
  end
@@ -54,9 +54,8 @@ Available options:"
54
54
  o.bool '--help', 'Print instructions'
55
55
  end
56
56
  mine = Args.new(opts, @log).take || return
57
- mine = @wallets.all if mine.empty?
58
57
  modified = []
59
- mine.map { |i| Id.new(i) }.each do |id|
58
+ (mine.empty? ? @wallets.all : mine.map { |i| Id.new(i) }).each do |id|
60
59
  next unless merge(id, Copies.new(File.join(@copies, id)), opts)
61
60
  modified << id
62
61
  require_relative 'propagate'
@@ -49,9 +49,8 @@ Available options:"
49
49
  o.bool '--help', 'Print instructions'
50
50
  end
51
51
  mine = Args.new(opts, @log).take || return
52
- mine = @wallets.all if mine.empty?
53
52
  modified = []
54
- mine.map { |i| Id.new(i) }.each do |id|
53
+ (mine.empty? ? @wallets.all : mine.map { |i| Id.new(i) }).each do |id|
55
54
  modified += propagate(id, opts)
56
55
  end
57
56
  modified
@@ -58,8 +58,7 @@ Available options:"
58
58
  o.bool '--help', 'Print instructions'
59
59
  end
60
60
  mine = Args.new(opts, @log).take || return
61
- mine = @wallets.all if mine.empty?
62
- mine.map { |i| Id.new(i) }.each do |id|
61
+ (mine.empty? ? @wallets.all : mine.map { |i| Id.new(i) }).each do |id|
63
62
  push(id, opts)
64
63
  end
65
64
  end
@@ -60,6 +60,8 @@ Available commands:
60
60
  Remove all registered remote nodes
61
61
  #{Rainbow('remote reset').green}
62
62
  Restore it back to the default list of nodes
63
+ #{Rainbow('remote defaults').green}
64
+ Add all default nodes to the list
63
65
  #{Rainbow('remote add').green} host [port]
64
66
  Add a new remote node
65
67
  #{Rainbow('remote remove').green} host [port]
@@ -125,6 +127,8 @@ Available options:"
125
127
  clean
126
128
  when 'reset'
127
129
  reset
130
+ when 'defaults'
131
+ defaults
128
132
  when 'add'
129
133
  add(mine[1], mine[2] ? mine[2].to_i : Remotes::PORT, opts)
130
134
  when 'remove'
@@ -158,8 +162,13 @@ Available options:"
158
162
  end
159
163
 
160
164
  def reset
161
- @remotes.reset
162
- @log.debug("Remote nodes set back to default, #{@remotes.all.count} total")
165
+ clean
166
+ defaults
167
+ end
168
+
169
+ def defaults
170
+ @remotes.defaults
171
+ @log.debug("Default remote nodes were added to the list, #{@remotes.all.count} total")
163
172
  end
164
173
 
165
174
  def add(host, port, opts)
@@ -44,8 +44,7 @@ Available options:"
44
44
  o.bool '--help', 'Print instructions'
45
45
  end
46
46
  mine = Args.new(opts, @log).take || return
47
- mine = @wallets.all if mine.empty?
48
- mine.map { |i| Id.new(i) }.each do |id|
47
+ (mine.empty? ? @wallets.all : mine.map { |i| Id.new(i) }).each do |id|
49
48
  remove(id, opts)
50
49
  end
51
50
  end
@@ -46,7 +46,7 @@ module Zold
46
46
  args = ['remote', "--network=#{@opts['network']}"]
47
47
  score = @farm.best[0]
48
48
  args << "--ignore-node=#{score.host}:#{score.port}" if score
49
- cmd.run(args + ['add', 'b1.zold.io', '80']) unless @opts['routine-immediately']
49
+ cmd.run(args + ['defaults']) unless @opts['routine-immediately']
50
50
  cmd.run(args + ['trim'])
51
51
  cmd.run(args + ['select'])
52
52
  cmd.run(args + ['update'] + (@opts['never-reboot'] ? [] : ['--reboot']))
data/lib/zold/remotes.rb CHANGED
@@ -130,12 +130,11 @@ module Zold
130
130
  modify { [] }
131
131
  end
132
132
 
133
- def reset
134
- FileUtils.mkdir_p(File.dirname(file))
135
- FileUtils.copy(
136
- File.join(File.dirname(__FILE__), '../../resources/remotes'),
137
- file
138
- )
133
+ def defaults
134
+ other = Remotes.new(file: File.join(File.dirname(__FILE__), '../../resources/remotes'))
135
+ other.all.each do |r|
136
+ add(r[:host], r[:port])
137
+ end
139
138
  end
140
139
 
141
140
  def exists?(host, port = Remotes::PORT)
@@ -242,22 +241,26 @@ module Zold
242
241
  end
243
242
 
244
243
  def load
245
- reset unless File.exist?(file)
246
- raw = CSV.read(file).map do |row|
247
- {
248
- host: row[0],
249
- port: row[1].to_i,
250
- score: row[2].to_i,
251
- errors: row[3].to_i
252
- }
253
- end
254
- raw.reject { |r| !r[:host] || r[:port].zero? }.map do |r|
255
- r[:home] = URI("http://#{r[:host]}:#{r[:port]}/")
256
- r
244
+ if File.exist?(file)
245
+ raw = CSV.read(file).map do |row|
246
+ {
247
+ host: row[0],
248
+ port: row[1].to_i,
249
+ score: row[2].to_i,
250
+ errors: row[3].to_i
251
+ }
252
+ end
253
+ raw.reject { |r| !r[:host] || r[:port].zero? }.map do |r|
254
+ r[:home] = URI("http://#{r[:host]}:#{r[:port]}/")
255
+ r
256
+ end
257
+ else
258
+ []
257
259
  end
258
260
  end
259
261
 
260
262
  def save(list)
263
+ FileUtils.mkdir_p(File.dirname(file))
261
264
  File.write(
262
265
  file,
263
266
  list.uniq { |r| "#{r[:host]}:#{r[:port]}" }.map do |r|
data/lib/zold/version.rb CHANGED
@@ -25,6 +25,6 @@
25
25
  # Copyright:: Copyright (c) 2018 Yegor Bugayenko
26
26
  # License:: MIT
27
27
  module Zold
28
- VERSION = '0.14.53'
28
+ VERSION = '0.15.0'
29
29
  PROTOCOL = 2
30
30
  end
@@ -176,6 +176,7 @@ class TestRemote < Minitest::Test
176
176
  def test_select_respects_max_nodes_option
177
177
  Dir.mktmpdir do |dir|
178
178
  remotes = Zold::Remotes.new(file: File.join(dir, 'remotes.txt'))
179
+ remotes.defaults
179
180
  zero = Zold::Score::ZERO
180
181
  cmd = Zold::Remote.new(remotes: remotes, log: test_log)
181
182
  (5000..5010).each do |port|
data/test/test_remotes.rb CHANGED
@@ -132,8 +132,8 @@ class TestRemotes < Minitest::Test
132
132
  Dir.mktmpdir do |dir|
133
133
  remotes = Zold::Remotes.new(file: File.join(dir, 'remotes'))
134
134
  remotes.clean
135
- remotes.reset
136
- remotes.reset
135
+ remotes.defaults
136
+ remotes.defaults
137
137
  assert(!remotes.all.empty?)
138
138
  end
139
139
  end
@@ -188,9 +188,9 @@ class TestRemotes < Minitest::Test
188
188
 
189
189
  def test_read_mtime_from_file
190
190
  Dir.mktmpdir 'test' do |dir|
191
- file = File.join(dir, 'remotes')
191
+ file = File.join(dir, 'a/b/c/remotes')
192
192
  remotes = Zold::Remotes.new(file: file)
193
- remotes.all
193
+ remotes.clean
194
194
  assert_equal(File.mtime(file).to_i, remotes.mtime.to_i)
195
195
  end
196
196
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zold
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.53
4
+ version: 0.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko