aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xrailties/lib/breakpoint.rb4
-rw-r--r--railties/lib/breakpoint_client.rb9
2 files changed, 8 insertions, 5 deletions
diff --git a/railties/lib/breakpoint.rb b/railties/lib/breakpoint.rb
index 9c3164b2eb..dccde0b11d 100755
--- a/railties/lib/breakpoint.rb
+++ b/railties/lib/breakpoint.rb
@@ -141,7 +141,7 @@ module Breakpoint
end
unless [true, false, nil].include?(result)
- result.extend(DRbUndumped) rescue nil
+ result.extend(DRbUndumped) if result
end
return result
@@ -188,7 +188,7 @@ module Breakpoint
@__bp_file = #{file.inspect}
@__bp_line = #{line}
extend Breakpoint::CommandBundle
- extend DRbUndumped
+ extend DRbUndumped if self
}, context) rescue nil
if not use_drb? then
diff --git a/railties/lib/breakpoint_client.rb b/railties/lib/breakpoint_client.rb
index 11e5bcaf9d..8a8bc75594 100644
--- a/railties/lib/breakpoint_client.rb
+++ b/railties/lib/breakpoint_client.rb
@@ -88,9 +88,12 @@ loop do
begin
service.register_eval_handler do |code|
result = eval(code, TOPLEVEL_BINDING)
- result.extend(DRb::DRbUndumped) rescue nil
- result
- end
+ if result
+ DRbObject.new(result)
+ else
+ result
+ end
+ end
service.register_collision_handler do
msg = [