Is there a way to read a file object using Fog and CarrierWave?

amazon-s3, carrierwave, fog, ruby-on-rails, ruby-on-rails-3.2

Solution

You can use the `read` method on the uploader object. If we have a model called MyModel which has a field called `attachment` which was added using CarrierWave's `mount_uploader` method, we can do the following:

obj = MyModel.first
contents = obj.attachment.read

This will get the actual contents of the file. Check out this doc.

Problem

I'm using CarrierWave and Fog to store attachments to an ActiveRecord model on S3. I can use them to generate the URL, but I can't seem to locate any method to actually read a file. Is this something that the Fog gem will even do, or do I need to use the S3 gem for that?

Original source