Skip to content

Commit

Permalink
Remove debugger support
Browse files Browse the repository at this point in the history
bebugger doesn't work with Ruby 2.2 so we don't need to support it
anymore
  • Loading branch information
rafaelfranca committed Jan 4, 2015
1 parent cf01d01 commit 93559da
Show file tree
Hide file tree
Showing 14 changed files with 8 additions and 138 deletions.
4 changes: 2 additions & 2 deletions Gemfile
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ group :test do
gem 'stackprof' gem 'stackprof'
end end


# platforms :mri_19, :mri_20 do # platforms :mri do
# gem 'debugger' # gem 'byebug'
# end # end


gem 'benchmark-ips' gem 'benchmark-ips'
Expand Down
1 change: 0 additions & 1 deletion activesupport/lib/active_support/core_ext/kernel.rb
Original file line number Original file line Diff line number Diff line change
@@ -1,5 +1,4 @@
require 'active_support/core_ext/kernel/agnostics' require 'active_support/core_ext/kernel/agnostics'
require 'active_support/core_ext/kernel/concern' require 'active_support/core_ext/kernel/concern'
require 'active_support/core_ext/kernel/debugger' if RUBY_VERSION < '2.0.0'
require 'active_support/core_ext/kernel/reporting' require 'active_support/core_ext/kernel/reporting'
require 'active_support/core_ext/kernel/singleton_class' require 'active_support/core_ext/kernel/singleton_class'
13 changes: 3 additions & 10 deletions activesupport/lib/active_support/core_ext/kernel/debugger.rb
Original file line number Original file line Diff line number Diff line change
@@ -1,10 +1,3 @@
module Kernel require 'active_support/deprecation'
unless respond_to?(:debugger)
# Starts a debugging session if the +debugger+ gem has been loaded (call rails server --debugger to load it). ActiveSupport::Deprecation.warn("This file is deprecated and will be removed in Rails 5.1 with no replacement.")
def debugger
message = "\n***** Debugger requested, but was not available (ensure the debugger gem is listed in Gemfile/installed as gem): Start server with --debugger to enable *****\n"
defined?(Rails.logger) ? Rails.logger.info(message) : $stderr.puts(message)
end
alias breakpoint debugger unless respond_to?(:breakpoint)
end
end
24 changes: 0 additions & 24 deletions activesupport/test/core_ext/kernel_test.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -65,27 +65,3 @@ def write(message)
puts(message) puts(message)
end end
end end

class KernelDebuggerTest < ActiveSupport::TestCase
def test_debugger_not_available_message_to_stderr
old_stderr = $stderr
$stderr = MockStdErr.new
debugger
assert_match(/Debugger requested/, $stderr.output.first)
ensure
$stderr = old_stderr
end

def test_debugger_not_available_message_to_rails_logger
rails = Class.new do
def self.logger
@logger ||= MockStdErr.new
end
end
Object.const_set(:Rails, rails)
debugger
assert_match(/Debugger requested/, rails.logger.output.first)
ensure
Object.send(:remove_const, :Rails)
end
end if RUBY_VERSION < '2.0.0'
1 change: 0 additions & 1 deletion guides/source/rails_on_rack.md
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ Here's how it loads the middlewares:
```ruby ```ruby
def middleware def middleware
middlewares = [] middlewares = []
middlewares << [Rails::Rack::Debugger] if options[:debugger]
middlewares << [::Rack::ContentLength] middlewares << [::Rack::ContentLength]
Hash.new(middlewares) Hash.new(middlewares)
end end
Expand Down
26 changes: 0 additions & 26 deletions railties/lib/rails/commands/console.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -18,14 +18,6 @@ def parse_arguments(arguments)
opt.on("-e", "--environment=name", String, opt.on("-e", "--environment=name", String,
"Specifies the environment to run this console under (test/development/production).", "Specifies the environment to run this console under (test/development/production).",
"Default: development") { |v| options[:environment] = v.strip } "Default: development") { |v| options[:environment] = v.strip }
opt.on("--debugger", 'Enables the debugger.') do |v|
if RUBY_VERSION < '2.0.0'
options[:debugger] = v
else
puts "=> Notice: debugger option is ignored since Ruby 2.0 and " \
"it will be removed in future versions."
end
end
opt.parse!(arguments) opt.parse!(arguments)
end end


