my current Work Stack

  • iOS Objective-C
  • Ruby
  • Mongo
  • Rails/Sinatra
  • jQuery
  • Capistrano
  • Passenger
  • Apache.Nginx
  • Heroku
  • Nodejs
last edited 02.10.2012

here's all my posts so far

02/10 Using the Facebook SDK in an IOS Static Library
04/11 Managing Development or Sometimes work gets in the way of work
12/21 Git Stash: For when your boss|clients|life priorities change
12/09 Picker Fields in Titanium
11/30 An Update on Raphael JS and Charts
10/08 How to make a Native App Form that doesn't suck with Titanium
09/23 Notification Subscriptions in Gowalla
09/21 Developing an API in Rails
08/26 I was promised Event Driven APIs and hoverboards. Where are my hoverboards?
08/14 A Node.js wrapper for Gowalla
08/09 Phusion Passenger Tweaking: Apache stuck in Sending(W)
06/28 HTML 5 is here and breaking old hacks we should have never done!
06/26 Simple PDFkit example in Rails 3
06/23 Raphael.serialize
06/12 Serializing RaphaelJS
06/11 Rails 3 beta4 destroyed my Tie Fighter
05/21 Rails 3 and Shoulda
05/13 Using yaml to configure default options for Paperclip
05/07 It's OK to not be pretentious
04/23 Snippet #1
04/21 I Need Closure
04/16 The Good and Bad of Github
04/08 Fun with Beards, or at least mine

here's some tweets I made

Rails 3 and Shoulda

I really want to use Rails 3 on a project that won't see a production server until at least July. So I went for it. After having to remind myself to check github for a rails3 branch on every gem I use, I only had one nemesis to defeat: Shoulda.

When you run rake test:units, shoulda says (or something similar):

.rvm/gems/ruby-1.9.1-p378/bundler/gems/shoulda-b78dbf514bbce3272023d3a4742474857c2eb3c3-rails3/lib/shoulda/autoload_macros.rb:40:in `join': can't convert # into String (TypeError)

Following some tips at RailsPlugins.org I got shoulda working. The problem happens long before your tests run. It's in the loading phase. Until our boys at thoughtbot get it working, we can work around it by manually loading shoulda with Bundler.

In test/test_helper.rb add:

1
Bundler.require(:shoulda)

And in your Gemfile, move your gem shoulda line to it's own group, like this:

1
2
3
group :shoulda do
  gem 'shoulda', :git => "git://github.com/thoughtbot/shoulda.git", :branch => "rails3"
end

Just doing those simple things got shoulda working for me. Now I have to make all my tests pass.

blog comments powered by Disqus