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