Expand Down Expand Up @@ -76,25 +68,7 @@ def set_environment!
Rails.env = environment Rails.env = environment
end end


if RUBY_VERSION < '2.0.0'
def debugger?
options[:debugger]
end

def require_debugger
require 'debugger'
puts "=> Debugger enabled"
rescue LoadError
puts "You're missing the 'debugger' gem. Add it to your Gemfile, bundle it and try again."
exit(1)
end
end

def start def start
if RUBY_VERSION < '2.0.0'
require_debugger if debugger?
end

set_environment! if environment? set_environment! if environment?


if sandbox? if sandbox?
Expand Down
12 changes: 0 additions & 12 deletions railties/lib/rails/commands/server.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -28,14 +28,6 @@ def option_parser(options)
opts.on("-c", "--config=file", String, opts.on("-c", "--config=file", String,
"Uses a custom rackup configuration.") { |v| options[:config] = v } "Uses a custom rackup configuration.") { |v| options[:config] = v }
opts.on("-d", "--daemon", "Runs server as a Daemon.") { options[:daemonize] = true } opts.on("-d", "--daemon", "Runs server as a Daemon.") { options[:daemonize] = true }
opts.on("-u", "--debugger", "Enables the debugger.") do
if RUBY_VERSION < '2.0.0'
options[:debugger] = true
else
puts "=> Notice: debugger option is ignored since Ruby 2.0 and " \
"it will be removed in future versions."
end
end
opts.on("-e", "--environment=name", String, opts.on("-e", "--environment=name", String,
"Specifies the environment to run this server under (test/development/production).", "Specifies the environment to run this server under (test/development/production).",
"Default: development") { |v| options[:environment] = v } "Default: development") { |v| options[:environment] = v }
Expand Down Expand Up @@ -86,9 +78,6 @@ def start


def middleware def middleware
middlewares = [] middlewares = []
if RUBY_VERSION < '2.0.0'
middlewares << [Rails::Rack::Debugger] if options[:debugger]
end
middlewares << [::Rack::ContentLength] middlewares << [::Rack::ContentLength]


# FIXME: add Rack::Lock in the case people are using webrick. # FIXME: add Rack::Lock in the case people are using webrick.
Expand All @@ -112,7 +101,6 @@ def default_options
DoNotReverseLookup: true, DoNotReverseLookup: true,
environment: (ENV['RAILS_ENV'] || ENV['RACK_ENV'] || "development").dup, environment: (ENV['RAILS_ENV'] || ENV['RACK_ENV'] || "development").dup,
daemonize: false, daemonize: false,
debugger: false,
pid: File.expand_path("tmp/pids/server.pid"), pid: File.expand_path("tmp/pids/server.pid"),
config: File.expand_path("config.ru") config: File.expand_path("config.ru")
}) })
Expand Down
5 changes: 0 additions & 5 deletions railties/lib/rails/generators/rails/app/templates/Gemfile
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -23,13 +23,8 @@ source 'https://rubygems.org'


group :development, :test do group :development, :test do
<% if RUBY_ENGINE == 'ruby' -%> <% if RUBY_ENGINE == 'ruby' -%>
<%- if RUBY_VERSION < '2.0.0' -%>
# Call 'debugger' anywhere in the code to stop execution and get a debugger console
gem 'debugger'
<%- else -%>
# Call 'byebug' anywhere in the code to stop execution and get a debugger console # Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug' gem 'byebug'
<%- end -%>
# Access an IRB console on exception pages or by using <%%= console %> in views # Access an IRB console on exception pages or by using <%%= console %> in views
<%- if options.dev? || options.edge? -%> <%- if options.dev? || options.edge? -%>
Expand Down
4 changes: 0 additions & 4 deletions railties/lib/rails/generators/rails/plugin/templates/Gemfile
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -39,11 +39,7 @@ end
<% end -%> <% end -%>
<% if RUBY_ENGINE == 'ruby' -%> <% if RUBY_ENGINE == 'ruby' -%>
# To use a debugger # To use a debugger
<%- if RUBY_VERSION < '2.0.0' -%>
# gem 'debugger', group: [:development, :test]
<%- else -%>
# gem 'byebug', group: [:development, :test] # gem 'byebug', group: [:development, :test]
<%- end -%>
<% end -%> <% end -%>
<% if RUBY_PLATFORM.match(/bccwin|cygwin|emx|mingw|mswin|wince|java/) -%> <% if RUBY_PLATFORM.match(/bccwin|cygwin|emx|mingw|mswin|wince|java/) -%>
Expand Down
3 changes: 1 addition & 2 deletions railties/lib/rails/rack.rb
Original file line number Original file line Diff line number Diff line change
@@ -1,6 +1,5 @@
module Rails module Rails
module Rack module Rack
autoload :Debugger, "rails/rack/debugger" if RUBY_VERSION < '2.0.0' autoload :Logger, "rails/rack/logger"
autoload :Logger, "rails/rack/logger"
end end
end end
25 changes: 2 additions & 23 deletions railties/lib/rails/rack/debugger.rb
Original file line number Original file line Diff line number Diff line change
@@ -1,24 +1,3 @@
module Rails require 'active_support/deprecation'
module Rack
class Debugger
def initialize(app)
@app = app


