Module: Ergane::Debug

Defined in:
lib/ergane/debug.rb

Class Method Summary collapse

Class Method Details

.breakObject



24
25
26
# File 'lib/ergane/debug.rb', line 24

def break
  puts "Breakpoints Not Enabled"
end

.enable_break!Object



8
9
10
11
12
# File 'lib/ergane/debug.rb', line 8

def enable_break!
  class << self
    define_method(:break, &binding.method(:pry))
  end
end

.format_print(m) ⇒ Object



28
29
30
31
32
33
34
35
36
37
# File 'lib/ergane/debug.rb', line 28

def format_print(m)
  case m
  when String
    format_print(m.split("\n"))
  when Array
    m.join("\n\t")
  else
    m
  end
end


54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/ergane/debug.rb', line 54

def print(m=nil, prefix: false, &block)
  @nl = true
  prefix ||= $debug ? 'DEBUG' : false
  if (prefix)
    if (m.blank?)
      $stdout.print format_print(m)
    else
      $stdout.print "[#{prefix.upcase.light_magenta}] " unless prefix.blank?
      $stdout.print format_print(m)
    end
  else
    yield if block_given?
  end
end

.puts(m = nil, prefix: false, &block) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/ergane/debug.rb', line 39

def puts(m=nil, prefix: false, &block)
  prefix ||= $debug ? 'DEBUG' : false
  if (prefix)
    if @nl || m.blank?
      $stdout.puts format_print(m)
    else
      $stdout.print "[#{prefix.upcase.light_magenta}] " unless prefix.blank?
      $stdout.puts format_print(m)
    end
  else
    yield if block_given?
  end
  @nl = false
end

.suppressObject



14
15
16
17
18
19
20
21
22
# File 'lib/ergane/debug.rb', line 14

def suppress
  original_stdout, original_stderr = $stdout.clone, $stderr.clone
  $stderr.reopen File.new('/dev/null', 'w')
  $stdout.reopen File.new('/dev/null', 'w')
  yield
ensure
  $stdout.reopen original_stdout
  $stderr.reopen original_stderr
end