betterp 0.1.8 → 0.1.10

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: 8ea0ef4e30131dd17a73ccf0a81c9597b78f5d7538bbaf17e5aae17eae0216d6
4
- data.tar.gz: 3546052c741f0687e386488a4e6e435344dffb8d725ec6d9270006434b453d44
3
+ metadata.gz: 38943c3f0f9baf276c68d39efa2229a6a93546ed347c658c71175b70a314153f
4
+ data.tar.gz: f9ecb8dd7a3cd930d08ddd4125e33816b07b263cb89438002d9b29a5a0880ff6
5
5
  SHA512:
6
- metadata.gz: 2776e06b838c9f24a3a62828cb1a0994ebb1971bc86ca1e551d7833cd5617a97e7da7ba196982767248a7916214336ef759ad16ff9a222b69d74a9ad9c1908da
7
- data.tar.gz: 71c3479e6eabe34c9bacefb184a58dec62e7c5e68cb2e0ec426ff985ad180a0b404a82c3b1b7cd35507fbc06b398fae2a30fe44e39a963db9a675913028a09cb
6
+ metadata.gz: 6001d2655ad45bbe85d8263e541a2865fa8ab0e83ea932927f3818deab82d57c49f813dcd1c9c3b98b2b0b0d45f41961a8c3d2f02ef79933b0671e7eb3d22039
7
+ data.tar.gz: dce5f9cce1aa13ac4791fe7300c5c61b85e532f3d0061c1b29cdecea8037ed6dc56f19b8e0095ece45aecfe92580deda30c8e8d01b57fad474e69d57bf2542bf
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- betterp (0.1.8)
4
+ betterp (0.1.10)
5
5
  paintbrush (~> 0.1.3)
6
6
  rouge (~> 4.2)
7
7
 
data/Makefile CHANGED
@@ -1,6 +1,14 @@
1
+ project=betterp
2
+
1
3
  .PHONY: test
2
4
  test:
3
5
  bin/rspec
4
6
  bin/rubocop
5
7
  bin/strong_versions
6
8
  bundle exec rspec-documentation
9
+
10
+ .PHONY: publish
11
+ publish:
12
+ @RSPEC_DOCUMENTATION_URL_ROOT='/$(project)' rspec-documentation
13
+ @rsync --delete -r rspec-documentation/bundle/ docs.bob.frl:/var/www/html/$(project)/
14
+ @echo 'Published.'
@@ -14,10 +14,15 @@ module Betterp
14
14
  @pretty = options.fetch(:pretty, false)
15
15
  end
16
16
 
17
- def formatted(args)
18
- (@pretty ? args : args.map(&:inspect)).map do |arg|
17
+ def formatted(args) # rubocop:disable Metrics/MethodLength
18
+ args.map do |arg|
19
19
  output = [
20
- header, colorized_prefix, colorized_duration, caller_code, highlighted(pretty(arg))
20
+ header,
21
+ colorized_prefix,
22
+ colorized_duration,
23
+ highlighted(caller_code),
24
+ Paintbrush.paintbrush { cyan_b '=>' },
25
+ return_value(arg)
21
26
  ].compact.join(' ').chomp
22
27
  "#{output}\n"
23
28
  end
@@ -25,10 +30,24 @@ module Betterp
25
30
 
26
31
  private
27
32
 
33
+ def return_value(val)
34
+ return normalized_highlighted(val) unless @pretty
35
+
36
+ highlighted(pretty(val))
37
+ end
38
+
28
39
  def highlighted(output)
29
40
  formatter = Rouge::Formatters::Terminal256.new
30
41
  lexer = Rouge::Lexers::Ruby.new
31
- formatter.format(lexer.lex(output))
42
+ formatter.format(lexer.lex(output.nil? ? '' : output))
43
+ end
44
+
45
+ def normalized_highlighted(val)
46
+ pretty_squashed = pretty(val).split("\n")
47
+ .map { |string| string.gsub(/^\s+/, '') }
48
+ .join("\n")
49
+
50
+ highlighted(pretty_squashed).split("\n").join(' ')
32
51
  end
33
52
 
34
53
  def colorized_duration
@@ -39,13 +58,7 @@ module Betterp
39
58
  Paintbrush.paintbrush { "[#{send color, "#{Float(format('%.2g', duration))}ms"}]" }
40
59
  end
41
60
 
42
- def colorized_pretty(arg)
43
- Paintbrush.paintbrush { cyan pretty(arg) }
44
- end
45
-
46
61
  def pretty(arg)
47
- return arg unless @pretty
48
-
49
62
  io = StringIO.new
50
63
  PP.pp(arg, io)
51
64
  return io.string unless io.string.include?("\n")
@@ -59,9 +72,7 @@ module Betterp
59
72
  path, line, *_rest = @raw.split(':')
60
73
  return nil unless Pathname.new(path).readable? && line.to_i.positive?
61
74
 
62
- Paintbrush.paintbrush do
63
- white "{ #{blue find_caller(line.to_i, path).to_s.strip} }"
64
- end
75
+ find_caller(line.to_i, path).to_s.strip
65
76
  end
66
77
 
67
78
  def find_caller(line_number, path)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Betterp
4
- VERSION = '0.1.8'
4
+ VERSION = '0.1.10'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: betterp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bob Farrell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-02 00:00:00.000000000 Z
11
+ date: 2023-11-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: paintbrush