hackmac 0.3.4 → 0.4.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: f25cc8626236ba947d5d0b80832612e3cab36b86e625d68fd89efb2549e600ef
4
- data.tar.gz: bcb21df5c03cb05b09c432c61e7f18475a7be130cb695e499b963f6f8a49a321
3
+ metadata.gz: d7acc13fd5dee07de07b479330881c9c630179f8dc785400c2effaea44c3190c
4
+ data.tar.gz: 2bb42e69cd439b93d38e9abd06cfb4142e3e987b1f049135e13416b2f610d099
5
5
  SHA512:
6
- metadata.gz: 50330b8e379462829f47fec861fc2492608535aa5c3ac6550fec8b25531b15148f872f1e9cac280c315ef65b331c6a3ed4152042344675aec8b0e0ec90b77307
7
- data.tar.gz: 614b174361b3efa2bfd3d4a92110e62e06aed129f864589f30d7b1894de8ceffd8c6623cb2a1689e10d240e2cd2efd85465d52d70863a99f493efaa9e756f73c
6
+ metadata.gz: cd15589d99e9f8c25ed2ab45f44a584e7e02786c1b0bdcaaec0dea2becc74a7cdfe3f26170af2e16b440842169c10dbd0c06864b16fb045d9c2e0a28fd1f3934
7
+ data.tar.gz: a6a78acc6c898182d4614f6bab884de53d9a5540eadf84eae6bea708cdbc88dda3a3f72b41fea3cc0af458011a60ce93c75b8116c8c3d6c0c458216c1bdc3bc9
data/Rakefile CHANGED
@@ -22,5 +22,6 @@ GemHadar do
22
22
  dependency 'amatch'
23
23
  dependency 'plist'
24
24
  dependency 'tabulo'
25
+ dependency 'search_ui'
25
26
  development_dependency 'byebug'
26
27
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.4
1
+ 0.4.0
data/bin/gfxmon CHANGED
@@ -10,6 +10,8 @@ end
10
10
  require 'hackmac'
11
11
  include Hackmac
12
12
  require 'amatch'
13
+ require 'search_ui'
14
+ include SearchUI
13
15
 
14
16
  $opts = go 'c:g:n:jlh', defaults: { ?s => true, ?n => 10 }
15
17
 
@@ -62,7 +64,7 @@ def choose_metric(ps)
62
64
  case metric = $opts[?g]
63
65
  when nil
64
66
  ps_names = ps.keys
