Class: Tap::Signals::Help
Instance Attribute Summary
Attributes inherited from Signal
#block, #obj
Instance Method Summary
collapse
Methods inherited from Signal
#initialize, #process
Instance Method Details
#call(args) ⇒ Object
7
8
9
10
|
# File 'lib/tap/signals/help.rb', line 7
def call(args)
argv = convert_to_array(args, ['sig'])
argv.empty? ? list : desc(*argv)
end
|
#desc(sig) ⇒ Object
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/tap/signals/help.rb', line 28
def desc(sig)
clas = obj.signal(sig).class
if clas.respond_to?(:desc)
desc = clas.desc
"#{clas} -- #{desc.to_s}\n#{desc.wrap}"
else
"#{clas} -- no help available"
end
end
|
#list ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/tap/signals/help.rb', line 12
def list
signals = obj.class.signals
width = signals.keys.collect {|key| key.length }.max
lines = []
signals.each_pair do |key, signal|
next if key.empty?
desc = signal.desc.to_s
desc = " # #{desc}" unless desc.empty?
lines << " /#{key.ljust(width)}#{desc}"
end
"signals: (#{obj.class})\n#{lines.join("\n")}"
end
|