speedometer 0.0.2 → 0.0.3

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/speedometer.rb +18 -11
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 16ea2d6dc5f2dc611a46b92d320d1f0ef98262fe
4
- data.tar.gz: fa2d181d1bfc89e9d3879ae429f15f069a2a231d
3
+ metadata.gz: 762906cb1efe065de8cbb871b0154ed0bd2caa83
4
+ data.tar.gz: 9eec69ac82889208b7acd0e8bf9bbd5655289db7
5
5
  SHA512:
6
- metadata.gz: 6cd039ae5d70bb89badb38b034e33714944186359b5b1cdbc72c36c411434113b3c90426f92a891c54e5ca07552e34a3acf0c1a0d02c0662561bd156180e0617
7
- data.tar.gz: 4e0561c9a42a9d11fa1017b3fc1a37aed531a8f706eac579197623c154856a866c131b6a85e8c6d383c1bea92b601fd1ad79249ec8f80e7ee9123d21a2a716c5
6
+ metadata.gz: e5f16f4de7abd0bf93287fcd3e3b9580b80e0af6c7709965dd182d2a35819c266d013b1a0ebca0ebb490d8b1fc3d881b6f6e91643cd753c18e6c5aa6194baea2
7
+ data.tar.gz: 3d33d33bd8f1b9e355544955878cd2267c8a65655c9eca6a96d713c07489c7864d186763102deecaf30022884ef4526bc553c0aebea3fe5bdc543768ffdb5b05
data/lib/speedometer.rb CHANGED
@@ -28,6 +28,7 @@ class Speedometer
28
28
  @start_time = Time.now
29
29
  @active = true
30
30
  @refresh_time = 1000
31
+ @msg_lock = Mutex.new
31
32
  if ["KB","MB","GB"].include?(units)
32
33
  @units = units
33
34
  else
@@ -36,14 +37,16 @@ class Speedometer
36
37
  end
37
38
 
38
39
  def clear
39
- length = `stty`
40
- length = length.split.last.to_i
41
- print "\r"
42
- STDOUT.flush
43
- print "#{' ' * length}"
44
- STDOUT.flush
45
- print "\r"
46
- STDOUT.flush
40
+ @msg_lock.synchronize do
41
+ length = `tput cols`
42
+ length = length.split.last.to_i
43
+ print "\r"
44
+ STDOUT.flush
45
+ print "#{' ' * length}"
46
+ STDOUT.flush
47
+ print "\r"
48
+ STDOUT.flush
49
+ end
47
50
  end
48
51
 
49
52
  def display
@@ -56,14 +59,18 @@ class Speedometer
56
59
  if @units == "GB"
57
60
  speed = speed / 1024
58
61
  end
59
- print "#{speed.round(2)}#{@units}/s"
60
- STDOUT.flush
62
+ @msg_lock.synchronize do
63
+ print "#{speed.round(2)}#{@units}/s"
64
+ STDOUT.flush
65
+ end
61
66
  sleep @refresh_time.to_f / 1000
62
67
  end
63
68
 
64
69
  def log(msg)
65
70
  clear
66
- puts msg
71
+ @msg_lock.synchronize do
72
+ puts msg
73
+ end
67
74
  display
68
75
  end
69
76
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: speedometer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tadeus Dobrovolskij
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-18 00:00:00.000000000 Z
11
+ date: 2013-11-19 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Library to track and display bandwith usage inside the application
14
14
  email: root@tad-do.net