hackmac 1.4.2 → 1.5.0

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: 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