output_mode 1.5.1 → 1.5.2
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/output_mode/callable.rb +13 -7
- data/lib/output_mode/outputs/templated.rb +2 -3
- data/lib/output_mode/tldr/show.rb +1 -1
- data/lib/output_mode/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a4518dd66cf4b3d2a7ea9ea255c3a5835a6075eea24f62620b39f62b405a625b
|
|
4
|
+
data.tar.gz: bdcd16455d48e576ce18ea2793613b99bef8424ce9c504aff210f1f7a62e7f2e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d622a5d10d8e93d2787fa7fa7916e43d984af483181c52158ab747d3556196d97fa2425da9d99538bb1d4b193d14c75d1a77763a3ba2de336312666af8350409
|
|
7
|
+
data.tar.gz: 56f15aa86585eb8c6c7ba598d8780b597649305453162574e14b0116257a62ad2689e68daadb29328eb4c58f51a15e7737cf62650ea7f326bcf18c04c1bf2687
|
data/lib/output_mode/callable.rb
CHANGED
|
@@ -56,13 +56,19 @@ module OutputMode
|
|
|
56
56
|
@callables.each(&block)
|
|
57
57
|
end
|
|
58
58
|
|
|
59
|
-
def pad_each(
|
|
59
|
+
def pad_each(*ctx, **input_opts)
|
|
60
60
|
fields = self.map do |callables|
|
|
61
|
-
field = callables.config[
|
|
62
|
-
if field.respond_to?(:call)
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
61
|
+
field = callables.config[:header]
|
|
62
|
+
if field.respond_to?(:call)
|
|
63
|
+
opts = if field.parameters.include?(:keyrest)
|
|
64
|
+
input_opts.dup
|
|
65
|
+
else
|
|
66
|
+
keys = field.parameters
|
|
67
|
+
.select { |type, _| [:key, :keyreq].include?(type) }
|
|
68
|
+
.map { |_, k| k }
|
|
69
|
+
input_opts.slice(*keys)
|
|
70
|
+
end
|
|
71
|
+
opts.empty? ? field.call(*ctx) : field.call(*ctx, **opts)
|
|
66
72
|
else
|
|
67
73
|
field.to_s
|
|
68
74
|
end
|
|
@@ -76,7 +82,7 @@ module OutputMode
|
|
|
76
82
|
end
|
|
77
83
|
|
|
78
84
|
if block_given?
|
|
79
|
-
pads.each {
|
|
85
|
+
pads.each { |c, opts| yield(c, **opts) }
|
|
80
86
|
else
|
|
81
87
|
pads.each
|
|
82
88
|
end
|
|
@@ -49,10 +49,9 @@ module OutputMode
|
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
# Yield each selected attribute
|
|
52
|
-
objs = callables.pad_each.map do |callable, padding:|
|
|
52
|
+
objs = callables.pad_each(model, **output.context).map do |callable, padding:, field:|
|
|
53
53
|
value = callable.generator(output).call(model)
|
|
54
|
-
field
|
|
55
|
-
[value, {field: field, padding: padding }]
|
|
54
|
+
[value, { field: field, padding: padding }]
|
|
56
55
|
end
|
|
57
56
|
|
|
58
57
|
# Runs the provided block
|
|
@@ -39,7 +39,7 @@ module OutputMode
|
|
|
39
39
|
# @param section: Define the grouping a callable belongs to. Ignored by default
|
|
40
40
|
# @param modes: Additional modes flags for the callable
|
|
41
41
|
# @yieldparam model The subject the column is describing, some sort of data model
|
|
42
|
-
def register_callable(modes: {}, header:, verbose: nil, interactive: nil, section: :
|
|
42
|
+
def register_callable(modes: {}, header:, verbose: nil, interactive: nil, section: :default, &b)
|
|
43
43
|
modes = modes.map { |m| [m, true] }.to_h if modes.is_a? Array
|
|
44
44
|
super(modes: modes.merge(verbose: verbose, interactive: interactive),
|
|
45
45
|
header: header,
|
data/lib/output_mode/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: output_mode
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.5.
|
|
4
|
+
version: 1.5.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- William McCumsite
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-05-
|
|
11
|
+
date: 2021-05-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: tty-table
|