Strange regression in 3.0.14

I updated an application from 3.0.10 to 3.0.14, and now I’m getting an
error of

NoMethodError (undefined method collect' for #<Mysql::Result:0x9b89bc0>): app/models/attachment.rb:20:inset_uid’
app/controllers/attachments_controller.rb:24:in `create’

It’s being triggered by the call to Attachment.find_by_uid in this
method, which is called in a before_create callback in attachment.rb:

def set_uid
code = { ((‘A’…‘Z’).to_a + (0…9).to_a)[rand(36)]
if Attachment.find_by_uid(code)
return self.set_uid()
self.uid = code

This works perfectly in 3.0.10, and fails in 3.0.14. One other wrinkle,
this is using the mysql (not mysql2) adapter, as I can’t get mysql2 to
build on my Joyent SmartOS server.

I met strictly the same problem. Have you a solution?

No, nothing yet. I am trying a new server as soon as I have time to
migrate, but for now I am living dangerously!



Thanks for the find!


Found the cause:

And its resolution: Rails 3.0.15 was discreetly released some days ago.