Class: CloudfrontUploader
- Inherits:
-
CdnFu::Uploader
- Object
- CdnFu::Uploader
- CloudfrontUploader
- Includes:
- AWS::S3
- Defined in:
- lib/cdn_fu/uploaders/cloudfront_uploader.rb
Constant Summary collapse
- MAX_KEYS =
1000
Instance Method Summary collapse
- #upload(file_list) ⇒ Object
-
#validate ⇒ Object
This uploader requires a valid asset_id at the top level configuration because cloudfront only invalidates its files every 24 hours, so you need to have an incrementing id to avoid stale assets.
Methods inherited from CdnFu::Uploader
#attribute_validate, optional_attributes, required_attributes, #validate_and_upload
Instance Method Details
#upload(file_list) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/cdn_fu/uploaders/cloudfront_uploader.rb', line 12 def upload(file_list) access_key = @s3_access_key ? @s3_access_key : ENV["CDN_FU_AMAZON_ACCESS_KEY"] secret_key = @s3_secret_key ? @s3_secret_key : ENV["CDN_FU_AMAZON_SECRET_KEY"] AWS::S3::Base.establish_connection!( :access_key_id => access_key, :secret_access_key => secret_key ) populate_existing_asset_checksums(file_list) file_list.each do |file| upload_single_file(file) end end |
#validate ⇒ Object
This uploader requires a valid asset_id at the top level configuration because cloudfront only invalidates its files every 24 hours, so you need to have an incrementing id to avoid stale assets
31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/cdn_fu/uploaders/cloudfront_uploader.rb', line 31 def validate if !CdnFu::Config.config.asset_id raise CdnFu::ConfigError, "You must specify an asset_id at the top level" end access_key = @s3_access_key ? @s3_access_key : ENV["CDN_FU_AMAZON_ACCESS_KEY"] secret_key = @s3_secret_key ? @s3_secret_key : ENV["CDN_FU_AMAZON_SECRET_KEY"] if !access_key or !secret_key raise CdnFu::ConfigError, "Please specify s3_access_key and s3_secret_key attributes or use the environnment variables: CDN_FU_AMAZON_ACCESS_KEY and CDN_FU_AMAZON_SECRET_KEY" end end |