How to: Dynamically set storage type - carrierwaveuploader/carrierwave GitHub Wiki

You can set the storage type dynamically by passing in a class method of your uploader to the storage method.

Example:

class AvatarUploader < CarrierWave::Uploader::Base
  def self.set_storage
    if Configuration.use_cloudfiles?
      :fog
    else
      :file
    end
  end

  storage set_storage
end