zold 0.16.0 → 0.16.1

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: a80f542fc3561bcd48d5f02f31630a14ca52ff17beda6ec8bda6460ca85fd54a
4
- data.tar.gz: 258cf2d603a886678b3947e28a23bee64d6d57cc6e41cea9a1a9c21f7b18c054
3
+ metadata.gz: dce2c92e30d43499ad5adfb3bc160384024d855fc05c05cebe01248b63ad21c6
4
+ data.tar.gz: 7630a27799a5260450ba09211906b9c3396bd6abadca7ada4948b85ec5254655
5
5
  SHA512:
6
- metadata.gz: e64a730a188c183fd1a477900907f54fc0c3acb52db6f9c4c0dc88d70a700f762866fbc130e92cd6b782e6cfea04eb6f9e8f01f97ce1e7a0ba2e09212590bdae
7
- data.tar.gz: f70009e27da61954ee250f107e3ddff12977f572e27dd4bf37c28ea20877b1adf36c5162bd0a5ba5169097a33e56712f13e04db6d14973fc219942e0fd85c39c
6
+ metadata.gz: 8396ac223ada21c0cc243d98afccf2b83ffbc9d599bd90438a9d431f97e28199bf4d906be837f89572bb60c68e19dfbd2a9d57144d49c908a336cc324c0213cb
7
+ data.tar.gz: b586b645bda118c3ab16ad8505f6b01d19683666f6d53df2b0b39669f76391964f0046ed9328b29928afd377eced9e4824b4252b019ebb6b3cdb8b17778bf8e3
@@ -20,6 +20,8 @@
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  # SOFTWARE.
22
22
 
23
+ require 'shellwords'
24
+
23
25
  # Items in a directory.
24
26
  #
25
27
  # We need this class because Dir.new() from Ruby is blocking. It doesn't
@@ -37,8 +39,12 @@ module Zold
37
39
  end
38
40
 
39
41
  def fetch(recursive: true)
40
- txt = `find #{@dir} #{recursive ? '' : '-maxdepth 1'} -type f -print 2>/dev/null`
41
- txt.nil? ? [] : txt.strip.split(' ').map { |f| f[(@dir.length + 1)..-1] }
42
+ txt = `find #{Shellwords.escape(@dir)} #{recursive ? '' : '-maxdepth 1'} -type f -print 2>/dev/null`
43
+ return [] if txt.nil?
44
+ txt.strip
45
+ .split(' ')
46
+ .select { |f| f.start_with?(@dir) }
47
+ .map { |f| f[(@dir.length + 1)..-1] }
42
48
  end
43
49
  end
44
50
  end
@@ -55,7 +55,7 @@ module Zold
55
55
  set :suppress_messages, true
56
56
  set :start, Time.now
57
57
  set :lock, false
58
- set :show_exceptions, true
58
+ set :show_exceptions, false
59
59
  set :server, :puma
60
60
  set :log, nil? # to be injected at node.rb
61
61
  set :trace, nil? # to be injected at node.rb
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.16.0'
28
+ VERSION = '0.16.1'
29
29
  PROTOCOL = 2
30
30
  end
@@ -300,7 +300,7 @@ class FrontTest < Minitest::Test
300
300
  Zold::Http.new(uri: uri, score: nil).get
301
301
  end
302
302
  end
303
- assert(exception.message.include?('should be a 4 to 16 char long alphanumeric string'))
303
+ assert(exception.message.include?('should be a 4 to 16 char long'), exception.message)
304
304
  end
305
305
 
306
306
  def test_push_fetch_in_multiple_threads
@@ -53,7 +53,7 @@ class TestDirItems < Minitest::Test
53
53
 
54
54
  def test_lists_empty_dir
55
55
  Dir.mktmpdir do |dir|
56
- assert_equal(0, Zold::DirItems.new(File.join(dir, 'a/b/c')).fetch.count)
56
+ assert_equal(0, Zold::DirItems.new(File.join(dir, 'a/b/c ff')).fetch.count)
57
57
  end
58
58
  end
59
59
 
data/test/test_remotes.rb CHANGED
@@ -200,10 +200,10 @@ class TestRemotes < Minitest::Test
200
200
  Dir.mktmpdir do |dir|
201
201
  remotes = Zold::Remotes.new(file: File.join(dir, 'xx.csv'))
202
202
  remotes.clean
203
- Threads.new(5).assert do |t|
204
- remotes.add('127.0.0.1', 8080 + t)
203
+ Threads.new(10).assert(100) do |_, r|
204
+ remotes.add('127.0.0.1', 8080 + r)
205
205
  end
206
- assert_equal(5, remotes.all.count)
206
+ assert_equal(100, remotes.all.count)
207
207
  end
208
208
  end
209
209
 
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.16.0
4
+ version: 0.16.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko