devroom.io/content/posts/2010-04-25-ruby-version-and-gemset-in-your-bash-prompt-yes-sir.md

40 lines
1.3 KiB
Markdown
Raw Normal View History

2013-03-24 21:28:43 +00:00
---
title: "Ruby version and gemset in your Bash prompt? Yes sir!"
kind: article
slug: ruby-version-and-gemset-in-your-bash-prompt-yes-sir
created_at: 2010-04-25
tags:
- Ruby
- BASH
- rvm
- gemset
- profile
---
RVM is an easy way to switch between different ruby implementations and gemsets. If you don't know about it, [go check it out][1]. If you do know about, you'll know how annoying it is never to know which ruby version and gemset you're currently using. Here is a nice `.profile` hack that shows your current ruby version and optional gemset in your prompt.
[1]: http://rvm.beginrescueend.com/
~
Firstly, add the following function to your `~/.profile`:
function rvm_version {
local gemset=$(echo $GEM_HOME | awk -F'@' '{print $2}')
[ "$gemset" != "" ] && gemset="@$gemset"
local version=$(echo $MY_RUBY_HOME | awk -F'-' '{print $2}')
[ "$version" != "" ] && version="@$version"
local full="$version$gemset"
[ "$full" != "" ] && echo "$full "
}
Next, you can use this function in your prompt. Like this:
export PS1="\$(rvm_version) \w \$(parse_git_branch) \$ "
The results? For standard ruby 1.8.7
@1.8.7 ~ $
Or with the `rails3` gemset enabled:
@1.8.7@rails3 ~ $
So, now you always know which ruby you're using! Happy coding!