pretty_debug 0.4.12 → 0.5.0
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 +4 -4
- data/lib/pretty_debug.rb +25 -25
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fcaaa833a30a4999b0cbc2402e488b4b92ca6b8e
|
4
|
+
data.tar.gz: 6ecaf1450da649aff5f66f5d13fb2a1c2de4730f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f2d9cb112103384321546fad203de0c2f936ac84780e61823665b83dfde9407a1b1d3c4e1c62162251b8033a4b11a5452d30a298d19a9076179e2e54fe044a1
|
7
|
+
data.tar.gz: c5d3e92e0ebf94a8234fe17b48c5e998a96d55f0980b4eccf43dcca5a12904f327a0b51f6cac20912d333424d72155ca96abbf76e62faadbae44d70d6c2393f4
|
data/lib/pretty_debug.rb
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
#!ruby
|
2
|
-
require "tmpdir"
|
3
|
-
require "compact_time"
|
4
|
-
require "utility"
|
2
|
+
require "tmpdir".freeze
|
3
|
+
require "compact_time".freeze
|
4
|
+
require "utility".freeze
|
5
5
|
|
6
6
|
#############################################
|
7
7
|
# File
|
8
8
|
#############################################
|
9
9
|
|
10
10
|
class File
|
11
|
-
def self.relativize f; f.sub(%r{\A/}, "") end
|
11
|
+
def self.relativize f; f.sub(%r{\A/}, "".freeze) end
|
12
12
|
def self.expand_path_relative f; expand_path(f, caller_location(1).dirname) end
|
13
13
|
def self.add f, s
|
14
|
-
open(f, "a+") do |io|
|
14
|
+
open(f, "a+".freeze) do |io|
|
15
15
|
io.readlines.last.tap{|l| io.puts if l && l.end_with?($/).!}
|
16
16
|
io.write(s)
|
17
17
|
end
|
@@ -34,9 +34,9 @@ end
|
|
34
34
|
#############################################
|
35
35
|
|
36
36
|
class String
|
37
|
-
@@indent = " "
|
37
|
+
@@indent = " ".freeze
|
38
38
|
def indent n = 1; gsub(/^/, @@indent * n) end
|
39
|
-
def unindent; gsub(/^#{match(/^\s+/)}/, "").chomp end
|
39
|
+
def unindent; gsub(/^#{match(/^\s+/)}/, "".freeze).chomp end
|
40
40
|
def unchomp; sub(/#$/?\z/, $/) end
|
41
41
|
def unchomp!; sub!(/#$/?\z/, $/) end
|
42
42
|
def ellipsis n
|
@@ -48,7 +48,7 @@ class String
|
|
48
48
|
def write_to f; write_to!(f) rescue nil end
|
49
49
|
def write_to! f; File.write(f, self) end
|
50
50
|
def binary_write_to f; binary_write_to!(f) rescue nil end
|
51
|
-
def binary_write_to! f; File.write(f, self, "wb") end
|
51
|
+
def binary_write_to! f; File.write(f, self, "wb".freeze) end
|
52
52
|
def add_to f; add_to!(f) rescue nil end
|
53
53
|
def add_to! f; File.add(f, self) end
|
54
54
|
# Raises an error if either save, read, or round-trip-matching fails.
|
@@ -69,7 +69,7 @@ class Exception
|
|
69
69
|
@backtrace_locations ||=
|
70
70
|
backtrace.map{|l| Thread::Backtrace::PseudoLocation.new(l)}
|
71
71
|
end
|
72
|
-
def self.raise *args; Kernel.
|
72
|
+
def self.raise *args; Kernel.__send__(:raise, new(*args)) end
|
73
73
|
end
|
74
74
|
|
75
75
|
class Thread::Backtrace::PseudoLocation
|
@@ -132,10 +132,10 @@ class PrettyDebug
|
|
132
132
|
m =~ /\A<.*>\z/ # Such as `<top (required)>`, `<module:Foo>`.
|
133
133
|
}
|
134
134
|
@select = ->f, m{true}
|
135
|
-
format{|row| " #{row.join(" | ")} ".bg(:black).color(:yellow)}
|
135
|
+
format{|row| " #{row.join(" | ".freeze)} ".bg(:black).color(:yellow)}
|
136
136
|
def self.message e
|
137
137
|
e.complement_backtrace_locations
|
138
|
-
e.message.dup.tap{|s| s[0] = s[0].upcase unless s.empty?}.sub(/(?<=[^.])\z/, ".")
|
138
|
+
e.message.dup.tap{|s| s[0] = s[0].upcase unless s.empty?}.sub(/(?<=[^.])\z/, ".".freeze)
|
139
139
|
end
|
140
140
|
def self.backtrace_locations e
|
141
141
|
e.complement_backtrace_locations
|
@@ -169,12 +169,12 @@ class PrettyDebug
|
|
169
169
|
ms.map! do |m|
|
170
170
|
case m
|
171
171
|
when *Hook then "(#{m})"
|
172
|
-
when /\A(rescue in )?block( .*)? in / then "(entered block)"
|
173
|
-
when /\Arescue in / then ""
|
172
|
+
when /\A(rescue in )?block( .*)? in / then "(entered block)".freeze
|
173
|
+
when /\Arescue in / then "".freeze
|
174
174
|
else m
|
175
175
|
end
|
176
176
|
end
|
177
|
-
ms[-1] = ""; ms.rotate!(-1)
|
177
|
+
ms[-1] = "".freeze; ms.rotate!(-1)
|
178
178
|
end.transpose
|
179
179
|
a.reject!{|f, l, m| @reject.call(f, m)} rescue nil
|
180
180
|
a.select!{|f, l, m| @select.call(f, m)} rescue nil
|
@@ -184,7 +184,7 @@ end
|
|
184
184
|
|
185
185
|
class Proc
|
186
186
|
def inspect; f, l = source_location; "Proc@#{f}:#{l}"
|
187
|
-
rescue; "Proc@source_unknown"
|
187
|
+
rescue; "Proc@source_unknown".freeze
|
188
188
|
end
|
189
189
|
end
|
190
190
|
class Method; def inspect; "#{receiver}.#{name}" end end
|
@@ -199,25 +199,25 @@ class Array
|
|
199
199
|
def inspect
|
200
200
|
map(&:inspect)
|
201
201
|
.chain{|s| length < 2 || s.map(&:length).inject(:+) < SingleLength ?
|
202
|
-
"[#{s.join(", ")}]" : "[#$/#{s.join(",#$/").indent}#$/]"}
|
202
|
+
"[#{s.join(", ".freeze)}]" : "[#$/#{s.join(",#$/".freeze).indent}#$/]"}
|
203
203
|
end
|
204
204
|
def align ellipsis_limit = nil
|
205
205
|
transpose.map do |col|
|
206
206
|
just = case col.first; when Numeric then :rjust; else :ljust end
|
207
207
|
width = col.map{|cell| cell.to_s.length}.max
|
208
208
|
max = ellipsis_limit || width
|
209
|
-
col.map{|cell| cell.to_s.ellipsis(max).
|
209
|
+
col.map{|cell| cell.to_s.ellipsis(max).__send__(just, width.at_most(max))}
|
210
210
|
end.transpose
|
211
211
|
end
|
212
212
|
def common_prefix
|
213
|
-
raise ArgumentError.new("All elements must be a String") unless all?{|e| e.kind_of?(String)}
|
213
|
+
raise ArgumentError.new("All elements must be a String".freeze) unless all?{|e| e.kind_of?(String)}
|
214
214
|
first, *others = self
|
215
215
|
i = 0
|
216
216
|
loop{break unless first[i] and others.all?{|s| first[i] == s[i]}; i += 1}
|
217
217
|
first[0, i]
|
218
218
|
end
|
219
219
|
def common_affix
|
220
|
-
raise ArgumentError.new("All elements must be a String") unless all?{|e| e.kind_of?(String)}
|
220
|
+
raise ArgumentError.new("All elements must be a String".freeze) unless all?{|e| e.kind_of?(String)}
|
221
221
|
first, *others = self
|
222
222
|
i = - 1
|
223
223
|
loop{break unless first[i] and others.all?{|s| first[i] == s[i]}; i -= 1}
|
@@ -234,7 +234,7 @@ class Hash
|
|
234
234
|
w = keys.map(&:length).max.to_i.at_most(KeyLengthMax)
|
235
235
|
[keys, values].transpose.map{|k, v| "#{k.ljust(w)} => #{v.inspect}"}
|
236
236
|
.chain{|s| length < 2 || s.map(&:length).inject(:+) < SingleLength ?
|
237
|
-
"{#{s.join(", ")}}" : "{#$/#{s.join(",#$/").indent}#$/}"}
|
237
|
+
"{#{s.join(", ".freeze)}}" : "{#$/#{s.join(",#$/".freeze).indent}#$/}"}
|
238
238
|
end
|
239
239
|
end
|
240
240
|
|
@@ -251,8 +251,8 @@ end
|
|
251
251
|
class String
|
252
252
|
def verbatim; bg(:magenta) end
|
253
253
|
def terminal_escape; "\"#{self}\"" end
|
254
|
-
def bf; "#{vt100("01")}#{self}#{vt100}" end
|
255
|
-
def underline; "#{vt100("04")}#{self}#{vt100}" end
|
254
|
+
def bf; "#{vt100("01".freeze)}#{self}#{vt100}" end
|
255
|
+
def underline; "#{vt100("04".freeze)}#{self}#{vt100}" end
|
256
256
|
def color sym; "#{vt100(30+
|
257
257
|
{black: 0, red: 1, green: 2, yellow: 3, blue: 4, magenta: 5, cyan: 6, white: 7}[sym.to_sym]
|
258
258
|
)}#{self}#{vt100}" end
|
@@ -261,7 +261,7 @@ class String
|
|
261
261
|
)}#{self}#{vt100}" end
|
262
262
|
|
263
263
|
private
|
264
|
-
def vt100 s = ""; "\e[#{s}m" end
|
264
|
+
def vt100 s = "".freeze; "\e[#{s}m" end
|
265
265
|
end
|
266
266
|
|
267
267
|
#############################################
|
@@ -269,8 +269,8 @@ end
|
|
269
269
|
#############################################
|
270
270
|
|
271
271
|
class Hash
|
272
|
-
def ltsv; map{|k, v| "#{k}:#{v.to_s.tr("\t", " ")}"}.join("\t") end
|
272
|
+
def ltsv; map{|k, v| "#{k}:#{v.to_s.tr("\t".freeze, " ".freeze)}"}.join("\t".freeze) end
|
273
273
|
end
|
274
274
|
class String
|
275
|
-
def parse_ltsv; Hash[chomp.split("\t").map{|f| f.split(":", 2)}] end
|
275
|
+
def parse_ltsv; Hash[chomp.split("\t".freeze).map{|f| f.split(":".freeze, 2)}] end
|
276
276
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pretty_debug
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sawa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-10 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: ''
|
14
14
|
email: []
|