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 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