I spun up a new rails project and downloaded my favourite authentication plugin restful_authentication, only to find that all out-of-the-box tests break (oh noez!)
Clearly, I thought, restful_authentication is now just a millisecond behind edge rails... and therefore doesn't work properly anymore.
I quickly realised that no, it's just that the old-standard install (via svn) is no longer maintained - you have to move over to the github version.
This solves most of the problems, but I was still having a problem with one of the tests. It seems that acts_as_state_machine is similarly non-Rails 2.0 compliant.
Luckily, acts_as_state_machine has just a one-line fix to get it back up to scratch. It seems that the write_attribute method has been deprecated, and this causes a little bit of internal havoc for the state? style of methods (eg passive?, active? etc as used by restful_authentication).
The test cases kept giving me:
NoMethodError: You have a nil object when you didn't expect it! The error occurred while evaluating nil.to_sym
To fix it, search for the string: "def set_initial_state", then replace the line (just below it):
write_attribute self.class.state_column, self.class.initial_state.to_s
with:
self.send "#{self.class.state_column}=", self.class.initial_state.to_s
2 comments:
evolved into aasm I believe
aasm on github
Yep - thanks. Looks like it's been moved over to aasm and upgraded now. Cool stuff.
Post a Comment