app/helpers/uploadbox/img_helper.rb in uploadbox-0.0.8 vs app/helpers/uploadbox/img_helper.rb in uploadbox-0.0.9

- old
+ new

@@ -1,12 +1,41 @@ module Uploadbox module ImgHelper + def s3_policy + Base64.encode64(policy_data.to_json).gsub("\n", "") + end + + + def s3_signature + Base64.encode64( + OpenSSL::HMAC.digest( + OpenSSL::Digest::Digest.new('sha1'), + ENV['S3_SECRET'], + s3_policy + ) + ).gsub("\n", "") + end + def img(*args) upload = args[0] if upload.is_a? CarrierWave::Uploader::Base image_tag(upload.url, width: upload.width, height: upload.height) else image_tag(*args) end end + + private + def policy_data + { + expiration: 10.hours.from_now.utc.iso8601, + conditions: [ + ["starts-with", "$key", 'uploads/'], + ["content-length-range", 0, 500.megabytes], + ["starts-with","$content-type",""], + {bucket: ENV['S3_BUCKET']}, + {acl: 'public-read'} + ] + } + end end end