hackmac 1.4.2 → 1.5.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: 6edb17b3e73dbb6bc5112bfd85a8bb50c32c9be7e860cc97d11f98bb6a2e9d04
4
- data.tar.gz: 120072142fb649a5d2cd933e27c0f9b0aeaa6c0d68721ed392e1b39478ae66dd
3
+ metadata.gz: '0919dce412f314296c00fc6f8bf87bf142b90cef6a437c1a25839fffd58bfee2'
4
+ data.tar.gz: cb3447775d1e0bc7da5e9f3bf0792dbd0428cba875124a3ae9da8c0006daa0f3
5
5
  SHA512:
6
- metadata.gz: 5e78be62b57bdfe29961dd9ce3d334cfa7d6e1abdad8b30be9ecc9c2cd265d5543f992e0eaaf234b490e681e63c5b3f93252cd3c924c43ca3df1beb21df7d814
7
- data.tar.gz: 219d7eaa6be7ad7776bc13417d5b6314f4b7cfaa99df876b84c33b2960cc60a331577abed1e6d7825feb4209e549de5eacf64c40fbe8b9535da40019f08a8d28
6
+ metadata.gz: f45f0701f57c0f7ff66c2d221275291645236d0f5591cfb569f37be457d3da85de796c0a75d4dfd23b76fbc5f3c3d707dcdc8d9ff6b5a008a06c3353aa590043
7
+ data.tar.gz: c343b4b6a791cfa69718a717a41b84c9fdd48e4c31d1562187511b0a450c6a4e41a3320a55e9adf16514a5f8e1ed8afd7df2753b732bf7b4fcbfc46d28bcc152
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.4.2
1
+ 1.5.0
data/hackmac.gemspec CHANGED
@@ -1,9 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: hackmac 1.4.2 ruby lib
2
+ # stub: hackmac 1.5.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "hackmac".freeze
6
- s.version = "1.4.2"
6
+ s.version = "1.5.0"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
@@ -8,13 +8,12 @@ class Hackmac::Graph
8
8
  end
9
9
 
10
10
  def to_s
11
- ANSI.color(color) {
12
- ANSI.on_color(on_color) {
13
- styles.inject(char) { |c, s|
14
- ANSI.send(s) { c }
15
- }
16
- }
17
- }
11
+ result = ''
12
+ result << ANSI.color(color)
13
+ result << ANSI.on_color(on_color)
14
+ styles.each { |s| result << ANSI.send(s) }
15
+ result << char
16
+ result << ANSI.reset
18
17
  end
19
18
  end
20
19
 
data/lib/hackmac/graph.rb CHANGED
@@ -64,13 +64,14 @@ class Hackmac::Graph
64
64
  full_reset
65
65
  color = pick_color
66
66
  color_light = color.to_rgb_triple.to_hsl_triple.lighten(15) rescue color
67
- i = 0
67
+ @counter = -1
68
68
  @continue = true
69
69
  while @continue
70
+ @start = Time.now
70
71
  @full_reset and full_reset
71
72
  perform hide_cursor
72
73
 
73
- @data << @value.(i)
74
+ @data << @value.(@counter += 1)
74
75
  @data = data.last(columns)
75
76
 
76
77
  y_width = (data.max - data.min).to_f
@@ -103,6 +104,7 @@ class Hackmac::Graph
103
104
  perform_display_diff
104
105
  sleep_now
105
106
  end
107
+ rescue Interrupt
106
108
  ensure
107
109
  stop
108
110
  end
@@ -154,7 +156,12 @@ class Hackmac::Graph
154
156
  end
155
157
 
156
158
  def sleep_now
157
- sleep @sleep
159
+ duration = if @start
160
+ [ @sleep - (Time.now - @start).to_f, 0 ].max
161
+ else
162
+ @sleep
163
+ end
164
+ sleep duration
158
165
  end
159
166
 
160
167
  def perform_display_diff
@@ -162,7 +169,16 @@ class Hackmac::Graph
162
169
  unless @old_display && @old_display.dimensions == @display.dimensions
163
170
  @old_display = @display.dup.clear
164
171
  end
165
- perform @display - @old_display
172
+ diff = @display - @old_display
173
+ if ENV['DEBUG_BYTESIZE']
174
+ unless @last
175
+ STDERR.puts %w[ size duration ] * ?\t
176
+ else
177
+ STDERR.puts [ diff.size, (Time.now - @last).to_f ] * ?\t
178
+ end
179
+ @last = Time.now
180
+ end
181
+ perform diff
166
182
  @display, @old_display = @old_display.clear, @display
167
183
  perform move_to(lines, columns)
168
184
  end
@@ -1,6 +1,6 @@
1
1
  module Hackmac
2
2
  # Hackmac version
3
- VERSION = '1.4.2'
3
+ VERSION = '1.5.0'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hackmac
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.2
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank