Geordi is a collection of command line tools we use in our daily work with Ruby, Rails and Linux at makandra.
Installing the geordi gem will link all included tools into your /usr/bin
:
sudo gem install geordi
Below you can find a list of all included tools.
Enables the given virtual host in /etc/apache2/sites-available
and disables all other vhosts:
site makandra-com
More information at http://makandracards.com/makandra/807-shell-script-to-quickly-switch-apache-sites
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
Opens a rails console remotely:
console-for staging
More information at http://makandracards.com/makandra/1338-console-for-opens-a-rails-console-remotely-on-a-capistrano-deployment-target
Runs Cucumber with the arguments you want: bundle exec, cucumber_spinner detection, separate Firefox for Selenium, etc.:
cuc features/users.feature
More information at http://makandracards.com/makandra/1277-a-nicer-way-to-run-rspec-and-or-cucumber
Removes unnecessary files from your project directory:
cleanup-directory
More information at http://makandracards.com/makandra/951-shell-script-to-clean-up-a-project-directory
Shows the commits between your master
and production
branch, then merges the changes and deploys to the production Capistrano stage:
deploy-to-production
More information at https://makandracards.com/makandra/7971-shell-script-to-deploy-changes-to-production-and-not-shoot-yourself-in-the-foot
Dumps the database on your server for a given Capistrano multistage deployment target. Passing the -s option automatically sources the dump ito your development database.
dump-for production [-s]
More information at http://makandracards.com/makandra/1237-script-to-create-and-copy-a-production-dump-to-your-project-root
Stores a timestamped database dump for the given Rails environment in ~/dumps
:
dumple development
More information at http://makandracards.com/makandra/1008-dump-your-database-with-dumple
Loads a database dump (e.g. created with dump-for or dumple) into you database.
load-dump [path/to/dump]
More information at https://makandracards.com/makandra/8975-geordi-use-load-dump-script-to-source-a-database-dump-into-your-database
Shell script to generate a git commit with Pivotal Tracker story ID and title. Run it from your project directory:
gitpt
This lets you choose from all started, finished and rejected stories in Pivotal Tracker and commit staged changes.
Requires the project's Pivotal Tracker ID(s) to be defined in a .pt_project_id
file in the project's directory.
More information at https://makandracards.com/makandra/1372-shell-script-to-generate-a-git-commit-with-pivotal-tracker-story-id-and-title
Installs all gems in your Gemfile.lock
, as well as vendored gems, to the given host:
install-gems-remotely my.server.com
More information at http://makandracards.com/makandra/692-install-a-local-gemfile-on-a-remote-server
Runs power-rake db:migrate
if parallel_tests does not exist in your Gemfile
. Otherwise it runs the migration
in your development environment and executes b rake parallel:prepare
after that.
migrate-all
Calls the Capistrano tasks deploy
, deploy:migrate
and deploy:restart
on the given Capistrano multistage deployment target:
power-deploy staging
This script is considered legacy and will be removed eventually. You should fix your deploy scripts and then use cap deploy:migrations.
Runs the given rake task in each Rails environment in development
, test
, cucumber
, performance
, if existing:
power-rake db:migrate
More information at http://makandracards.com/makandra/737-run-a-rake-task-in-all-environments
Recursively removes executable flags from files in the working directory that probably shouldn't have them (like Ruby, HTML, CSS, image, Rake and similar files).
remove-executable-flags
More information at http://makandracards.com/makandra/659-recursively-remove-unnecessary-execute-flags
Runs RSpec with the arguments you want: RSpec 1/2 detection, bundle exec, rspec_spinner detection, etc.:
rs spec/models/user_spec.rb
More information at http://makandracards.com/makandra/1277-a-nicer-way-to-run-rspec-and-or-cucumber
Helps you create an frozen version of Firefox, so your Selenium tests will no longer break whenever Firefox updates:
setup-firefox-for-selenium
More information at http://makandracards.com/makandra/1575-how-to-install-a-frozen-version-of-firefox-for-your-selenium-tests
Opens an SSH shell on the given Capistrano multistage deployment target:
shell-for production
Now it can also be called with any command to be remotely executed before loading the bash. --no-bash
skips the bash.
shell-for staging --no-bash top
More information at http://makandracards.com/makandra/1209-script-to-open-an-ssh-shell-to-a-capistrano-deployment-target
Executes a tail -f
on the application log on all servers for the given Capistrano multistage deployment target:
tail-for production
More information at http://makandracards.com/makandra/1209-script-to-open-an-ssh-shell-to-a-capistrano-deployment-target
Runs both rs
and cuc
. Call from any project directory:
tests
More information at http://makandracards.com/makandra/1277-a-nicer-way-to-run-rspec-and-or-cucumber