helium-console 0.1.3 → 0.1.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 39304bf103e7e4754ebecc7160a6e2890a555d89b89113b13d5f9605cb5945f6
4
- data.tar.gz: 71b94ce843df7d8a8a42e3e53a24e879918e576f138faeec3bd06adaa485abd1
3
+ metadata.gz: 0d7b3d187641aabf02e4a6971fcc115c28d513fa46ce8532ded30f0a372b4a72
4
+ data.tar.gz: b81ba7655d8e2f80db96b87ee22d3e5e529cf49628813ba4ca8a41cff3362126
5
5
  SHA512:
6
- metadata.gz: b74e6a99292aefa68f2a44cd9f06eb1d64752ece9cda15b75b73e0d5fdee75109081d6a3a95d5c3c0bb4afab6c5c04ebd590e45ca76cf5949b0e37ab89a28064
7
- data.tar.gz: 6b4e951d05b8f76784f4e556c5555ce9f7db0b48ff3f673c8ead7ecb79054ce11da121cea4b0cbfff1984245a8c07746f0e34c22c6a77a0e7c8257e6a73fc8a0
6
+ metadata.gz: 1d128544877758a58ac1d98042c50cbe5d10452d37b57b8422de7eb2143dfa22498be54a37c2c7b0f1a301c8032e7e30e5b95d7d5d5ba72f191412be4c9b1d3f
7
+ data.tar.gz: d5f528534253ae54e0dff195216284d9ff9033affc5afbbb9f2849972aa0f84ad2e4538da6487e9bd4a4f72c7ada036783af13f90658d85f7913c80e94c13e62
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- helium-console (0.1.3)
4
+ helium-console (0.1.4)
5
5
  colorize
6
6
  pry
7
7
 
@@ -67,7 +67,6 @@ module Helium
67
67
  {
68
68
  overflow: :wrap,
69
69
  indent: 0,
70
- max_lines: nil,
71
70
  max_width: `tput cols`.chomp.to_i,
72
71
  level: 1,
73
72
  ignore_objects: [],
@@ -66,7 +66,7 @@ module Helium
66
66
  end
67
67
 
68
68
  def force_inline?
69
- (max_lines && max_lines < 5) || level > 2
69
+ level > 2
70
70
  end
71
71
 
72
72
  def all_symbol?
@@ -2,17 +2,20 @@ module Helium
2
2
  class Console
3
3
  define_formatter_for String do
4
4
  def call
5
- light_green(Helium::Console.format_string(
5
+ formatted = Helium::Console.format_string(
6
6
  object.dump.gsub('\n', "\n"),
7
7
  max_width: max_width,
8
8
  max_lines: max_lines,
9
9
  overflow: overflow,
10
10
  ellipses: "...\""
11
- ))
11
+ )
12
+
13
+ formatted.lines
14
+ .map { |line| light_green(line) }
15
+ .join
12
16
  end
13
17
 
14
18
  def max_lines
15
- return options[:max_lines] if options[:max_lines]
16
19
  case level
17
20
  when 1 then nil
18
21
  when 2 then 3
@@ -2,17 +2,20 @@ module Helium
2
2
  class Console
3
3
  define_formatter_for Table do
4
4
  def call
5
- formatted_values.join($/)
5
+ [
6
+ *formatted_values,
7
+ truncation,
8
+ ].compact.join($/)
6
9
  end
7
10
 
8
11
  def formatted_values
9
- object.rows.flat_map do |key, value|
12
+ rows.flat_map do |key, value|
10
13
  formatted_value = format_nested(value, max_width: max_value_width)
11
14
 
12
15
  formatted_value.lines.map.with_index do |line, index|
13
16
  [
14
17
  object.runner,
15
- index.zero? ? format_key(key).rjust(key_width) : " " * key_width,
18
+ index.zero? ? rjust(format_key(key), key_width) : " " * key_width,
16
19
  index.zero? ? object.after_key : " " * length_of(object.after_key),
17
20
  line.chomp,
18
21
  ].join
@@ -20,8 +23,18 @@ module Helium
20
23
  end
21
24
  end
22
25
 
26
+ def truncation
27
+ return unless object.rows.length > rows.length
28
+
29
+ [
30
+ object.runner,
31
+ light_black("(#{object.rows.length - rows.length} more)")
32
+ ].join
33
+ end
34
+
35
+
23
36
  def key_width
24
- @key_width ||= object.rows
37
+ @key_width ||= rows
25
38
  .map(&:first)
26
39
  .map(&method(:format_key))
27
40
  .map(&method(:length_of))
@@ -33,8 +46,11 @@ module Helium
33
46
  end
34
47
 
35
48
  def format_key(key)
36
- return key unless object.format_keys
37
- format(key, max_width: 15, level: 3)
49
+ object.format_keys ? format(key, max_width: 15, level: 3) : key
50
+ end
51
+
52
+ def rjust(string, width)
53
+ " " * (width - length_of(string)) + string
38
54
  end
39
55
 
40
56
  def length_of(string)
@@ -44,6 +60,16 @@ module Helium
44
60
  string.length
45
61
  end
46
62
  end
63
+
64
+ def rows
65
+ @rows ||= case level
66
+ when 1 then object.rows
67
+ when 2
68
+ object.rows.count < 10 ? object.rows : object.rows.first(9)
69
+ else
70
+ object.rows.count < 3 ? object.rows : object.rows.first(2)
71
+ end
72
+ end
47
73
  end
48
74
  end
49
75
  end
@@ -1,5 +1,5 @@
1
1
  module Helium
2
2
  class Console
3
- VERSION = "0.1.3"
3
+ VERSION = "0.1.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: helium-console
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stanislaw Klajn
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-06 00:00:00.000000000 Z
11
+ date: 2021-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry