Some time ago I added the following line to my .zshrc (and .bashrc as well):
alias rs='rails server -b 0.0.0.0'
This gave me an easy to use and easy to remember way to start my rails server when working on a Ruby on Rails project. I have several of these two-word aliases spread across my configuration files and I love them.
But recently I started working on a project that uses Foreman to run the server and several other niceties. It has a very nice README file that explains how to configure and run Foreman, but I never configured it until a couple of weeks ago.
My new command to start this particular app is
foreman start
but I keep using rs
since it's engraved in my muscle memory, and that's making me miss some awesome features of the development server.
So I finally decided to do it… I removed my rs
alias from my config and created an rs
command written in Bash that does what I need depending on the project.
Here's the script:
#!/bin/bash
if [ -f .foreman ]; then
foreman start
else
rails s -b 0.0.0.0
fi
It's tiny, but it helps big time. It checks if there is a .foreman file and in that case runs foreman start
. If the file is not there, it means that Foreman is not configured on that particular project and runs the old rails s -b 0.0.0.0
instead.
Hope you like this trick.
Saluti.