hackmac 0.3.4 → 0.4.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: 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