Professional Debugging in Rails

Written by fatymahmed | Published 2019/12/27
Tech Story Tags: debugging | rubygems | ruby-on-rails | bugs | software-development | web-app-development | coding | bye-bug

TLDR Debugging is as important as writing code, it can cause your program to crash or behave unexpectedly. Byebug is a working breakpoint, this means you can inspect your data at any stage where you place the breakpoint. pry is very similar with byebug but it isn’t automatically shipped with rails, so you have to install it yourself. To use pry on your application, simple place the code below on where you’d like to inspect. It’s similar to the debugger in the console for JavaScript.via the TL;DR App

Debugging is as important as writing code, it can cause your program to crash or behave unexpectedly. Most of the time, debugging can be very stressful, especially when one doesn’t use the right tools to debug.
When I started building apps in rails, I used the helper method inspect to inspect my code, but it got tiresome to type inspect on each data that I wanted to inspect, so I decided to spend some time learning debugging tools that made it easier and faster to debug.
In this article, I shall talk about a few tools that help me so much when I debug my code.

Byebug

Byebug is a gem which is automatically shipped with rails, you can find it in gemfile in your app directory. Byebug is a working breakpoint, this means you can inspect your data at any stage where you place the breakpoint, all you have to do is to type byebug where you’d like to inspect and run the app.
Once the app reaches the breakpoint, the server hangs and a terminal appears and you can type anything that you’d like to inspect.
Another great feature of byebug is that you continue or step into any function calls and inspect them too. It’s similar to the debugger in the console for JavaScript. 
To continue running the app until the next byebug command or the end of your application if you don’t have any, you simply type continue in the terminal, step to step into and next to move to the next line of code.
byebug debugger placed on index action
Use byebug to inspect books
use next command to execute next line of code

PRY

Pry is very similar with byebug but it isn’t automatically shipped with rails, So you have to install it yourself.
To install pry, simply add 
gem ‘pry-byebug’
in your gemfile then run
bundle install
or check out the pry’s documentation for more information.
To use pry on your application, simple place the code below on where you’d like to inspect
<% binding.pry %>
using pry as a debugger
Nicer syntax with pry
An advantage of using pry over byebug is that pry returns a nicer format of the data you requested for, it also highlights the syntax of the code around the breakpoint.
You can can place more than one "byebug" or "pry" in a single file and use ‘next’ to step into the next line of the code or 'continue' if you want your code to run till the end if there's only one "byebug" or pry in the file.
To quit the pry terminal you should type ":q", to navigate up and down, you could use "j" and "k" respectively.

Resources


Written by fatymahmed | https://www.fatimahmed.com/
Published by HackerNoon on 2019/12/27