helium-console 0.1.2 → 0.1.3

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: 6a2672ea42122aee52ae7909753311b9de9bd2c2eb8692447866ed5fdb922692
4
- data.tar.gz: aa861ce67edc5c52cafc935bc9f1d4055083b68be88157daef22374786e29980
3
+ metadata.gz: 39304bf103e7e4754ebecc7160a6e2890a555d89b89113b13d5f9605cb5945f6
4
+ data.tar.gz: 71b94ce843df7d8a8a42e3e53a24e879918e576f138faeec3bd06adaa485abd1
5
5
  SHA512:
6
- metadata.gz: e60e2768854ffb479b8f10f1cc4e0c54fc9ab9655df4a11c1cef59fe3d9c28d792c836b2e98f02af9f557c2b31e562407942e288adbc32c3d91f2eb3ca8ee186
7
- data.tar.gz: bde8f3aef8d9bd208ec740d0f35b60400ab39872b4a5a8fca3a05acb97701fe6603352aac1333556ed791b2e8e10a5397a95ad1a5019d4800116505d8ca03f3c
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.2)
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)
@@ -23,4 +23,5 @@ Gem::Specification.new do |spec|
23
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
24
  spec.require_paths = ["lib"]
25
25
  spec.add_dependency "pry"
26
+ spec.add_dependency "colorize"
26
27
  end
@@ -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
 
@@ -17,7 +17,7 @@ module Helium
17
17
  def format_as_table
18
18
  table = Table.new(runner: ' ', format_keys: false)
19
19
  object.each.with_index do |element, index|
20
- table.row("[#{index}]:", element)
20
+ table.row(light_black("[#{index}]:"), element)
21
21
  end
22
22
 
23
23
  [
@@ -2,13 +2,13 @@ module Helium
2
2
  class Console
3
3
  define_formatter_for TrueClass do
4
4
  def call
5
- 'true'
5
+ green('true')
6
6
  end
7
7
  end
8
8
 
9
9
  define_formatter_for FalseClass do
10
10
  def call
11
- 'false'
11
+ red('false')
12
12
  end
13
13
  end
14
14
  end
@@ -9,9 +9,9 @@ module Helium
9
9
  private
10
10
 
11
11
  def format_as_table
12
- table = Table.new(runner: ' ', after_key: all_symbol? ? ": " : " => ", format_keys: !all_symbol?)
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
@@ -2,7 +2,7 @@ module Helium
2
2
  class Console
3
3
  define_formatter_for NilClass do
4
4
  def call
5
- 'nil'
5
+ light_black('nil')
6
6
  end
7
7
  end
8
8
  end
@@ -2,7 +2,7 @@ module Helium
2
2
  class Console
3
3
  define_formatter_for Numeric do
4
4
  def call
5
- object.to_s
5
+ light_cyan(object.to_s)
6
6
  end
7
7
  end
8
8
  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
@@ -2,7 +2,7 @@ module Helium
2
2
  class Console
3
3
  define_formatter_for Symbol do
4
4
  def call
5
- ':' + object.to_s
5
+ light_blue(':' + object.to_s)
6
6
  end
7
7
  end
8
8
  end
@@ -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.length,
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(&:length).max
27
+ .map(&method(:length_of))
28
+ .max
28
29
  end
29
30
 
30
31
  def max_value_width
31
- max_width - object.runner.length - key_width - object.after_key.length
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
@@ -1,5 +1,5 @@
1
1
  module Helium
2
2
  class Console
3
- VERSION = "0.1.2"
3
+ VERSION = "0.1.3"
4
4
  end
5
5
  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.2
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