Class: Byebug::PutLCommand
- Inherits:
-
Command
show all
- Includes:
- Columnize
- Defined in:
- lib/byebug/commands/eval.rb
Overview
Evaluation, pretty printing and columnizing from byebug’s prompt.
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Command
commands, find, format_subcmd, format_subcmds, help, inherited, #initialize, load_commands, #match
Class Method Details
.description ⇒ Object
132
133
134
135
136
|
# File 'lib/byebug/commands/eval.rb', line 132
def description
%(putl <expression>
Evaluates <expression>, an array, and columnize its value.)
end
|
.names ⇒ Object
128
129
130
|
# File 'lib/byebug/commands/eval.rb', line 128
def names
%w(putl)
end
|
Instance Method Details
#execute ⇒ Object
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
# File 'lib/byebug/commands/eval.rb', line 107
def execute
out = StringIO.new
run_with_binding do |b|
if Setting[:stack_on_error]
vals = bb_eval(@match.post_match, b)
else
vals = bb_warning_eval(@match.post_match, b)
end
if vals.is_a?(Array)
vals = vals.map { |item| item.to_s }
puts "#{columnize(vals, Setting[:width])}"
else
PP.pp(vals, out)
puts out.string
end
end
rescue
out.puts $ERROR_INFO.message
end
|
#regexp ⇒ Object
103
104
105
|
# File 'lib/byebug/commands/eval.rb', line 103
def regexp
/^\s* putl\s+/x
end
|