ansi-select 0.2.3 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1 -1
- data/README.md +6 -2
- data/lib/ansi/selector.rb +4 -1
- data/lib/ansi/selector/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57447ede8f4f47c5c3d688e5bba3955d526c42be
|
4
|
+
data.tar.gz: 233e93ab7cc78065f77bbeffd8e37f33036cb87b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 037cf9989e8c19b142355f9951fd6c5bc0679ce4677adc588f0dca34cad3ddc480158d035ea0398574e2df98b875f849ad2e44f2567c7abd2c439b65735a4a86
|
7
|
+
data.tar.gz: 2c0a5b1562c9f7164bc19b486c3f187a54cc8a7605fff55ceb9ee9df8cb64dd6d3461defb902442954caacda5b70c4f5b625c7abe78d5cdba3fb08bdcde225ff
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -34,8 +34,12 @@ print "Here's your #{beverage}. "
|
|
34
34
|
print "We've also added #{additions.join(', ')}." if additions.present?
|
35
35
|
```
|
36
36
|
|
37
|
-
The Ruby interface has an additional benefit of accepting any objects
|
38
|
-
|
37
|
+
The Ruby interface has an additional benefit of accepting and returning any objects instead of strings.
|
38
|
+
Also, if you'd like a custom formatter for them, you can pass it as a second option (the default one calls `#to_s`):
|
39
|
+
|
40
|
+
```ruby
|
41
|
+
Ansi::Selector.select(objects, ->(object) { "❤❤❤#{object}❤❤❤" })
|
42
|
+
```
|
39
43
|
|
40
44
|
|
41
45
|
## Keyboard
|
data/lib/ansi/selector.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module Ansi
|
2
2
|
class Selector
|
3
3
|
# @param [Array<Object>] options
|
4
|
+
# @param [Proc] formatter
|
4
5
|
#
|
5
6
|
# @return [Object] option
|
6
7
|
def self.select(options, formatter = default_formatter)
|
@@ -10,6 +11,7 @@ module Ansi
|
|
10
11
|
end
|
11
12
|
|
12
13
|
# @param [Array<Object>] options
|
14
|
+
# @param [Proc] formatter
|
13
15
|
#
|
14
16
|
# @return [Array<Object>] option
|
15
17
|
def self.multi_select(options, formatter = default_formatter)
|
@@ -20,8 +22,9 @@ module Ansi
|
|
20
22
|
|
21
23
|
private
|
22
24
|
|
25
|
+
# @return [Proc]
|
23
26
|
def default_formatter
|
24
|
-
->(
|
27
|
+
->(option) { option.name }
|
25
28
|
end
|
26
29
|
end
|
27
30
|
end
|