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

  • Should I use a Struct or an OpenStruct (Ruby)?

    At first glace the choice between using a `Struct` or an `OpenStruct` is just preference. They are very similar and (mostly) behave the same way. Pretty similar, right? Actually there are some differences and these should inform your choice. The choice revolves around the specific characteristics of your data structure so lets look at those.…

  • Why do we Bundle exec (re-examined)

    Why do we prepend so many commands with `bundle exec`? For example: Prerequisite knowledge What is Bundler Bundler is a dependency manager tailored for Ruby projects. Its primary role is to ensure the accuracy of gem versions within a given project. Bundler does this by creating a separate environment for each Ruby project on your…

  • JavaScript Hoisting intro

    Hoisting is where a variable and function declaration is moved to the top of its scope during compilation. This means that variables and functions can be used before they are declared in the code. You should know that since the declaration is hoisted but not the initialization of the variable the variable will be undefined.…

  • How to get the min and max from an Array (Ruby)

    Arrays have a couple methods to get the minimum and maximum. Three common ones are .min, .max, .minmax. .max will get you the maximum value. .min will get the minimum value. If you need both the minimum and the maximum from an array then the best solution is using the ruby method minmax. It will…

  • JSON Web Token basics

    A JSON Web Token (JWT) is an internet standard for representing claims securely between two parties. JWTs contain three parts: the *header*, the *payload*, and the *signature*. They are joined together by `.` to create a JWT like: `aaaaaa.bbbbb.ccccc`. Example JWT Decoded Header Payload Signature Encoded When to use a JWT? – Authorization – After…

  • React Component Intro

    React, a popular JavaScript library for building user interfaces, is known for its component-based architecture. A React component is essentially an independent, reusable piece of code that returns HTML to be rendered on the page. These components are the building blocks of React applications, enabling developers to create complex UIs from small, isolated pieces of…

  • Stimulus Intro

    Stimulus is the Rails team JavaScript framework which intends to provide an elegant and simple solution to enhancing HTML interactivity without reaching for the complexity of a full Single Page Application (SPA). It’s meant for developers looking to augment their normal Rails, server-rendered pages with just a bit of client-side JavaScript. Stimulus is used to…

  • Binstubs

    Binstubs, short for “binary stubs,” are small executable scripts that act as wrappers around Ruby executables or scripts. They are commonly used in Ruby projects managed with Bundler to provide a convenient way to execute commands without needing to prepend them with bundle exec. When you run `bundle install –binstubs` Bundler will create a bin…

  • Ruby Benchmark

    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 and see how fast they are against each other then you…

  • Link_to and Link_to_unless

    Building a navigation bar in Rails is pretty easy. You simply write up something like: And you get a set of urls for your link that look like this: However if you are on the “Docs” page already then you dont’t really need the “Docs” link to be a link. It could just be text.…