ARGV.clear # clear ARGV so that rails server options aren't passed to IRB ActiveSupport::Deprecation.warn("This file is deprecated and will be removed in Rails 5.1 with no replacement.")

require 'debugger'

::Debugger.start
::Debugger.settings[:autoeval] = true if ::Debugger.respond_to?(:settings)
puts "=> Debugger enabled"
rescue LoadError
puts "You're missing the 'debugger' gem. Add it to your Gemfile, bundle it and try again."
exit(1)
end

def call(env)
@app.call(env)
end
end
end
end
22 changes: 0 additions & 22 deletions railties/test/commands/console_test.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -46,28 +46,6 @@ def test_start_with_sandbox
assert_match(/Loading \w+ environment in sandbox \(Rails/, output) assert_match(/Loading \w+ environment in sandbox \(Rails/, output)
end end


if RUBY_VERSION < '2.0.0'
def test_debugger_option
console = Rails::Console.new(app, parse_arguments(["--debugger"]))
assert console.debugger?
end

def test_no_options_does_not_set_debugger_flag
console = Rails::Console.new(app, parse_arguments([]))
assert !console.debugger?
end

def test_start_with_debugger
stubbed_console = Class.new(Rails::Console) do
def require_debugger
end
end

rails_console = stubbed_console.new(app, parse_arguments(["--debugger"]))
silence_stream(STDOUT) { rails_console.start }
end
end

def test_console_with_environment def test_console_with_environment
start ["-e production"] start ["-e production"]
assert_match(/\sproduction\s/, output) assert_match(/\sproduction\s/, output)
Expand Down
3 changes: 0 additions & 3 deletions railties/test/generators/app_generator_test.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -403,10 +403,7 @@ def test_inclusion_of_a_debugger
if defined?(JRUBY_VERSION) || RUBY_ENGINE == "rbx" if defined?(JRUBY_VERSION) || RUBY_ENGINE == "rbx"
assert_file "Gemfile" do |content| assert_file "Gemfile" do |content|
assert_no_match(/byebug/, content) assert_no_match(/byebug/, content)
assert_no_match(/debugger/, content)
end end
elsif RUBY_VERSION < '2.0.0'
assert_gem 'debugger'
else else
assert_gem 'byebug' assert_gem 'byebug'
end end
Expand Down
3 changes: 0 additions & 3 deletions railties/test/generators/plugin_generator_test.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -74,10 +74,7 @@ def test_inclusion_of_a_debugger
if defined?(JRUBY_VERSION) || RUBY_ENGINE == "rbx" if defined?(JRUBY_VERSION) || RUBY_ENGINE == "rbx"
assert_file "Gemfile" do |content| assert_file "Gemfile" do |content|
assert_no_match(/byebug/, content) assert_no_match(/byebug/, content)
assert_no_match(/debugger/, content)
end end
elsif RUBY_VERSION < '2.0.0'
assert_file "Gemfile", /# gem 'debugger'/
else else
assert_file "Gemfile", /# gem 'byebug'/ assert_file "Gemfile", /# gem 'byebug'/
end end
Expand Down

1 comment on commit 93559da

@robin850
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Refs #20612.

Please sign in to comment.