Top Level Namespace
Defined Under Namespace
Modules: ActiveFacts, Nokogiri
Classes: Array, Exception, TrueClass
Instance Method Summary
collapse
Instance Method Details
#debug(*args, &block) ⇒ Object
96
97
98
99
100
101
102
103
|
# File 'lib/activefacts/support.rb', line 96
def debug(*args, &block)
begin
old_indent, old_nested, enabled = $debug_indent, $debug_nested, debug_show(*args)
return (block || proc { enabled == 1 }).call
ensure
$debug_indent, $debug_nested = old_indent, old_nested
end
end
|
#debug_disable(key) ⇒ Object
42
43
44
|
# File 'lib/activefacts/support.rb', line 42
def debug_disable key
!key.empty? && $debug_keys.delete(key.to_sym)
end
|
#debug_enable(key) ⇒ Object
38
39
40
|
# File 'lib/activefacts/support.rb', line 38
def debug_enable key
!key.empty? && $debug_keys[key.to_sym] = true
end
|
#debug_enabled(key) ⇒ Object
34
35
36
|
# File 'lib/activefacts/support.rb', line 34
def debug_enabled key
!key.empty? && $debug_keys[key.to_sym]
end
|
#debug_initialize ⇒ Object
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/activefacts/support.rb', line 14
def debug_initialize
$debug_indent = 0
unless $debug_keys
$debug_keys = {}
if (e = ENV["DEBUG"])
e.split(/[^_a-zA-Z0-9]/).each{|k| debug_enable(k) }
if $debug_keys[:help]
at_exit {
$stderr.puts "---\nDebugging keys available: #{$debug_available.keys.map{|s| s.to_s}.sort*", "}"
}
end
end
end
end
|
#debug_keys ⇒ Object
30
31
32
|
# File 'lib/activefacts/support.rb', line 30
def debug_keys
$debug_available.keys
end
|
#debug_selected(args) ⇒ Object
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'lib/activefacts/support.rb', line 50
def debug_selected(args)
key =
if Symbol === args[0]
control = args.shift
if (s = control.to_s) =~ /_\Z/
nested = true
s.sub(/_\Z/, '').to_sym else
control
end
else
:all
end
$debug_available[key] ||= key enabled = $debug_nested || $debug_keys[key] || $debug_keys[:all] $debug_nested = nested
[
(enabled ? 1 : 0),
$debug_keys[:all] ? " %-15s"%control : nil
]
end
|
#debug_show(*args) ⇒ Object
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# File 'lib/activefacts/support.rb', line 76
def debug_show(*args)
unless $debug_keys
debug_initialize
end
enabled, key_to_show = debug_selected(args)
if args.size > 0 && enabled == 1
puts "\##{key_to_show} " +
' '*$debug_indent +
args.
join(' ')
end
$debug_indent += enabled
enabled
end
|
#debug_toggle(key) ⇒ Object