Class: String
- Defined in:
- lib/pretty_debug.rb,
lib/pretty_debug.rb,
lib/pretty_debug.rb
Overview
String
Constant Summary collapse
- @@indent =
" "
Instance Method Summary collapse
- #add_to(f) ⇒ Object
- #add_to!(f) ⇒ Object
- #bf ⇒ Object
- #bg(sym) ⇒ Object
- #binary_write_to(f) ⇒ Object
- #binary_write_to!(f) ⇒ Object
- #color(sym) ⇒ Object
- #ellipsis(n) ⇒ Object
- #indent(n = 1) ⇒ Object
- #parse_ltsv ⇒ Object
-
#safely_write_to(dest, tmp = "#{Dir.tmpdir}/safe-save") ⇒ Object
Raises an error if either save, read, or round-trip-matching fails.
- #terminal_escape ⇒ Object
- #unchomp ⇒ Object
- #unchomp! ⇒ Object
- #underline ⇒ Object
- #unindent ⇒ Object
- #verbatim ⇒ Object
- #write_to(f) ⇒ Object
- #write_to!(f) ⇒ Object
Instance Method Details
#add_to(f) ⇒ Object
52 |
# File 'lib/pretty_debug.rb', line 52 def add_to f; add_to!(f) rescue nil end |
#bf ⇒ Object
257 |
# File 'lib/pretty_debug.rb', line 257 def bf; "#{vt100("01")}#{self}#{vt100}" end |
#bg(sym) ⇒ Object
262 263 264 |
# File 'lib/pretty_debug.rb', line 262 def bg sym; "#{vt100(40+ {black: 0, red: 1, green: 2, yellow: 3, blue: 4, magenta: 5, cyan: 6, white: 7}[sym.to_sym] )}#{self}#{vt100}" end |
#binary_write_to(f) ⇒ Object
50 |
# File 'lib/pretty_debug.rb', line 50 def binary_write_to f; binary_write_to!(f) rescue nil end |
#binary_write_to!(f) ⇒ Object
51 |
# File 'lib/pretty_debug.rb', line 51 def binary_write_to! f; File.write(f, self, "wb") end |
#color(sym) ⇒ Object
259 260 261 |
# File 'lib/pretty_debug.rb', line 259 def color sym; "#{vt100(30+ {black: 0, red: 1, green: 2, yellow: 3, blue: 4, magenta: 5, cyan: 6, white: 7}[sym.to_sym] )}#{self}#{vt100}" end |
#ellipsis(n) ⇒ Object
42 43 44 45 46 47 |
# File 'lib/pretty_debug.rb', line 42 def ellipsis n if length <= n then self elsif n.odd? then "#{slice(0..n/2-3)}...#{slice(-n/2+2..-1)}" else "#{slice(0..n/2-3)}...#{slice(-n/2+1..-1)}" end end |
#indent(n = 1) ⇒ Object
38 |
# File 'lib/pretty_debug.rb', line 38 def indent n = 1; gsub(/^/, @@indent * n) end |
#parse_ltsv ⇒ Object
278 |
# File 'lib/pretty_debug.rb', line 278 def parse_ltsv; Hash[chomp.split("\t").map{|f| f.split(":", 2)}] end |
#safely_write_to(dest, tmp = "#{Dir.tmpdir}/safe-save") ⇒ Object
Raises an error if either save, read, or round-trip-matching fails.
55 56 57 58 59 |
# File 'lib/pretty_debug.rb', line 55 def safely_write_to dest, tmp = "#{Dir.tmpdir}/safe-save" write_to!(tmp) raise "Round trip `save-read` failed on `#{dest}`." unless File.read(tmp) == self File.rename(tmp, dest) end |
#terminal_escape ⇒ Object
256 |
# File 'lib/pretty_debug.rb', line 256 def terminal_escape; "\"#{self}\"" end |
#unchomp ⇒ Object
40 |
# File 'lib/pretty_debug.rb', line 40 def unchomp; sub(/#$/?\z/, $/) end |
#unchomp! ⇒ Object
41 |
# File 'lib/pretty_debug.rb', line 41 def unchomp!; sub!(/#$/?\z/, $/) end |
#underline ⇒ Object
258 |
# File 'lib/pretty_debug.rb', line 258 def underline; "#{vt100("04")}#{self}#{vt100}" end |
#unindent ⇒ Object
39 |
# File 'lib/pretty_debug.rb', line 39 def unindent; gsub(/^#{match(/^\s+/)}/, "").chomp end |
#verbatim ⇒ Object
255 |
# File 'lib/pretty_debug.rb', line 255 def verbatim; bg(:magenta) end |
#write_to(f) ⇒ Object
48 |
# File 'lib/pretty_debug.rb', line 48 def write_to f; write_to!(f) rescue nil end |