zold 0.14.53 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
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