Class: AssetUploader::Uploader

Inherits:
Object
  • Object
show all
Defined in:
lib/asset_uploader/uploader.rb

Constant Summary collapse

S3_CONFIG =
{
  :access_key_id     => get_env('AU_ACCESS_KEY_ID'),
  :secret_access_key => get_env('SECRET_ACCESS_KEY'),
  :bucket_name       => get_env('AU_BUCKET_NAME')
}

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.get_env(name) ⇒ Object



8
9
10
11
12
13
# File 'lib/asset_uploader/uploader.rb', line 8

def self.get_env(name)
  ENV[name] || begin
    STDERR.puts "#{name} is not set in your environment"
    exit(1)
  end
end

Instance Method Details

#do_upload(name, filename) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/asset_uploader/uploader.rb', line 21

def do_upload(name, filename)
  content = open(filename)
  connect_to_s3  
  bucket = S3_CONFIG[:bucket_name]
  ext = File.extname(filename)
  AWS::S3::S3Object.store(name, 
                          content, 
                          bucket, 
                          :access => :public_read)
#                              :content_type => MIME_TYPES[ext], 
#                              :content_disposition => 'attachment')
  AWS::S3::S3Object.url_for(name, bucket)
end