hiiro 0.1.100 → 0.1.101.pre.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 +4 -4
- data/lib/hiiro/matcher.rb +15 -9
- data/lib/hiiro/options.rb +15 -0
- data/lib/hiiro/version.rb +1 -1
- data/lib/hiiro.rb +1 -0
- data/plugins/pins.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4527fe0aa477f01194723db640e4b86a0ec1776b95e3abdc8e5434d7646d8c57
|
|
4
|
+
data.tar.gz: 5241c8faa013b8e3df039dbbe863bed8ffe1fa4e08241b75f200fab920c77c8a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6c562bb508e429ce9584a1d2f8e1a1ceca7be83a4535596568460621bc18fa809465f3b6db73e6d9892db44186587d964789d0ec486227f3739bc9fb68285059
|
|
7
|
+
data.tar.gz: a87e98e4b21bdcd588c7f59776c8acee9ddac3e1ef074669e38ee566fc04bdd53cb6c39d3ddf8ee33c75cff26fa73fa924f25d2a0d02fe10528f67722f9f2cfb
|
data/lib/hiiro/matcher.rb
CHANGED
|
@@ -1,37 +1,43 @@
|
|
|
1
1
|
class Hiiro
|
|
2
2
|
class Matcher
|
|
3
3
|
class << self
|
|
4
|
-
# Prefix matching class methods
|
|
4
|
+
# Prefix matching class methods - return unwrapped values for backward compatibility
|
|
5
5
|
def find(items, prefix, key: nil, &block)
|
|
6
|
-
new(items, key, &block).by_prefix(prefix)
|
|
6
|
+
result = new(items, key, &block).by_prefix(prefix)
|
|
7
|
+
result.first&.item
|
|
7
8
|
end
|
|
8
9
|
|
|
9
10
|
def find_all(items, prefix, key: nil, &block)
|
|
10
|
-
new(items, key, &block).by_prefix(prefix)
|
|
11
|
+
result = new(items, key, &block).by_prefix(prefix)
|
|
12
|
+
result.matches.map(&:item)
|
|
11
13
|
end
|
|
12
14
|
|
|
13
15
|
def resolve(items, prefix, key: nil, &block)
|
|
14
|
-
new(items, key, &block).by_prefix(prefix)
|
|
16
|
+
result = new(items, key, &block).by_prefix(prefix)
|
|
17
|
+
result.resolved&.item
|
|
15
18
|
end
|
|
16
19
|
|
|
17
20
|
def find_path(items, prefix, key: nil, &block)
|
|
18
|
-
new(items, key, &block).find_path(prefix)
|
|
21
|
+
result = new(items, key, &block).find_path(prefix)
|
|
22
|
+
result.first&.item
|
|
19
23
|
end
|
|
20
24
|
|
|
21
25
|
def find_all_paths(items, prefix, key: nil, &block)
|
|
22
|
-
new(items, key, &block).find_all_paths(prefix)
|
|
26
|
+
result = new(items, key, &block).find_all_paths(prefix)
|
|
27
|
+
result.matches.map(&:item)
|
|
23
28
|
end
|
|
24
29
|
|
|
25
30
|
def resolve_path(items, prefix, key: nil, &block)
|
|
26
|
-
new(items, key, &block).resolve_path(prefix)
|
|
31
|
+
result = new(items, key, &block).resolve_path(prefix)
|
|
32
|
+
result.resolved&.item
|
|
27
33
|
end
|
|
28
34
|
|
|
29
|
-
# Substring matching class methods
|
|
35
|
+
# Substring matching class methods - returns Result object
|
|
30
36
|
def by_substring(items, substring, key: nil, &block)
|
|
31
37
|
new(items, key, &block).by_substring(substring)
|
|
32
38
|
end
|
|
33
39
|
|
|
34
|
-
# Prefix matching class methods (explicit)
|
|
40
|
+
# Prefix matching class methods (explicit) - returns Result object
|
|
35
41
|
def by_prefix(items, prefix, key: nil, &block)
|
|
36
42
|
new(items, key, &block).by_prefix(prefix)
|
|
37
43
|
end
|
data/lib/hiiro/options.rb
CHANGED
|
@@ -10,7 +10,22 @@ class Hiiro
|
|
|
10
10
|
new(&block)
|
|
11
11
|
end
|
|
12
12
|
|
|
13
|
+
# Support both: new(&block) for setup, or new(args, &block) for parse
|
|
14
|
+
def self.new(args = nil, &block)
|
|
15
|
+
instance = allocate
|
|
16
|
+
instance.send(:base_initialize, &block)
|
|
17
|
+
if args
|
|
18
|
+
instance.parse!(args)
|
|
19
|
+
else
|
|
20
|
+
instance
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
13
24
|
def initialize(&block)
|
|
25
|
+
base_initialize(&block)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
private def base_initialize(&block)
|
|
14
29
|
@definitions = {}
|
|
15
30
|
flag(:help, short: 'h', desc: 'Show this help message')
|
|
16
31
|
instance_eval(&block) if block
|
data/lib/hiiro/version.rb
CHANGED
data/lib/hiiro.rb
CHANGED
data/plugins/pins.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hiiro
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.101.pre.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Joshua Toyota
|
|
@@ -149,9 +149,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
149
149
|
version: 2.7.0
|
|
150
150
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
151
151
|
requirements:
|
|
152
|
-
- - "
|
|
152
|
+
- - ">"
|
|
153
153
|
- !ruby/object:Gem::Version
|
|
154
|
-
version:
|
|
154
|
+
version: 1.3.1
|
|
155
155
|
requirements: []
|
|
156
156
|
rubygems_version: 3.3.7
|
|
157
157
|
signing_key:
|