zold 0.13.28 → 0.13.29

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
  SHA1:
3
- metadata.gz: '05853564cefded3d0d7e66270601e088f0f7dcf0'
4
- data.tar.gz: 626462733df3226d4e5d9ee19b96d31f335c7eb9
3
+ metadata.gz: a5548665d483b173adbc56944626a2ae8f5a9b3c
4
+ data.tar.gz: 8599a6491f67845ef46da4fe915a5eabbc8fc9bf
5
5
  SHA512:
6
- metadata.gz: 9a95f55192789679be2d53d9d9c6124e3754ed60a1cd3747e4b5bf30d12f69c87b79de340e0ff992fd28d3d1d30099b1b35eddefdafccbb8621f27f44be66411
7
- data.tar.gz: ec06484a7ca5952a69f6d7ab3caaa1111a41c67560d907083bb40e0aa19616f90fbfedc05e89344e078c38ec2314908eec2459e7087f9af4415ed600242ae87d
6
+ metadata.gz: 2231e2653e8f83ea7adbf2322e3c70ee56884f8976f5e58cfafa3e2d6cf252f668211554231bc5302929fcf9f3cd05b38130c4ae595706d95ae5f1dd70ffa883
7
+ data.tar.gz: 17a0728fe33979c7670820e018806eb7000c820dab8b652f2569436841408ec746fd964e5ba0604d6d0ccaabd5dfe3cd6a71caf0f3de604fef952b0f818c0689
@@ -117,11 +117,16 @@ module Zold
117
117
  before = scores.map(&:value).max.to_i
118
118
  save(threads, [Score.new(Time.now, host, port, @invoice, strength: strength)])
119
119
  scores = load
120
- @pipeline << scores.max_by(&:age) if @pipeline.size.zero?
120
+ push(scores)
121
121
  after = scores.map(&:value).max.to_i
122
122
  @log.debug("#{Thread.current.name}: best score is #{scores[0]}") if before != after && !after.zero?
123
123
  end
124
124
 
125
+ def push(scores)
126
+ free = scores.reject { |s| @threads.find { |t| t.name == s.to_mnemo } }
127
+ @pipeline << free[0] if @pipeline.size.zero? && !free.empty?
128
+ end
129
+
125
130
  def cycle(host, port, strength, threads)
126
131
  s = @pipeline.pop
127
132
  return unless s.valid?
data/lib/zold/score.rb CHANGED
@@ -106,7 +106,7 @@ module Zold
106
106
  end
107
107
 
108
108
  def to_mnemo
109
- "#{value}:#{(age / 60).round}m"
109
+ "#{value}:#{@time.strftime('%H%M')}"
110
110
  end
111
111
 
112
112
  def to_text
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.13.28'.freeze
26
+ VERSION = '0.13.29'.freeze
27
27
  end
data/test/test_score.rb CHANGED
@@ -59,6 +59,14 @@ class TestScore < Minitest::Test
59
59
  assert(!score.valid?)
60
60
  end
61
61
 
62
+ def test_prints_mnemo
63
+ score = Zold::Score.new(
64
+ Time.parse('2017-07-19T22:32:51Z'),
65
+ 'localhost', 443, 'NOPREFIX@ffffffffffffffff'
66
+ )
67
+ assert_equal('0:2232', score.to_mnemo)
68
+ end
69
+
62
70
  def test_prints_and_parses
63
71
  time = Time.now
64
72
  score = Zold::Score.parse(
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.13.28
4
+ version: 0.13.29
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko