Geordi is a collection of command line tools we use in our daily work with Ruby, Rails and Linux at makandra.
geordi gem will install some binaries (see below):
gem install geordi
The base command line utility offering most of the commands.
You may abbreviate commands by typing only the first letter(s), e.g.
dev will boot a development server,
geordi s -t will setup a project and run
tests afterwards. Underscores and dashes are equivalent.
For details on commands, e.g. supported options, run
geordi help <command>.
geordi apache-site VIRTUAL_HOST
Enable the given virtual host, disabling all others.
geordi capistrano COMMAND
Run a capistrano command on all deploy targets.
geordi capistrano deploy
Remove unneeded files.
Commit using a story title from Pivotal Tracker.
geordi console [TARGET]
Open a Rails console locally or on a Capistrano deploy target.
Open a local Rails console:
Open a Rails console on
geordi console staging
geordi cucumber [FILES]
Run Cucumber features.
geordi cucumber features/authentication_feature:3
Runs Cucumber as you want: with
separate Firefox for Selenium, etc.
Start a development server.
geordi dump [TARGET]
When called without arguments, dumps the development database with
When called with the
--load option, sources the specified dump into the
geordi dump -l tmp/staging.dump
When called with a capistrano deploy target (e.g.
staging), remotely dumps
the specified target's database and downloads it to
geordi dump staging
When called with a capistrano deploy target and the
--load option, sources the
dump into the development database after downloading it.
geordi dump staging -l
Open the current Eurest cantina menu.
geordi help [COMMAND]
Describe available commands or one specific command.
Migrate all databases.
If you are using
parallel_tests, this runs migrations in your development
rake parallel:prepare afterwards. Otherwise, invokes
Optimize .png files.
- Removes color profiles: cHRM, sRGB, gAMA, ICC, etc.
- Eliminates unused colors and reduces bit-depth (if possible)
- May reduce PNG file size lossless
*.png files in a directory:
geordi png-optimize directory
Batch-optimize the current directory:
geordi png-optimize .
Optimize a single file:
geordi png-optimize input.png
geordi rake TASK
Run a rake task in several Rails environments.
geordi rake db:migrate
TASK is run in the following Rails environments (if present):
Remove executable-flags from files that should not be executable.
geordi rspec [FILES]
geordi rspec spec/models/user_spec.rb:13
Runs RSpec as you want: with RSpec 1/2 detection,
bundle exec, rspec_spinner
geordi security-update [STEP]
Support for performing security updates.
Preparation for security update:
After performing the update:
geordi security-update finish
Switches branches, pulls, pushes and deploys as required by our workflow. Tells what it will do before it does it.
Setup a project for the first time.
Check out a repository, cd into its directory. Now let
setup do the tiring
bundle install, create
database.yml, create databases, migrate
(all if applicable).
After setting up, loads a dump into the development db when called with the
geordi setup -d staging
After setting up, runs all tests when called with the
geordi setup -t
geordi help setup for details.
geordi setup-firefox-for-selenium VERSION
Install a special firefox for running Selenium tests.
Setup VNC for running Selenium tests there.
geordi shell TARGET
Open a shell on a Capistrano deploy target.
geordi shell production
Lets you select the server to connect to when called with
geordi shell production -s
Run all employed tests.
Bring a project up to date.
bundle install (if necessary) and migrates (if applicable).
After updating, loads a dump into the development db when called with the
geordi update -d staging
After updating, runs all tests when called with the
geordi update -t
geordi help update for details.
Print the current version of geordi.
Show the hidden VNC window.
geordi with-firefox-for-selenium COMMAND
Run a command with firefox for selenium set up.
geordi with-firefox-for-selenium b cucumber
Useful when you need Firefox for Selenium, but can't use the
Runs the given command under
bundle exec if a
Gemfile is present in your
working directory. If no
Gemfile is present just runs the given command:
b spec spec/models
More information at http://makandracards.com/makandra/684-automatically-run-bundle-exec-if-required
Stores a timestamped database dump for the given Rails environment in
More information at http://makandracards.com/makandra/1008-dump-your-database-with-dumple
Used by the
geordi cucumber command. Makes launchy open pages in the user's
browser, as opposed to opening it within the VNC window.
edit it to do what you need it to do. Usually, it is hard to automatedly test
Geordi commands, so make sure you've manually tested it.
Don't forget to update this README. The whole
geordi section is auto-generated