That sounds like dependency loading weirdness. If you just plopped the aws
code into your plugins directory you might need to explicitly require it in
your environment.rb. If you are using it from gems, then something is likely
funky. aws/s3's implementation is completely orthogonal to Rails. The only
software that it depends on having a certain version of is Ruby (1.8.2 or
greater) and the libraries that it has as depencencies.
Having said that, I bet we can get Rails 1.16 to load it up correctly. Just
let me know how you are hooking it into the app. Via the plugins directory or
via rubygems. Where are you referencing it in your app? Required in
environment.rb or just const missing magic?
I am requiring it in my environment.rb file (and that's where it is choking - if I comment that out, all is well). I am adding the following to environment.rb:
require 'aws/s3'
include AWS::S3
I then go on to use it in several places in the app.
It works great with 1.2, by the way. It's just 1.1.6 that chokes.
Ah, that's what it is. I think ActionWebService has an ACL module, or maybe
someting in ActionMailer does, so since that is already loaded, when you
include AWS::S3 it sees the ACL class and isn't happy.
You can instead do
include AWS
And then you should be fine, though you'll have to change your code to say
S3::Bucket or whatever.