Module: Breakpoint::CommandBundle
- Defined in:
- lib/action_controller/support/breakpoint.rb
Defined Under Namespace
Classes: Client
Instance Method Summary collapse
-
#client ⇒ Object
Lets an object that will forward method calls to the breakpoint client.
-
#source_lines(context = 5, return_line_numbers = false) ⇒ Object
Returns the source code surrounding the location where the breakpoint was issued.
Instance Method Details
#client ⇒ Object
Lets an object that will forward method calls to the breakpoint client. This is useful for outputting longer things at the client and so on. You can for example do these things:
client.puts "Hello" # outputs "Hello" at client console
# outputs "Hello" into the file temp.txt at the client
client.File.open("temp.txt", "w") { |f| f.puts "Hello" }
187 188 189 190 191 192 193 194 |
# File 'lib/action_controller/support/breakpoint.rb', line 187 def client() if Breakpoint.use_drb? then sleep(0.5) until Breakpoint.drb_service.eval_handler Client.new(Breakpoint.drb_service.eval_handler) else Client.new(lambda { |code| eval(code, TOPLEVEL_BINDING) }) end end |
#source_lines(context = 5, return_line_numbers = false) ⇒ Object
Returns the source code surrounding the location where the breakpoint was issued.
164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 |
# File 'lib/action_controller/support/breakpoint.rb', line 164 def source_lines(context = 5, return_line_numbers = false) lines = File.readlines(@__bp_file).map { |line| line.chomp } break_line = @__bp_line start_line = [break_line - context, 1].max end_line = break_line + context result = lines[(start_line - 1) .. (end_line - 1)] if return_line_numbers then return [start_line, break_line, result] else return result end end |