We’re all familiar with search engine friendly URLs ie. a filter on ‘Mid range’ would be hyphenated to /mid-range. TL;DR you can have a slug with multiple hyphenated search terms by iterating and extracting the terms in your taxonomy from the slug but you must ensure only one slug will...

When working on component based Rails applications you create a dependency hierarchy of local engines. Let’s say you have an admin_ui engine and a public_ui engine and they both depend on a domain_logic engine. TL;DR add bundler’s undocumented path 'components' at the top of your Gemfile and it will recursively...

I was working on a Ruby app that depended on a few private gems, the development was not just changing the app but also those gems. During development the Gemfile would look like: gem 'cargo_estimates', path: 'local_engines/cargo_estimates' gem 'shipping_calculator', path: 'local_engines/shipping_calculator' Running bundle would set the Gemfile.lock to those gem...

In the past I used Rails engines to create smaller components in complex Rails applications with the objective of a better long term maintainability. What that usually means is I separate out user interface engines from domain logic engines. For the last two months I’ve been working on a greenfield...

This is a short story about the creation and maintenance of a large Ruby on Rails application, and how after initially sticking to the Rails conventions I questioned them and used Rails plugins to structure the code of new components. Thanks to Ben and Red Ant to let me use...