Skip to content
Best Practice: How to debug sinatra with debugger and pry
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.pryrc
Gemfile
Gemfile.lock
README.markdown
config.ru
my_app.rb

README.markdown

Objective

Simply Disply How to debug sinatra application with debugger or pry

especially, I would like to step in method debug like below

step

How to Use

# added to the Gemfile
group :development, :test do
  gem 'awesome_print'
  gem 'racksh'
  gem 'debugger'
  gem 'pry'
  gem 'pry-debugger'
end

You can just use debugger, if you run it ruby my_app.rb

class MyApp < Sinatra::Base
  enable :sessions
  get '/' do
    debugger
    session[:user] = 'anonymouse'
    redirect to('/bar')
  end

visit at http://localhost:4567

You can use pry, if you run it rackup

class MyApp < Sinatra::Base
  enable :sessions
  get '/' do
    binding.pry
    session[:user] = 'anonymouse'
    redirect to('/bar')
  end

in case to use the short cut of next contine step finish add pry config

#.pryrc
Pry.commands.alias_command 'c', 'continue'
Pry.commands.alias_command 's', 'step'
Pry.commands.alias_command 'n', 'next'
Pry.commands.alias_command 'f', 'finish'

visit at http://localhost:9292

looks like

ruby my_app.rb

debugger

rackup

pry

sinatra console

You may also would like to know how to run console for sinatra and simulate a get or post call from console, try racksh

racksh

Something went wrong with that request. Please try again.