hackmac 1.4.2 → 1.5.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: 6edb17b3e73dbb6bc5112bfd85a8bb50c32c9be7e860cc97d11f98bb6a2e9d04
4
- data.tar.gz: 120072142fb649a5d2cd933e27c0f9b0aeaa6c0d68721ed392e1b39478ae66dd
3
+ metadata.gz: 7d2e09f61b472bf19fbb85142a92aa175348fb0aedce25c79a9cbe0654f66aa7
4
+ data.tar.gz: 3e20f96c16ffb79f894d12059d9fd1dcbf59e7793064f7401e5b706cb17f88b1
5
5
  SHA512:
6
- metadata.gz: 5e78be62b57bdfe29961dd9ce3d334cfa7d6e1abdad8b30be9ecc9c2cd265d5543f992e0eaaf234b490e681e63c5b3f93252cd3c924c43ca3df1beb21df7d814
7
- data.tar.gz: 219d7eaa6be7ad7776bc13417d5b6314f4b7cfaa99df876b84c33b2960cc60a331577abed1e6d7825feb4209e549de5eacf64c40fbe8b9535da40019f08a8d28
6
+ metadata.gz: ae473329bba9f586367c9cb47ec3edda9a1487d75c15083342aa12885d8d271f3b7d08431143c926af39f6458ea743a3598022b3df62eee406020fa97e5ea8d7
7
+ data.tar.gz: 65964bdb942e2f9da625e1914a98d172ba152678c2618845fd664a179554c5874f0d166ad04e4605e659bcab7717ed04727671b7f675d21a764f8c6cdacfbf9d
data/Rakefile CHANGED
@@ -23,5 +23,6 @@ GemHadar do
23
23
  dependency 'plist'
24
24
  dependency 'tabulo'
25
25
  dependency 'search_ui'
26
+ dependency 'hashie'
26
27
  development_dependency 'debug'
27
28
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.4.2
1
+ 1.5.1
data/bin/gfxmon CHANGED
@@ -33,16 +33,7 @@ def usage
33
33
  end
34
34
 
35
35
  def ps
36
- `ioreg -l`.lines.find { |l|
37
- if l =~ /"PerformanceStatistics" = {([^}]+)}/
38
- break Hash[
39
- $1.split(?,).map { |a|
40
- a = a.split(?=)
41
- [ a[0][1..-2], (Integer(a[1]) rescue a[1]) ]
42
- }.sort_by { |name, _| name.downcase }
43
- ]
44
- end
45
- }
36
+ Hackmac::IOReg.new(key: 'PerformanceStatistics').as_hash
46
37
  end
47
38
 
48
39
  def list(ps)
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.1 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.1"
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]
@@ -12,8 +12,8 @@ Gem::Specification.new do |s|
12
12
  s.description = "This ruby gem provides some useful tools for working with a Hackintosh.".freeze
13
13
  s.email = "flori@ping.de".freeze
14
14
  s.executables = ["efi".freeze, "gfxmon".freeze, "usb".freeze]
15
- s.extra_rdoc_files = ["README.md".freeze, "lib/hackmac.rb".freeze, "lib/hackmac/asset_tools.rb".freeze, "lib/hackmac/config.rb".freeze, "lib/hackmac/disks.rb".freeze, "lib/hackmac/github_source.rb".freeze, "lib/hackmac/graph.rb".freeze, "lib/hackmac/graph/display.rb".freeze, "lib/hackmac/kext.rb".freeze, "lib/hackmac/kext_upgrader.rb".freeze, "lib/hackmac/oc.rb".freeze, "lib/hackmac/oc_upgrader.rb".freeze, "lib/hackmac/oc_validator.rb".freeze, "lib/hackmac/plist.rb".freeze, "lib/hackmac/url_download.rb".freeze, "lib/hackmac/utils.rb".freeze, "lib/hackmac/version.rb".freeze]
16
- s.files = [".gitignore".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "bin/efi".freeze, "bin/gfxmon".freeze, "bin/usb".freeze, "hackmac.gemspec".freeze, "lib/hackmac.rb".freeze, "lib/hackmac/asset_tools.rb".freeze, "lib/hackmac/config.rb".freeze, "lib/hackmac/disks.rb".freeze, "lib/hackmac/github_source.rb".freeze, "lib/hackmac/graph.rb".freeze, "lib/hackmac/graph/display.rb".freeze, "lib/hackmac/hackmac.yml".freeze, "lib/hackmac/kext.rb".freeze, "lib/hackmac/kext_upgrader.rb".freeze, "lib/hackmac/oc.rb".freeze, "lib/hackmac/oc_upgrader.rb".freeze, "lib/hackmac/oc_validator.rb".freeze, "lib/hackmac/plist.rb".freeze, "lib/hackmac/url_download.rb".freeze, "lib/hackmac/utils.rb".freeze, "lib/hackmac/version.rb".freeze]
15
+ s.extra_rdoc_files = ["README.md".freeze, "lib/hackmac.rb".freeze, "lib/hackmac/asset_tools.rb".freeze, "lib/hackmac/config.rb".freeze, "lib/hackmac/disks.rb".freeze, "lib/hackmac/github_source.rb".freeze, "lib/hackmac/graph.rb".freeze, "lib/hackmac/graph/display.rb".freeze, "lib/hackmac/ioreg.rb".freeze, "lib/hackmac/kext.rb".freeze, "lib/hackmac/kext_upgrader.rb".freeze, "lib/hackmac/oc.rb".freeze, "lib/hackmac/oc_upgrader.rb".freeze, "lib/hackmac/oc_validator.rb".freeze, "lib/hackmac/plist.rb".freeze, "lib/hackmac/url_download.rb".freeze, "lib/hackmac/utils.rb".freeze, "lib/hackmac/version.rb".freeze]
16
+ s.files = [".gitignore".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "bin/efi".freeze, "bin/gfxmon".freeze, "bin/usb".freeze, "hackmac.gemspec".freeze, "lib/hackmac.rb".freeze, "lib/hackmac/asset_tools.rb".freeze, "lib/hackmac/config.rb".freeze, "lib/hackmac/disks.rb".freeze, "lib/hackmac/github_source.rb".freeze, "lib/hackmac/graph.rb".freeze, "lib/hackmac/graph/display.rb".freeze, "lib/hackmac/hackmac.yml".freeze, "lib/hackmac/ioreg.rb".freeze, "lib/hackmac/kext.rb".freeze, "lib/hackmac/kext_upgrader.rb".freeze, "lib/hackmac/oc.rb".freeze, "lib/hackmac/oc_upgrader.rb".freeze, "lib/hackmac/oc_validator.rb".freeze, "lib/hackmac/plist.rb".freeze, "lib/hackmac/url_download.rb".freeze, "lib/hackmac/utils.rb".freeze, "lib/hackmac/version.rb".freeze]
17
17
  s.homepage = "http://github.com/flori/hackmac".freeze
18
18
  s.rdoc_options = ["--title".freeze, "Hackmac - Some useful tools for working with a Hackintosh".freeze, "--main".freeze, "README.md".freeze]
19
19
  s.rubygems_version = "3.3.26".freeze
@@ -33,6 +33,7 @@ Gem::Specification.new do |s|
33
33
  s.add_runtime_dependency(%q<plist>.freeze, [">= 0"])
34
34
  s.add_runtime_dependency(%q<tabulo>.freeze, [">= 0"])
35
35
  s.add_runtime_dependency(%q<search_ui>.freeze, [">= 0"])
36
+ s.add_runtime_dependency(%q<hashie>.freeze, [">= 0"])
36
37
  else
37
38
  s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
38
39
  s.add_dependency(%q<debug>.freeze, [">= 0"])
@@ -43,5 +44,6 @@ Gem::Specification.new do |s|
43
44
  s.add_dependency(%q<plist>.freeze, [">= 0"])
44
45
  s.add_dependency(%q<tabulo>.freeze, [">= 0"])
45
46
  s.add_dependency(%q<search_ui>.freeze, [">= 0"])
47
+ s.add_dependency(%q<hashie>.freeze, [">= 0"])
46
48
  end
47
49
  end
@@ -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
@@ -0,0 +1,13 @@
1
+ require 'hashie'
2
+
3
+ module Hackmac
4
+ class IOReg
5
+ include Hackmac::Plist
6
+
7
+ def initialize(key:)
8
+ plist *(%w[ioreg -a -p IOService -r -k ] << key)
9
+ @plist.extend Hashie::Extensions::DeepFind
10
+ @plist = @plist.deep_find_all(key).max_by(&:size)
11
+ end
12
+ end
13
+ end
@@ -1,6 +1,6 @@
1
1
  module Hackmac
2
2
  # Hackmac version
3
- VERSION = '1.4.2'
3
+ VERSION = '1.5.1'
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:
data/lib/hackmac.rb CHANGED
@@ -7,6 +7,7 @@ require 'tins/xt'
7
7
  require 'hackmac/version'
8
8
  require 'hackmac/plist'
9
9
  require 'hackmac/disks'
10
+ require 'hackmac/ioreg'
10
11
  require 'hackmac/asset_tools'
11
12
  require 'hackmac/github_source'
12
13
  require 'hackmac/url_download'
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.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: hashie
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
139
153
  description: This ruby gem provides some useful tools for working with a Hackintosh.
140
154
  email: flori@ping.de
141
155
  executables:
@@ -152,6 +166,7 @@ extra_rdoc_files:
152
166
  - lib/hackmac/github_source.rb
153
167
  - lib/hackmac/graph.rb
154
168
  - lib/hackmac/graph/display.rb
169
+ - lib/hackmac/ioreg.rb
155
170
  - lib/hackmac/kext.rb
156
171
  - lib/hackmac/kext_upgrader.rb
157
172
  - lib/hackmac/oc.rb
@@ -179,6 +194,7 @@ files:
179
194
  - lib/hackmac/graph.rb
180
195
  - lib/hackmac/graph/display.rb
181
196
  - lib/hackmac/hackmac.yml
197
+ - lib/hackmac/ioreg.rb
182
198
  - lib/hackmac/kext.rb
183
199
  - lib/hackmac/kext_upgrader.rb
184
200
  - lib/hackmac/oc.rb