From 6e0082da9e46a35643b87369951bcb22175a8f5e Mon Sep 17 00:00:00 2001 From: Guillermo Date: Sun, 26 Sep 2010 11:03:47 -0500 Subject: [PATCH] Files are uploaded to S3 if the ENV variables are set (Heroku-friendly) --- Gemfile | 1 + Gemfile.lock | 7 +++++++ config/initializers/carrierwave.rb | 10 +++++++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index cf863eb43..ece3df81c 100644 --- a/Gemfile +++ b/Gemfile @@ -36,6 +36,7 @@ gem 'magent', :git => 'http://github.com/dcu/magent.git' #File uploading gem 'carrierwave', :git => 'git://github.com/rsofaer/carrierwave.git' , :branch => 'master' #Untested mongomapper branch gem 'mini_magick' +gem 'aws' group :test, :development do gem 'factory_girl_rails' diff --git a/Gemfile.lock b/Gemfile.lock index ac66e59c1..c9f3289e1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -99,6 +99,10 @@ GEM arel (1.0.1) activesupport (~> 3.0.0) autotest (4.3.2) + aws (2.3.21) + http_connection + uuidtools + xml-simple bcrypt-ruby (2.1.2) bson (1.0.7) bson_ext (1.0.7) @@ -126,6 +130,7 @@ GEM haml (3.0.18) hashie (0.4.0) highline (1.6.1) + http_connection (1.3.1) i18n (0.4.1) json (1.4.6) lsof (0.3.0) @@ -218,6 +223,7 @@ GEM rack (>= 1.0) rack-test (>= 0.5.3) will_paginate (3.0.pre2) + xml-simple (1.0.12) PLATFORMS ruby @@ -225,6 +231,7 @@ PLATFORMS DEPENDENCIES addressable autotest + aws bson (= 1.0.7) bson_ext (= 1.0.7) bundler (= 1.0.0) diff --git a/config/initializers/carrierwave.rb b/config/initializers/carrierwave.rb index b28f1be66..ed1d07f91 100644 --- a/config/initializers/carrierwave.rb +++ b/config/initializers/carrierwave.rb @@ -3,5 +3,13 @@ # the COPYRIGHT file. CarrierWave.configure do |config| - config.storage = :file + if ENV['S3_KEY'] && ENV['S3_SECRET'] && ENV['S3_BUCKET'] + config.storage = :s3 + config.s3_access_key_id = ENV['S3_KEY'] + config.s3_secret_access_key = ENV['S3_SECRET'] + config.s3_bucket = ENV['S3_BUCKET'] + config.cache_dir = "#{Rails.root}/tmp/uploads" + else + config.storage = :file + end end