Skip to main content

rvm + gemsets + TextMate == yay!

So I started playing with rvm a while back and loved the concept of being able to have a gems(et) for each project to completely eliminate gem clashing.

So I now have an .rvmrc in each project directory with the necessary gems installed, no more, no less.

I also have a global gem set that has common gems in it that I use all over the place and aren’t really project specific so I don’t have to install them in every gems(et). Thanks Wayne!

Now, to take it to the next level I wanted to be able to use ⌘+^+R to run the current Cucumber scenario. So I needed to get TextMate aware of my rvm gems(et). This requires setting 3 project specific variables in TextMate.

  1. TM_RUBY
  2. GEM_HOME
  3. GEM_PATH

To get TM_RUBY cd into your project with a .rvmrc in it or set the environment with rvm your_ruby%gemset then run

which ruby

To get GEM_HOME and GEM_PATH run

env | grep GEM

To set these in your project you need to have the project drawer open and nothing selected, then click the “I” button in the bottom corner, then you can add your variables.

I tried to think up a way to have TextMate read the .rvmrc in the project directory, but I wasn’t able to get anything to setup the environment. If anybody has any suggestions I’d love to hear them.

continue reading

Clearance Crypto

So in my foray into the rails templates world I’ve stumbled onto a couple of authentication options that I wasn’t previously aware of.

Authlogic which is nice in that it moves all the actual authentication logic into a gem to make updates dead simple. The one thing I didn’t like was that you have to generate all of your own MVC code. Though honestly this isn’t such an issue now that I have it all rolled in to a Rails 2.3 template

Clearance is also nice in that it generates the MVC code yet still keeps all the authentication logic in a gem for easy updates. The only thing I didn’t really care for, though I do understand why they did it, is the inability to choose the hash algorithm.

Along comes ClearanceCrypto this provides a very similar way to choose the hashing algorithm like you can in Authlogic. The code was picked and tweaked from the Authlogic code to match the way Clearance checks the authentication.

It’s very new and may have issues. Feel free to let me know if you find anything.

continue reading

Rails templates - Round 3

And yet another big change to Strappy there is a new branch that allows you to choose the authentication method you want to use (Authlogic, Clearance or restful_authentication) it’s currently located in a branch called choosy but will probably be moving to master soon.

continue reading

expose_model

I read an article by Stpehen Celis way back when and liked the idea behind it, but not having to add the methods to all my controllers. So I rolled it up into a gem and can now get the same functionality by doing

class FooController < ApplicationController
  expose_model :foo
end

and get the foo and foos methods plus the helper_methods.

You can find it on github

continue reading

Rails templates

Ok, I admit I’m a little late to the party.

I finally stumbled onto the rails templates and really like the idea. I was using bort but I wasn’t all that hapy with some of the decisions they made, like rolling all the migrations into one monolithic beast.

I took the forked version of bort and turned it into a rails template. Very nice.

You can find strappy here

The next step I plan on is making the restful_authentication generator build specs with 100% coverage. I see no reason to start an app at 88%

continue reading

Latest comments

A very happy Sean on rvm friendly TextMate bundles on Aug 10, 2010 at 02:43 AM

Thanks so much for these. I’d almost give up on getting Textmate working with RVM.

A very happy Sean

Ed Ruder on rvm + gemsets + TextMate == yay! * 2 on Jul 30, 2010 at 04:06 PM

What got everything working for me was to: a) follow the directions on http://rvm.beginrescueend.com/integration/textmate/, b) rename a second Builder.rb file in ~/Library/Application\ Support/TextMate/Pristine\ Copy/Support/lib, and c) set up TM_RUBY per slides 36 & 37 of http://www.slideshare.net/freelancing_god/zsh-and-rvm (create a shell script that resolves to rvm’s ruby on the fly and point TextMate to it)!

Now, everything is working like a charm! (No mucking with TextMate’s Bundle Editor, either, which is nice.)

Ed Ruder

Trevor on rvm friendly TextMate bundles on Jun 22, 2010 at 10:20 AM

Really excited to see that you’ve put this together, but I’m having trouble getting it to see anything other than my system Ruby. I’ve set up the .rvmrc in my project w/ the proper ruby and can confirm that it’s seeing the right one. I assume that this is intended to use project-level .rvmrc?

Trevor

Gerhard on rvm + gemsets + TextMate == yay! * 2 on Jun 02, 2010 at 04:27 AM

This kinda’ works, but I’m getting a weird error related to paths even though the path that it’s complaining about is correct and the file exists, is readable etc.

Also, formatting is all screwy when it uses rvm & gemsets.

Gerhard

jake on rvm + gemsets + TextMate == yay! * 2 on May 18, 2010 at 10:10 AM

You will have to edit each command you want to have these changes in the Bundle Editor.

jake