helium-console 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +3 -1
- data/helium-console.gemspec +1 -0
- data/lib/helium/console/registry.rb +5 -0
- data/lib/helium/console/registry/array.rb +1 -1
- data/lib/helium/console/registry/booleans.rb +2 -2
- data/lib/helium/console/registry/hash.rb +6 -2
- data/lib/helium/console/registry/nil.rb +1 -1
- data/lib/helium/console/registry/numeric.rb +1 -1
- data/lib/helium/console/registry/object.rb +3 -3
- data/lib/helium/console/registry/string.rb +2 -2
- data/lib/helium/console/registry/symbol.rb +1 -1
- data/lib/helium/console/registry/table.rb +12 -3
- data/lib/helium/console/version.rb +1 -1
- metadata +15 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 39304bf103e7e4754ebecc7160a6e2890a555d89b89113b13d5f9605cb5945f6
|
4
|
+
data.tar.gz: 71b94ce843df7d8a8a42e3e53a24e879918e576f138faeec3bd06adaa485abd1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b74e6a99292aefa68f2a44cd9f06eb1d64752ece9cda15b75b73e0d5fdee75109081d6a3a95d5c3c0bb4afab6c5c04ebd590e45ca76cf5949b0e37ab89a28064
|
7
|
+
data.tar.gz: 6b4e951d05b8f76784f4e556c5555ce9f7db0b48ff3f673c8ead7ecb79054ce11da121cea4b0cbfff1984245a8c07746f0e34c22c6a77a0e7c8257e6a73fc8a0
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
helium-console (0.1.
|
4
|
+
helium-console (0.1.3)
|
5
|
+
colorize
|
5
6
|
pry
|
6
7
|
|
7
8
|
GEM
|
@@ -9,6 +10,7 @@ GEM
|
|
9
10
|
specs:
|
10
11
|
byebug (11.1.3)
|
11
12
|
coderay (1.1.3)
|
13
|
+
colorize (0.8.1)
|
12
14
|
diff-lcs (1.4.4)
|
13
15
|
ffaker (2.18.0)
|
14
16
|
method_source (1.0.0)
|
data/helium-console.gemspec
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'colorized_string'
|
2
|
+
|
1
3
|
module Helium
|
2
4
|
class Console
|
3
5
|
class Registry
|
@@ -31,6 +33,9 @@ module Helium
|
|
31
33
|
|
32
34
|
def method_missing(name, *args)
|
33
35
|
return @options[name] if @options.key?(name)
|
36
|
+
if ColorizedString.colors.include?(name)
|
37
|
+
return ColorizedString.new(*args).colorize(name)
|
38
|
+
end
|
34
39
|
super
|
35
40
|
end
|
36
41
|
|
@@ -9,9 +9,9 @@ module Helium
|
|
9
9
|
private
|
10
10
|
|
11
11
|
def format_as_table
|
12
|
-
table = Table.new(runner: ' ', after_key:
|
12
|
+
table = Table.new(runner: ' ', after_key: after_key, format_keys: !all_symbol?)
|
13
13
|
object.each do |key, value|
|
14
|
-
key = key.to_s if all_symbol?
|
14
|
+
key = light_blue(key.to_s) if all_symbol?
|
15
15
|
table.row(key, value)
|
16
16
|
end
|
17
17
|
|
@@ -72,6 +72,10 @@ module Helium
|
|
72
72
|
def all_symbol?
|
73
73
|
object.keys.all? { |key| key.is_a? Symbol }
|
74
74
|
end
|
75
|
+
|
76
|
+
def after_key
|
77
|
+
all_symbol? ? light_blue(": ") : light_black(" => ")
|
78
|
+
end
|
75
79
|
end
|
76
80
|
end
|
77
81
|
end
|
@@ -9,14 +9,14 @@ module Helium
|
|
9
9
|
private
|
10
10
|
|
11
11
|
def format_as_table
|
12
|
-
table = Table.new(runner: '| ', after_key: ": ", format_keys: false)
|
12
|
+
table = Table.new(runner: light_black('| '), after_key: light_black(": "), format_keys: false)
|
13
13
|
|
14
14
|
object.instance_variables.each do |inst|
|
15
|
-
table.row(inst.to_s, object.instance_variable_get(inst))
|
15
|
+
table.row(magenta(inst.to_s), object.instance_variable_get(inst))
|
16
16
|
end
|
17
17
|
|
18
18
|
[
|
19
|
-
"# #{object.class.name} instance",
|
19
|
+
"#{light_black('#')} #{light_yellow(object.class.name)} instance",
|
20
20
|
format(table, **options),
|
21
21
|
].join($/)
|
22
22
|
end
|
@@ -2,13 +2,13 @@ module Helium
|
|
2
2
|
class Console
|
3
3
|
define_formatter_for String do
|
4
4
|
def call
|
5
|
-
Helium::Console.format_string(
|
5
|
+
light_green(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
12
|
end
|
13
13
|
|
14
14
|
def max_lines
|
@@ -13,7 +13,7 @@ module Helium
|
|
13
13
|
[
|
14
14
|
object.runner,
|
15
15
|
index.zero? ? format_key(key).rjust(key_width) : " " * key_width,
|
16
|
-
index.zero? ? object.after_key : " " * object.after_key
|
16
|
+
index.zero? ? object.after_key : " " * length_of(object.after_key),
|
17
17
|
line.chomp,
|
18
18
|
].join
|
19
19
|
end
|
@@ -24,17 +24,26 @@ module Helium
|
|
24
24
|
@key_width ||= object.rows
|
25
25
|
.map(&:first)
|
26
26
|
.map(&method(:format_key))
|
27
|
-
.map(
|
27
|
+
.map(&method(:length_of))
|
28
|
+
.max
|
28
29
|
end
|
29
30
|
|
30
31
|
def max_value_width
|
31
|
-
max_width - object.runner
|
32
|
+
max_width - length_of(object.runner) - key_width - length_of(object.after_key)
|
32
33
|
end
|
33
34
|
|
34
35
|
def format_key(key)
|
35
36
|
return key unless object.format_keys
|
36
37
|
format(key, max_width: 15, level: 3)
|
37
38
|
end
|
39
|
+
|
40
|
+
def length_of(string)
|
41
|
+
if string.respond_to?(:uncolorize)
|
42
|
+
string.uncolorize.length
|
43
|
+
else
|
44
|
+
string.length
|
45
|
+
end
|
46
|
+
end
|
38
47
|
end
|
39
48
|
end
|
40
49
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: helium-console
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stanislaw Klajn
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: colorize
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
description:
|
28
42
|
email:
|
29
43
|
- sklajn@gmail.com
|