pretty_debug 0.4.10 → 0.4.11
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 +16 -14
- 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: 85f28fb72278239fceaf9fdbe8eff5622d34581a
|
4
|
+
data.tar.gz: 539fb5b24e605ee1089d2d0a66c6541b25677baa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b2a218ec68021be63b2f2516c27048ca4d4aeed343c3e7d2d1ec5104e1f322136510250e18b0d3834dd7e7741bf2cc37c301fa35f384c8eda88f08f445994d01
|
7
|
+
data.tar.gz: e7d46918ca9f18aab0d92200c99fe14f187ec1be3cf7d3cd6918402299910707300e400ee48811633b60ee3e6811062230eb466e7c8a07d1551022b87026d195
|
data/lib/pretty_debug.rb
CHANGED
@@ -45,16 +45,6 @@ class String
|
|
45
45
|
else "#{slice(0..n/2-3)}...#{slice(-n/2+1..-1)}"
|
46
46
|
end
|
47
47
|
end
|
48
|
-
def common_prefix other
|
49
|
-
i = 0
|
50
|
-
loop{break unless self[i] and self[i] == other[i]; i += 1}
|
51
|
-
self[0, i]
|
52
|
-
end
|
53
|
-
def common_affix other
|
54
|
-
i = - 1
|
55
|
-
loop{break unless self[i] and self[i] == other[i]; i -= 1}
|
56
|
-
self[i + 1, -(i + 1)]
|
57
|
-
end
|
58
48
|
def write_to f; write_to!(f) rescue nil end
|
59
49
|
def write_to! f; File.write(f, self) end
|
60
50
|
def binary_write_to f; binary_write_to!(f) rescue nil end
|
@@ -222,6 +212,20 @@ class Array
|
|
222
212
|
col.map{|cell| cell.to_s.ellipsis(max).send(just, width.at_most(max))}
|
223
213
|
end.transpose
|
224
214
|
end
|
215
|
+
def common_prefix
|
216
|
+
raise ArgumentError.new("All elements must be a String") unless all?{|e| e.kind_of?(String)}
|
217
|
+
first, *others = self
|
218
|
+
i = 0
|
219
|
+
loop{break unless first[i] and others.all?{|s| first[i] == s[i]}; i += 1}
|
220
|
+
first[0, i]
|
221
|
+
end
|
222
|
+
def common_affix
|
223
|
+
raise ArgumentError.new("All elements must be a String") unless all?{|e| e.kind_of?(String)}
|
224
|
+
first, *others = self
|
225
|
+
i = - 1
|
226
|
+
loop{break unless first[i] and others.all?{|s| first[i] == s[i]}; i -= 1}
|
227
|
+
first[i + 1, -(i + 1)]
|
228
|
+
end
|
225
229
|
end
|
226
230
|
|
227
231
|
class Hash
|
@@ -250,16 +254,14 @@ end
|
|
250
254
|
class String
|
251
255
|
def verbatim; bg(:magenta) end
|
252
256
|
def terminal_escape; "\"#{self}\"" end
|
257
|
+
def bf; "#{vt100("01")}#{self}#{vt100}" end
|
258
|
+
def underline; "#{vt100("04")}#{self}#{vt100}" end
|
253
259
|
def color sym; "#{vt100(30+
|
254
260
|
{black: 0, red: 1, green: 2, yellow: 3, blue: 4, magenta: 5, cyan: 6, white: 7}[sym.to_sym]
|
255
261
|
)}#{self}#{vt100}" end
|
256
262
|
def bg sym; "#{vt100(40+
|
257
263
|
{black: 0, red: 1, green: 2, yellow: 3, blue: 4, magenta: 5, cyan: 6, white: 7}[sym.to_sym]
|
258
264
|
)}#{self}#{vt100}" end
|
259
|
-
def bf; "#{vt100("01")}#{self}#{vt100}" end
|
260
|
-
def underline; "#{vt100("04")}#{self}#{vt100}" end
|
261
|
-
def blink; "#{vt100("05")}#{self}#{vt100}" end
|
262
|
-
def inverse; "#{vt100("07")}#{self}#{vt100}" end
|
263
265
|
|
264
266
|
private
|
265
267
|
def vt100 s = ""; "\e[#{s}m" 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.
|
4
|
+
version: 0.4.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sawa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
11
|
+
date: 2013-11-16 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: ''
|
14
14
|
email: []
|