Ruby on Rails Development

Building MVPs, adding feature to existing apps, and scaling your SaaS. We do it all.

Deployment Service

Get off Heroku and deploy with Kamal! We set you up on bare metal servers and help cut those large PaaS bills.


From the Blog

  • What is a good first programming language?

    There are loads of ways to get into programming and I think I have tried all of them. The first language I tried was Visual Basic because my father had an instructional book laying around and I was bored. Later I taught myself HTML and then JavaScript because I wanted to make websites on Geocities.…

  • Should you add Gemfile.lock to Git?

    TLDR: Yes for apps. Yes for Gems. Do you use version control to keep track of changes to your codebase? Or do you think version control is for the cowardly and just change files in a shared team folder and hope no one else is changing it at the same time? Of course not. You…

  • Rails Benchmarking

    So, you want to know fast your Rails app is going? If you just want to see how fast a bit of code is you can use the Benchmark module which is part of the Ruby Standard Library. If you want to compare two or more bits of Ruby code that do the same thing…

  • Cleaning up a messy Gemfile

    Maintaining a clean and organized Gemfile is crucial for the long-term health and readability of your Rails application. As applications age, their Gemfiles can accumulate complexities and messiness. In this guide, we’ll explore some rules and best practices for crafting a clean, readable Gemfile that fosters maintainability. 1. Group Gems Effectively Divide your gems into…

  • Keyword (Named) Parameters

    Introduced in Ruby 2.0, keyword parameters provide a way to pass arguments to a method by explicitly specifying parameter names and their corresponding values. This feature proves valuable, especially in scenarios involving methods with numerous parameters, as it significantly enhances code readability and clarity. Example Usage: Definition: When defining a method, keyword parameters can be…

  • Arrays in Ruby

    Arrays are ordered collections of objects. They can hold any type of Ruby object: numbers, strings, other arrays, hashes, classes and methods. Here is what a basic array looks like and is used for: Arrays are created by placing a list of objects between square brackets. Accessing arrays The data in these arrays can be…

  • Looping in Ruby

    Looping is one of the basic programming concepts that you will find in Ruby. It lets you to execute a block of code repeatedly. Ruby has a few ways to implement loops. First up: `.while`. The `.while` loop repeats a block of code over and over while the given condition remains true. When the condition…

  • Service Object (Ruby on Rails)

    Service objects are Plain Old Ruby Objects used to extract code from a part of the application where it doesn’t really belong and isolate it in its own, testable file. They often look like: They can then be called like this: This simplifies your controller and makes it much more understandable. It also separates the…

  • Ranges with 2 or 3 dots

    Ruby ranges with either two or three periods are valid ranges. However, the 2 dot and 3 dot formats produce different ranges. The 3 dot ranges exclude the end value (eg. they are not inclusive). While the 2 dot ranges are inclusive (they include the highest number). Here is a simple example:

  • Ruby Constants

    Constants store values that cannot be changed during execution. For example: In this example, `PI` is a constant representing the value of Pi. Once assigned, the value of `PI` remains the same throughout the execution of the program. This leads to code clarity and prevents an inadvertent alteration of the value of PI in another…