pothoven-attachment_fu 3.2.18 → 3.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/CHANGELOG +4 -0
- data/README.rdoc +3 -1
- data/lib/technoweenie/attachment_fu/backends/s3_backend.rb +42 -39
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YjRhMjdkMWRkOThhNDgyNDdhZjIwMTA3N2JjM2ZkN2Q1MjVmODljNA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NjY2Yjg2MzQ1ZDU3MmY0YzVmNGIzMTBhNTIxYzBhM2Q0ZDI5MTEwMg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MTI4OGU5OWJmZTUzY2E5YmNlMTVmZGY5MTVkYWVkNWQyNjg3OTY3MDJkYjY1
|
10
|
+
ZTg2MmZjMzI3MzQ4MjJkM2RhY2RiZTFlMTUxOTkzMmFmNzY5NTA1NjgyMjVk
|
11
|
+
ZmIyNjk1ZGMwM2I2OTI0YmNjZDcyYTExYzdkZmM1ZWM2ZjA2OTc=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OGYyZGI4NjYyYzRhMmM0NDE5ZmFiZTNmMzRjYTA2YTI5Njk2NzBjYWI4N2Jh
|
14
|
+
ZDMyN2ZjMTI1ZTNhMDE4ZGQ1NzczNjU2ZDk2NTMxMWJhMWZjMzg0NGNjYWJi
|
15
|
+
NGU3ZjlkODkyZmU4ZDI1ZTE0MDk1MzJiMzU3N2Y3ODA4MWI4NzI=
|
data/CHANGELOG
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
* Apr 19, 2017 *
|
2
|
+
* Pull in changes from bacrossland to upgrade from aws-s3 gem to aws-sdk gem *
|
3
|
+
* Bump version to 3.3.0 to try to protect auto builds using s3 gem from breaking *
|
4
|
+
|
1
5
|
* May 27, 2016 *
|
2
6
|
* Pull in changes from gaugausi to fix for non-existent #where interface in Rails 2.3 *
|
3
7
|
|
data/README.rdoc
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
= attachment-fu
|
2
2
|
|
3
|
-
{<img src="https://badge.fury.io/rb/pothoven-attachment_fu.svg" alt="Gem Version" />}[
|
3
|
+
{<img src="https://badge.fury.io/rb/pothoven-attachment_fu.svg" alt="Gem Version" />}[https://rubygems.org/gems/pothoven-attachment_fu]
|
4
|
+
{<img src="http://ruby-gem-downloads-badge.herokuapp.com/pothoven-attachment_fu?type=total&color=brightgreen" />}[https://rubygems.org/gems/pothoven-attachment_fu]
|
5
|
+
{<img src="http://ruby-gem-downloads-badge.herokuapp.com/pothoven-attachment_fu?color=brightgreen&label=for-this-version" />}[https://rubygems.org/gems/pothoven-attachment_fu]
|
4
6
|
|
5
7
|
attachment_fu is a plugin by Rick Olson (aka technoweenie
|
6
8
|
http://techno-weenie.net) and is the successor to acts_as_attachment. To get a
|
@@ -7,8 +7,7 @@ module Technoweenie # :nodoc:
|
|
7
7
|
#
|
8
8
|
# == Requirements
|
9
9
|
#
|
10
|
-
# Requires the
|
11
|
-
# as a gem or a as a Rails plugin.
|
10
|
+
# Requires the aws-sdk-v1 gem.
|
12
11
|
#
|
13
12
|
# == Configuration
|
14
13
|
#
|
@@ -173,13 +172,12 @@ module Technoweenie # :nodoc:
|
|
173
172
|
class ConfigFileNotFoundError < StandardError; end
|
174
173
|
|
175
174
|
def self.included(base) #:nodoc:
|
176
|
-
mattr_reader :bucket_name, :s3_config
|
175
|
+
mattr_reader :bucket_name, :s3_config, :s3_conn, :bucket
|
177
176
|
|
178
177
|
begin
|
179
|
-
require 'aws
|
180
|
-
include AWS::S3
|
178
|
+
require 'aws-sdk-v1'
|
181
179
|
rescue LoadError
|
182
|
-
raise RequiredLibraryNotFoundError.new('
|
180
|
+
raise RequiredLibraryNotFoundError.new('aws-sdk-v1 could not be loaded. Make sure the gem is installed.')
|
183
181
|
end
|
184
182
|
|
185
183
|
begin
|
@@ -198,9 +196,10 @@ module Technoweenie # :nodoc:
|
|
198
196
|
end
|
199
197
|
base.class_eval(eval_string, __FILE__, __LINE__)
|
200
198
|
|
201
|
-
|
199
|
+
@@s3_conn = AWS::S3.new(s3_config.slice(:access_key_id, :secret_access_key))
|
200
|
+
@@bucket = s3_conn.buckets[s3_config[:bucket_name]]
|
202
201
|
|
203
|
-
#
|
202
|
+
#Base.establish_connection!(s3_config.slice(:access_key_id, :secret_access_key, :server, :port, :use_ssl, :persistent, :proxy))
|
204
203
|
|
205
204
|
base.before_update :rename_file
|
206
205
|
end
|
@@ -210,7 +209,7 @@ module Technoweenie # :nodoc:
|
|
210
209
|
end
|
211
210
|
|
212
211
|
def self.hostname
|
213
|
-
@hostname ||= s3_config[:server] ||
|
212
|
+
@hostname ||= s3_config[:server] || 's3.amazonaws.com'
|
214
213
|
end
|
215
214
|
|
216
215
|
def self.port_string
|
@@ -324,9 +323,12 @@ module Technoweenie # :nodoc:
|
|
324
323
|
# @photo.authenticated_s3_url('thumbnail', :expires_in => 5.hours, :use_ssl => true)
|
325
324
|
def authenticated_s3_url(*args)
|
326
325
|
options = args.extract_options!
|
327
|
-
options[:
|
326
|
+
options[:expires] = options[:expires_in].to_i if options[:expires_in]
|
327
|
+
options[:secure] = options[:use_ssl] if options[:use_ssl]
|
328
|
+
options.delete(:expires_in) if options[:expires_in]
|
329
|
+
options.delete(:use_ssl) if options[:use_ssl]
|
328
330
|
thumbnail = args.shift
|
329
|
-
|
331
|
+
bucket.objects[full_filename(thumbnail)].url_for(:read, options).to_s
|
330
332
|
end
|
331
333
|
|
332
334
|
def create_temp_file
|
@@ -335,9 +337,9 @@ module Technoweenie # :nodoc:
|
|
335
337
|
|
336
338
|
def current_data
|
337
339
|
if attachment_options[:encrypted_storage] && self.respond_to?(:encryption_key) && self.encryption_key != nil
|
338
|
-
EncryptedData.decrypt_data(
|
340
|
+
EncryptedData.decrypt_data(bucket.objects[full_filename].read, self.encryption_key)
|
339
341
|
else
|
340
|
-
|
342
|
+
bucket.objects[full_filename].read
|
341
343
|
end
|
342
344
|
end
|
343
345
|
|
@@ -360,21 +362,28 @@ module Technoweenie # :nodoc:
|
|
360
362
|
protected
|
361
363
|
# Called in the after_destroy callback
|
362
364
|
def destroy_file
|
363
|
-
|
365
|
+
obj = bucket.objects[full_filename]
|
366
|
+
obj.delete
|
364
367
|
end
|
365
368
|
|
366
369
|
def rename_file
|
367
370
|
return unless @old_filename && @old_filename != filename
|
368
371
|
|
369
372
|
old_full_filename = File.join(base_path, @old_filename)
|
373
|
+
old_obj = bucket.objects[old_full_filename]
|
374
|
+
obj = bucket.objects[full_filename]
|
375
|
+
|
376
|
+
if attachment_options[:encrypted_storage]
|
377
|
+
obj.copy_from(old_obj, {:cache_control => attachment_options[:cache_control],
|
378
|
+
:acl => attachment_options[:s3_access],
|
379
|
+
:server_side_encryption => :aes256,
|
380
|
+
:content_disposition => "attachment; filename=\"#{filename}\""})
|
381
|
+
else
|
382
|
+
obj.copy_from(old_obj, {:cache_control => attachment_options[:cache_control],
|
383
|
+
:acl => attachment_options[:s3_access]})
|
384
|
+
end
|
370
385
|
|
371
|
-
|
372
|
-
old_full_filename,
|
373
|
-
full_filename,
|
374
|
-
bucket_name,
|
375
|
-
:access => attachment_options[:s3_access]
|
376
|
-
)
|
377
|
-
|
386
|
+
old_obj.delete
|
378
387
|
@old_filename = nil
|
379
388
|
true
|
380
389
|
end
|
@@ -382,25 +391,19 @@ module Technoweenie # :nodoc:
|
|
382
391
|
def save_to_storage
|
383
392
|
if save_attachment?
|
384
393
|
if attachment_options[:encrypted_storage]
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
'x-amz-server-side-encryption' => 'AES256',
|
393
|
-
'Content-Disposition' => "attachment; filename=\"#{filename}\""
|
394
|
-
)
|
394
|
+
obj = bucket.objects[full_filename]
|
395
|
+
obj.write(:file => (temp_path ? File.open(temp_path) : temp_data),
|
396
|
+
:cache_control => attachment_options[:cache_control],
|
397
|
+
:acl => attachment_options[:s3_access],
|
398
|
+
:server_side_encryption => :aes256,
|
399
|
+
:content_disposition => "attachment; filename=\"#{filename}\""
|
400
|
+
)
|
395
401
|
else
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
:cache_control => attachment_options[:cache_control],
|
402
|
-
:access => attachment_options[:s3_access]
|
403
|
-
)
|
402
|
+
obj = bucket.objects[full_filename]
|
403
|
+
obj.write(:file => (temp_path ? File.open(temp_path) : temp_data),
|
404
|
+
:cache_control => attachment_options[:cache_control],
|
405
|
+
:acl => attachment_options[:s3_access]
|
406
|
+
)
|
404
407
|
end
|
405
408
|
end
|
406
409
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pothoven-attachment_fu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rick Olson
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2017-04-19 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: This is a fork of Rick Olson's attachment_fu adding Ruby 1.9 and Rails
|
15
15
|
3.2 and Rails 4 support as well as some other enhancements.
|
@@ -62,7 +62,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
62
62
|
- - ! '>='
|
63
63
|
- !ruby/object:Gem::Version
|
64
64
|
version: '0'
|
65
|
-
requirements:
|
65
|
+
requirements:
|
66
|
+
- aws-sdk-v1, ~> 1.61.0
|
66
67
|
rubyforge_project: nowarning
|
67
68
|
rubygems_version: 2.4.8
|
68
69
|
signing_key:
|