pretty_debug 0.4.12 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|