65
- metric = SearchUI.new(
67
+ metric = Search.new(
66
68
  match: -> answer {
67
69
  matcher = Amatch::PairDistance.new(answer.downcase)
68
70
  matches = ps_names.map { |n| [ n, -matcher.similar(n.downcase) ] }.
data/hackmac.gemspec CHANGED
@@ -1,19 +1,19 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: hackmac 0.3.4 ruby lib
2
+ # stub: hackmac 0.4.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "hackmac".freeze
6
- s.version = "0.3.4"
6
+ s.version = "0.4.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]
10
10
  s.authors = ["Florian Frank".freeze]
11
- s.date = "2020-02-07"
11
+ s.date = "2020-02-11"
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 = ["gfxmon".freeze, "usb".freeze, "efi".freeze]
15
- s.extra_rdoc_files = ["README.md".freeze, "lib/hackmac.rb".freeze, "lib/hackmac/config.rb".freeze, "lib/hackmac/disks.rb".freeze, "lib/hackmac/kext.rb".freeze, "lib/hackmac/kext_source.rb".freeze, "lib/hackmac/plist.rb".freeze, "lib/hackmac/search_ui.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/config.rb".freeze, "lib/hackmac/disks.rb".freeze, "lib/hackmac/kext.rb".freeze, "lib/hackmac/kext_source.rb".freeze, "lib/hackmac/plist.rb".freeze, "lib/hackmac/search_ui.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/config.rb".freeze, "lib/hackmac/disks.rb".freeze, "lib/hackmac/kext.rb".freeze, "lib/hackmac/kext_source.rb".freeze, "lib/hackmac/plist.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/config.rb".freeze, "lib/hackmac/disks.rb".freeze, "lib/hackmac/kext.rb".freeze, "lib/hackmac/kext_source.rb".freeze, "lib/hackmac/plist.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.1.2".freeze
@@ -32,6 +32,7 @@ Gem::Specification.new do |s|
32
32
  s.add_runtime_dependency(%q<amatch>.freeze, [">= 0"])
33
33
  s.add_runtime_dependency(%q<plist>.freeze, [">= 0"])
34
34
  s.add_runtime_dependency(%q<tabulo>.freeze, [">= 0"])
35
+ s.add_runtime_dependency(%q<search_ui>.freeze, [">= 0"])
35
36
  else
36
37
  s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.11.0"])
37
38
  s.add_dependency(%q<byebug>.freeze, [">= 0"])
@@ -41,5 +42,6 @@ Gem::Specification.new do |s|
41
42
  s.add_dependency(%q<amatch>.freeze, [">= 0"])
42
43
  s.add_dependency(%q<plist>.freeze, [">= 0"])
43
44
  s.add_dependency(%q<tabulo>.freeze, [">= 0"])
45
+ s.add_dependency(%q<search_ui>.freeze, [">= 0"])
44
46
  end
45
47
  end
@@ -1,6 +1,6 @@
1
1
  module Hackmac
2
2
  # Hackmac version
3
- VERSION = '0.3.4'
3
+ VERSION = '0.4.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:
data/lib/hackmac.rb CHANGED
@@ -5,7 +5,6 @@ require 'json'
5
5
  require 'tins/xt'
6
6
  require 'hackmac/version'
7
7
  require 'hackmac/plist'
8
- require 'hackmac/search_ui'
9
8
  require 'hackmac/disks'
10
9
  require 'hackmac/kext'
11
10
  require 'hackmac/kext_source'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hackmac
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-07 00:00:00.000000000 Z
11
+ date: 2020-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem_hadar
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: search_ui
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
125
139
  description: This ruby gem provides some useful tools for working with a Hackintosh.
126
140
  email: flori@ping.de
127
141
  executables:
@@ -137,7 +151,6 @@ extra_rdoc_files:
137
151
  - lib/hackmac/kext.rb
138
152
  - lib/hackmac/kext_source.rb
139
153
  - lib/hackmac/plist.rb
140
- - lib/hackmac/search_ui.rb
141
154
  - lib/hackmac/utils.rb
142
155
  - lib/hackmac/version.rb
143
156
  files:
@@ -156,7 +169,6 @@ files:
156
169
  - lib/hackmac/kext.rb
157
170
  - lib/hackmac/kext_source.rb
158
171
  - lib/hackmac/plist.rb
159
- - lib/hackmac/search_ui.rb
160
172
  - lib/hackmac/utils.rb
161
173
  - lib/hackmac/version.rb
162
174
  homepage: http://github.com/flori/hackmac
@@ -1,87 +0,0 @@
1
- require 'term/ansicolor'
2
-
3
- class Hackmac::SearchUI
4
- include Term::ANSIColor
5
-
6
- def initialize(
7
- match:,
8
- query:,
9
- found:,
10
- output: STDOUT,
11
- prompt: 'Search? %s'
12
- )
13
- @match = match
14
- @query = query
15
- @found = found
16
- @output = output
17
- @prompt = prompt
18
- @selector = 0
19
- @max_selector = nil
20
- @answer = ''
21
- end
22
-
23
- def start
24
- @output.print reset
25
- @matches = @match.(@answer)
26
- @selector = [ 0, [ @selector, @matches.size - 1 ].min ].max
27
- result = @query.(@answer, @matches, @selector)
28
- @output.print clear_screen
29
- @output.print move_home { ?\n + result }
30
- loop do
31
- @output.print move_home { @prompt % @answer }
32
- case getc
33
- when true
34
- @output.print clear_screen, move_home, reset
35
- if result = @found.(@answer, @matches, @selector)
36
- return result
37
- else
38
- return nil
39
- end
40
- when false
41
- return nil
42
- end
43
- @matches = @match.(@answer)
44
- @selector = [ 0, [ @selector, @matches.size - 1 ].min ].max
45
- result = @query.(@answer, @matches, @selector)
46
- @output.print clear_screen
47
- @output.print move_home { ?\n + result }
48
- end
49
- end
50
-
51
- private
52
-
53
- def getc
54
- system 'stty raw -echo'
55
- c = STDIN.getc
56
- system 'stty cooked echo'
57
- case c
58
- when "\x03"
59
- false
60
- when "\e"
61
- STDIN.getc == ?[ or return nil
62
- STDIN.getc =~ /\A([AB])\z/ or return nil
63
- if $1 == ?A
64
- @selector -= 1
65
- else
66
- @selector += 1
67
- end
68
- nil
69
- when ?\r
70
- true
71
- when "\x7f"
72
- @selector = 0
73
- @answer.chop!
74
- nil
75
- when "\v"
76
- @selector = 0
77
- @answer.clear
78
- nil
79
- when /\A[\x00-\x1f]\z/
80
- nil
81
- else
82
- @selector = 0
83
- @answer << c
84
- nil
85
- end
86
- end
87
- end