zold 0.9.2 → 0.9.3

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
  SHA1:
3
- metadata.gz: '039de853771899f4201fa612666d49fd4526aeb1'
4
- data.tar.gz: 19faa89ee913e57daf32b4bc0941b68bac4faede
3
+ metadata.gz: f6811821f5b8eed50d2d11c0e972ee9a91ba1a7e
4
+ data.tar.gz: f4cfbe65254ee35788815494b7529d9cae6447e7
5
5
  SHA512:
6
- metadata.gz: 3ebc6d8357fedb9785fbc871d80e370bf300aaf54fbf26ba01e716438f8bb198c0ca43e027863a15e427f8df3a9e5693c377c755c8cfd91649805d036df89734
7
- data.tar.gz: af6b10fca01a5c8a9cd843fe725de514a805ce5eb7532068f22883b85111f8213c16eae2d874e861655feac02d8404e9b1216515f20a89fecf38893a8b72a210
6
+ metadata.gz: 370fbc1d1a3b8df9369f9cfcd190849dd418e1af8f1d9a81c4257887cefac1b6427ba3072763793d29ec30864101f9268bdad7a6cedf7d55bca70441d897b3e0
7
+ data.tar.gz: 0d719f61975a5f6d7dadfe6a79b0fe40d05f98d71db97a6566b5d4c6fecc5e498f830a08f95748be5ac1332baec03b9df622f3d6b852350a7714fe18f6af0b0f
data/bin/zold CHANGED
@@ -160,6 +160,8 @@ Available options:"
160
160
  Zold::Fetch.new(wallets: wallets, remotes: remotes, copies: copies, log: log).run(args)
161
161
  require_relative '../lib/zold/commands/merge'
162
162
  Zold::Merge.new(wallets: wallets, copies: copies, log: log).run(args)
163
+ require_relative '../lib/zold/commands/clean'
164
+ Zold::Clean.new(copies: copies, log: log).run(args)
163
165
  when 'taxes'
164
166
  require_relative '../lib/zold/commands/taxes'
165
167
  Zold::Taxes.new(wallets: wallets, log: log).run(args)
@@ -34,7 +34,7 @@ require_relative '../copies'
34
34
  # Copyright:: Copyright (c) 2018 Yegor Bugayenko
35
35
  # License:: MIT
36
36
  module Zold
37
- # CLEAN pulling command
37
+ # CLEAN command
38
38
  class Clean
39
39
  def initialize(copies:, log: Log::Quiet.new)
40
40
  @copies = copies
data/lib/zold/copies.rb CHANGED
@@ -91,9 +91,9 @@ module Zold
91
91
  {
92
92
  name: name,
93
93
  path: File.join(@dir, name),
94
- score: scores.select { |s| s[:time] > Time.now - 24 * 60 }
94
+ score: scores.select { |s| s[:time] > Time.now - 24 * 60 * 60 }
95
95
  .map { |s| s[:score] }
96
- .inject(&:+)
96
+ .inject(&:+) || 0
97
97
  }
98
98
  end
99
99
  end
@@ -28,6 +28,7 @@ require_relative '../tax'
28
28
  require_relative '../commands/merge'
29
29
  require_relative '../commands/fetch'
30
30
  require_relative '../commands/push'
31
+ require_relative '../commands/clean'
31
32
 
32
33
  # The entrance of the web front.
33
34
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
@@ -81,6 +82,7 @@ module Zold
81
82
  Push.new(
82
83
  wallets: @wallets, remotes: @remotes, log: @log
83
84
  ).run(['push'] + modified.map(&:to_s))
85
+ Clean.new(copies: copies.root, log: @log).run(['clean', id.to_s])
84
86
  modified
85
87
  end
86
88
  end
data/lib/zold/version.rb CHANGED
@@ -23,5 +23,5 @@
23
23
  # Copyright:: Copyright (c) 2018 Yegor Bugayenko
24
24
  # License:: MIT
25
25
  module Zold
26
- VERSION = '0.9.2'.freeze
26
+ VERSION = '0.9.3'.freeze
27
27
  end
data/test/test__helper.rb CHANGED
@@ -30,8 +30,8 @@ if ENV['CI'] == 'true'
30
30
  end
31
31
 
32
32
  require_relative '../lib/zold/log'
33
- $log = Zold::Log::Quiet.new
34
- # $log = Zold::Log::Verbose.new
33
+ # $log = Zold::Log::Quiet.new
34
+ $log = Zold::Log::Verbose.new
35
35
 
36
36
  require 'minitest/autorun'
37
37
  require_relative '../lib/zold'
data/test/test_copies.rb CHANGED
@@ -62,12 +62,29 @@ class TestCopies < Minitest::Test
62
62
  def test_cleans_copies
63
63
  Dir.mktmpdir 'test' do |dir|
64
64
  copies = Zold::Copies.new(dir)
65
- copies.add('h1', 'zold.io', 50, 80, Time.now - 25 * 60)
66
- copies.add('h1', 'zold.io', 33, 80, Time.now - 26 * 60)
65
+ copies.add('h1', 'zold.io', 50, 80, Time.now - 25 * 60 * 60)
66
+ copies.add('h1', 'zold.io', 33, 80, Time.now - 26 * 60 * 60)
67
67
  assert(File.exist?(File.join(dir, '1')))
68
68
  copies.clean
69
69
  assert(copies.all.empty?, "#{copies.all.count} is not empty")
70
70
  assert(!File.exist?(File.join(dir, '1')))
71
71
  end
72
72
  end
73
+
74
+ def test_ignores_garbage
75
+ Dir.mktmpdir 'test' do |dir|
76
+ copies = Zold::Copies.new(dir)
77
+ copies.add('h1', 'zold.io', 50, 80, Time.now - 25 * 60 * 60)
78
+ FileUtils.mkdir(File.join(dir, '55'))
79
+ assert_equal(1, copies.all.count)
80
+ end
81
+ end
82
+
83
+ def test_ignores_too_old_scores
84
+ Dir.mktmpdir 'test' do |dir|
85
+ copies = Zold::Copies.new(dir)
86
+ copies.add('h1', 'zold.io', 50, 80, Time.now - 1000 * 60 * 60)
87
+ assert_equal(0, copies.all[0][:score])
88
+ end
89
+ end
73
90
  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.9.2
4
+ version: 0.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko