hackmac 1.4.2 → 1.5.1

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