k_log 0.0.29 → 0.0.30
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/k_log/log_structure.rb +27 -16
- data/lib/k_log/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: 328dd6fd19c8872158c3de15cbcb0bc2cf222ca2124b8d03ce81a81040cd1411
|
4
|
+
data.tar.gz: f44defe61b5895b2505725c2cbad5c27c45c93e155e25460a85d1a083f1cb775
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0753d0d203b0673a2526368fa92a6cd6fc0c7ba42f6d425dbaba54b489b9db8e8865bbba2a1b6c22804c6e47b74e1f885b1cb11c85cb9c922fb99d34c30ea21d
|
7
|
+
data.tar.gz: 436f881ffb78b39ded0f7d2649712286c74c39e104991b8fd28cfc7b7dc7417c91f64030d82ab9a54bb3d17ce6d6ae7c64bfe2ccc955b2ccff6f71b43d5dd72e
|
data/lib/k_log/log_structure.rb
CHANGED
@@ -12,6 +12,7 @@ module KLog
|
|
12
12
|
attr_reader :heading_type
|
13
13
|
attr_reader :line_width
|
14
14
|
attr_reader :key_width
|
15
|
+
attr_reader :show_array_count
|
15
16
|
attr_reader :graph
|
16
17
|
attr_reader :formatter
|
17
18
|
attr_reader :convert_data_to
|
@@ -51,6 +52,7 @@ module KLog
|
|
51
52
|
|
52
53
|
@line_width = opts[:line_width] || 80
|
53
54
|
@key_width = opts[:key_width] || 30
|
55
|
+
@show_array_count = opts[:show_array_count] || false
|
54
56
|
@output_as = opts[:output_as] || [:console]
|
55
57
|
@output_as = [@output_as] unless @output_as.is_a?(Array)
|
56
58
|
@output_file = opts[:output_file]
|
@@ -107,6 +109,7 @@ module KLog
|
|
107
109
|
|
108
110
|
def data_enumerator(data)
|
109
111
|
return data.attributes if data.respond_to?(:attributes)
|
112
|
+
|
110
113
|
data
|
111
114
|
end
|
112
115
|
|
@@ -115,7 +118,7 @@ module KLog
|
|
115
118
|
key = k.is_a?(String) ? k.to_sym : k
|
116
119
|
|
117
120
|
graph_path.push(key)
|
118
|
-
@graph_node = GraphNode.for(graph, graph_path)
|
121
|
+
@graph_node = GraphNode.for(self, graph, graph_path)
|
119
122
|
# l.kv 'key', "#{key.to_s.ljust(15)}#{graph_node.skip?.to_s.ljust(6)}#{@recursion_depth}"
|
120
123
|
|
121
124
|
if graph_node.skip?
|
@@ -124,25 +127,24 @@ module KLog
|
|
124
127
|
next
|
125
128
|
end
|
126
129
|
|
127
|
-
|
130
|
+
'puts xmen' if graph_node.pry_at?(:before_value)
|
128
131
|
|
129
132
|
value = graph_node.transform? ? graph_node.transform(v) : v
|
130
133
|
|
131
|
-
|
132
|
-
|
133
|
-
when value.is_a?(OpenStruct) || value.respond_to?(:attributes)
|
134
|
+
'puts xmen' if graph_node.pry_at?(:after_value)
|
135
|
+
if value.is_a?(OpenStruct) || value.respond_to?(:attributes)
|
134
136
|
|
135
137
|
# l.kv 'go', 'open struct ->'
|
136
|
-
|
138
|
+
'puts xmen' if graph_node.pry_at?(:before_structure)
|
137
139
|
log_structure(key, value)
|
138
140
|
# l.kv 'go', 'open struct <-'
|
139
|
-
|
141
|
+
elsif value.is_a?(Array)
|
140
142
|
# l.kv 'go', 'array ->'
|
141
143
|
log_array(key, value)
|
142
144
|
# l.kv 'go', 'array <-'
|
143
145
|
else
|
144
146
|
# l.kv 'go', 'value ->'
|
145
|
-
|
147
|
+
'puts xmen' if graph_node.pry_at?(:before_kv)
|
146
148
|
log_heading(graph_node.heading, graph_node.heading_type) if graph_node.heading
|
147
149
|
add_line KLog::LogHelper.kv("#{@indent_label}#{key}", value, key_width)
|
148
150
|
# l.kv 'go', 'value <-'
|
@@ -169,14 +171,14 @@ module KLog
|
|
169
171
|
end
|
170
172
|
|
171
173
|
def log_array(key, array)
|
172
|
-
|
174
|
+
'puts xmen' if graph_node.pry_at?(:before_array)
|
173
175
|
|
174
176
|
items = array.clone
|
175
177
|
items.select! { |item| graph_node.filter(item) } if graph_node.filter?
|
176
178
|
items = items.take(graph_node.take) if graph_node.limited?
|
177
179
|
items.sort!(&graph_node.sort) if graph_node.sort?
|
178
180
|
|
179
|
-
|
181
|
+
'puts xmen' if graph_node.pry_at?(:before_array_print)
|
180
182
|
|
181
183
|
return if items.length.zero? && graph_node.skip_empty?
|
182
184
|
|
@@ -186,9 +188,12 @@ module KLog
|
|
186
188
|
add_line KLog::LogHelper.kv "#{@indent_label}#{key}", items.map(&:to_s).join(', ')
|
187
189
|
else
|
188
190
|
table_print items, tp_columns(items)
|
191
|
+
|
192
|
+
# NEED SUPPORT FOR A configured ARRAY COUNT with width and label
|
193
|
+
add_line KLog::LogHelper.kv key.to_s, items.count if show_array_count
|
189
194
|
end
|
190
|
-
rescue StandardError
|
191
|
-
|
195
|
+
rescue StandardError => e
|
196
|
+
KLog.logger.exception(e)
|
192
197
|
end
|
193
198
|
|
194
199
|
def table_print(items, columns)
|
@@ -321,6 +326,7 @@ module KLog
|
|
321
326
|
end
|
322
327
|
|
323
328
|
class GraphNode
|
329
|
+
attr_reader :log_structure
|
324
330
|
attr_accessor :config
|
325
331
|
|
326
332
|
class << self
|
@@ -328,7 +334,7 @@ module KLog
|
|
328
334
|
@null ||= OpenStruct.new
|
329
335
|
end
|
330
336
|
|
331
|
-
def for(graph, graph_path)
|
337
|
+
def for(log_structure, graph, graph_path)
|
332
338
|
# node_config = graph_path.inject(graph, :send) # (uses deep nesting, but fails when nil is returned) https://stackoverflow.com/questions/15862455/ruby-nested-send
|
333
339
|
# node.nil? ? null : node.send(name) || null
|
334
340
|
node_config = graph_path.reduce(graph) do |node, name|
|
@@ -339,11 +345,12 @@ module KLog
|
|
339
345
|
result
|
340
346
|
end
|
341
347
|
|
342
|
-
new(node_config)
|
348
|
+
new(log_structure, node_config)
|
343
349
|
end
|
344
350
|
end
|
345
351
|
|
346
|
-
def initialize(config)
|
352
|
+
def initialize(log_structure, config)
|
353
|
+
@log_structure = log_structure
|
347
354
|
@config = config || OpenStruct.new
|
348
355
|
end
|
349
356
|
|
@@ -415,11 +422,15 @@ module KLog
|
|
415
422
|
def pry_at?(section)
|
416
423
|
pry_at.include?(section)
|
417
424
|
end
|
418
|
-
|
425
|
+
|
419
426
|
# Skip empty array node (my be useful for other nodes, but not yet)
|
420
427
|
def skip_empty?
|
421
428
|
config.skip_empty == true
|
422
429
|
end
|
430
|
+
|
431
|
+
def show_array_count
|
432
|
+
log_structure.show_array_count
|
433
|
+
end
|
423
434
|
end
|
424
435
|
end
|
425
436
|
end
|
data/lib/k_log/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: k_log
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.30
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Cruwys
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-09-
|
11
|
+
date: 2021-09-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: k_util
|