paperclip-aws 1.3.5 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -12,6 +12,7 @@
12
12
  * supports different permissions for each Paperclip style;
13
13
  * can generate urls for `read`, `write` и `delete` operations;
14
14
  * correctly sets content-type of uploaded files;
15
+ * ability to set content-disposition of uploaded files;
15
16
  * **supports amazon server side encryption** (thanks to [pvertenten](https://github.com/pvertenten));
16
17
  * highly compatible with included in Paperclip S3 storage module
17
18
 
@@ -52,9 +53,17 @@ After this add 'paperclip-aws' to your `Gemfile` or `environment.rb`
52
53
  :s3_options => {
53
54
  :sse => 'AES256',
54
55
  :storage_class => :reduced_redundancy
56
+ :content_disposition => 'attachment'
55
57
  },
56
58
 
57
59
  :path => "company_documents/:id/:style/:data_file_name"
60
+
61
+ # You also can modify @s3_options hash directly.
62
+ before_save do
63
+ self.data.s3_options[:content_disposition] = "attachment; filename=#{self.data_file_name}"
64
+ self.data.s3_options[:sse] = true if self.confidential_information?
65
+ self.data.s3_options[:storage_class] = true if self.unimportant_information?
66
+ end
58
67
  end
59
68
 
60
69
  ## Possible options ##
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.3.5
1
+ 1.4.0
data/lib/paperclip-aws.rb CHANGED
@@ -15,7 +15,10 @@ module Paperclip
15
15
  raise e
16
16
  end unless defined?(AWS)
17
17
 
18
- base.instance_eval do
18
+ attr_accessor :s3_options
19
+ base.instance_eval do
20
+
21
+
19
22
  @s3_credentials = parse_credentials(@options.s3_credentials)
20
23
  @s3_permissions = set_permissions(@options.s3_permissions)
21
24
 
@@ -33,9 +36,17 @@ module Paperclip
33
36
 
34
37
  @s3_options = @options.s3_options || {}
35
38
  # setup Amazon Server Side encryption
36
- @s3_sse = @s3_options[:sse] || false
37
- # choose what storage class we use, 'standard' or 'reduced_redundancy'
38
- @s3_storage_class = @s3_options[:storage_class] || :standard
39
+ @s3_options.reverse_merge!({
40
+ :sse => false,
41
+ :storage_class => :standard,
42
+ :content_disposition => nil
43
+ })
44
+
45
+ # @s3_sse = @s3_options[:sse] || false
46
+ # # choose what storage class we use, 'standard' or 'reduced_redundancy'
47
+ # @s3_storage_class = @s3_options[:storage_class] || :standard
48
+ #
49
+ # @s3_content_disposition = @s3_options[:content_disposition] || ''
39
50
 
40
51
  @s3_endpoint = @s3_credentials[:endpoint] || 's3.amazonaws.com'
41
52
 
@@ -138,11 +149,12 @@ module Paperclip
138
149
  log("saving #{path(style)}")
139
150
 
140
151
  @s3.buckets[@s3_bucket].objects[path(style)].write(
141
- file,
152
+ :file => file.path,
142
153
  :acl => @s3_permissions[:style.to_sym] || @s3_permissions[:default],
143
- :storage_class => @s3_storage_class.to_sym,
154
+ :storage_class => @s3_options[:storage_class],
144
155
  :content_type => file.content_type,
145
- :server_side_encryption => @s3_sse
156
+ :content_disposition => @s3_options[:content_disposition],
157
+ :server_side_encryption => @s3_options[:sse]
146
158
  )
147
159
  rescue AWS::S3::Errors::NoSuchBucket => e
148
160
  create_bucket
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "paperclip-aws"
8
- s.version = "1.3.5"
8
+ s.version = "1.4.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Igor Alexandrov"]
12
- s.date = "2011-11-29"
12
+ s.date = "2011-11-30"
13
13
  s.description = "'paperclip-aws' is a full featured storage module that supports all S3 locations (US, European and Tokio) without any additional hacking."
14
14
  s.email = "igor.alexandrov@gmail.com"
15
15
  s.extra_rdoc_files = [
data/test/debug.log CHANGED
@@ -2000,3 +2000,55 @@ D, [2011-11-14T00:55:21.090579 #53187] DEBUG -- :  (0.1ms) D
2000
2000
  D, [2011-11-14T00:55:21.092194 #53187] DEBUG -- :  (0.3ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2001
2001
  D, [2011-11-14T00:55:21.116832 #53187] DEBUG -- :  (0.2ms) DROP TABLE "dummies"
2002
2002
  D, [2011-11-14T00:55:21.117867 #53187] DEBUG -- :  (0.2ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2003
+ D, [2011-11-30T15:57:04.811133 #9144] DEBUG -- :  (0.5ms) select sqlite_version(*)
2004
+ D, [2011-11-30T15:57:04.838768 #9144] DEBUG -- :  (10.2ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2005
+ I, [2011-11-30T15:57:05.913050 #9144] INFO -- : Command :: identify -format %wx%h '/var/folders/h0/qs28mjnd4yz2g_2s_1lfr94c0000gn/T/stream20111130-9144-kx32ax.png[0]'
2006
+ I, [2011-11-30T15:57:05.960309 #9144] INFO -- : Command :: convert '/var/folders/h0/qs28mjnd4yz2g_2s_1lfr94c0000gn/T/stream20111130-9144-kx32ax.png[0]' -resize "x500" -crop "500x500+1393+0" +repage '/var/folders/h0/qs28mjnd4yz2g_2s_1lfr94c0000gn/T/stream20111130-9144-kx32ax20111130-9144-1jkx9ja.jpg'
2007
+ D, [2011-11-30T15:57:06.251656 #9144] DEBUG -- :  (0.4ms) DROP TABLE "dummies"
2008
+ D, [2011-11-30T15:57:06.253313 #9144] DEBUG -- :  (0.4ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2009
+ I, [2011-11-30T15:57:06.309254 #9144] INFO -- : Command :: identify -format %wx%h '/var/folders/h0/qs28mjnd4yz2g_2s_1lfr94c0000gn/T/stream20111130-9144-50yu82.png[0]'
2010
+ I, [2011-11-30T15:57:06.336693 #9144] INFO -- : Command :: convert '/var/folders/h0/qs28mjnd4yz2g_2s_1lfr94c0000gn/T/stream20111130-9144-50yu82.png[0]' -resize "x500" -crop "500x500+1393+0" +repage '/var/folders/h0/qs28mjnd4yz2g_2s_1lfr94c0000gn/T/stream20111130-9144-50yu8220111130-9144-1hzigdn.jpg'
2011
+ D, [2011-11-30T15:57:06.555197 #9144] DEBUG -- :  (1.0ms) DROP TABLE "dummies"
2012
+ D, [2011-11-30T15:57:06.556130 #9144] DEBUG -- :  (0.3ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2013
+ I, [2011-11-30T15:57:06.593267 #9144] INFO -- : Command :: identify -format %wx%h '/var/folders/h0/qs28mjnd4yz2g_2s_1lfr94c0000gn/T/stream20111130-9144-1enekak.png[0]'
2014
+ I, [2011-11-30T15:57:06.618549 #9144] INFO -- : Command :: convert '/var/folders/h0/qs28mjnd4yz2g_2s_1lfr94c0000gn/T/stream20111130-9144-1enekak.png[0]' -resize "x500" -crop "500x500+1393+0" +repage '/var/folders/h0/qs28mjnd4yz2g_2s_1lfr94c0000gn/T/stream20111130-9144-1enekak20111130-9144-soee2v.jpg'
2015
+ D, [2011-11-30T15:57:06.855306 #9144] DEBUG -- :  (0.2ms) DROP TABLE "dummies"
2016
+ D, [2011-11-30T15:57:06.856071 #9144] DEBUG -- :  (0.2ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2017
+ I, [2011-11-30T15:57:06.876352 #9144] INFO -- : Command :: identify -format %wx%h '/var/folders/h0/qs28mjnd4yz2g_2s_1lfr94c0000gn/T/stream20111130-9144-k756kd.png[0]'
2018
+ I, [2011-11-30T15:57:06.894074 #9144] INFO -- : Command :: convert '/var/folders/h0/qs28mjnd4yz2g_2s_1lfr94c0000gn/T/stream20111130-9144-k756kd.png[0]' -resize "x500" -crop "500x500+1393+0" +repage '/var/folders/h0/qs28mjnd4yz2g_2s_1lfr94c0000gn/T/stream20111130-9144-k756kd20111130-9144-f6hni5.jpg'
2019
+ D, [2011-11-30T15:57:07.140518 #9144] DEBUG -- :  (0.3ms) DROP TABLE "dummies"
2020
+ D, [2011-11-30T15:57:07.141724 #9144] DEBUG -- :  (0.2ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2021
+ D, [2011-11-30T15:57:07.193022 #9144] DEBUG -- :  (0.3ms) DROP TABLE "dummies"
2022
+ D, [2011-11-30T15:57:07.193802 #9144] DEBUG -- :  (0.2ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2023
+ D, [2011-11-30T15:57:07.211433 #9144] DEBUG -- :  (0.2ms) DROP TABLE "dummies"
2024
+ D, [2011-11-30T15:57:07.213791 #9144] DEBUG -- :  (0.5ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2025
+ D, [2011-11-30T15:57:07.249979 #9144] DEBUG -- :  (0.2ms) DROP TABLE "dummies"
2026
+ D, [2011-11-30T15:57:07.250656 #9144] DEBUG -- :  (0.2ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2027
+ D, [2011-11-30T15:57:07.261649 #9144] DEBUG -- :  (0.1ms) DROP TABLE "dummies"
2028
+ D, [2011-11-30T15:57:07.262740 #9144] DEBUG -- :  (0.2ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2029
+ D, [2011-11-30T15:57:07.282432 #9144] DEBUG -- :  (0.3ms) DROP TABLE "dummies"
2030
+ D, [2011-11-30T15:57:07.285659 #9144] DEBUG -- :  (0.3ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2031
+ D, [2011-11-30T15:57:07.400516 #9144] DEBUG -- :  (0.1ms) DROP TABLE "dummies"
2032
+ D, [2011-11-30T15:57:07.401169 #9144] DEBUG -- :  (0.2ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2033
+ D, [2011-11-30T15:57:07.422467 #9144] DEBUG -- :  (0.1ms) DROP TABLE "dummies"
2034
+ D, [2011-11-30T15:57:07.422989 #9144] DEBUG -- :  (0.1ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2035
+ D, [2011-11-30T15:57:07.564313 #9144] DEBUG -- :  (0.2ms) DROP TABLE "dummies"
2036
+ D, [2011-11-30T15:57:07.565048 #9144] DEBUG -- :  (0.2ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2037
+ D, [2011-11-30T15:57:07.681554 #9144] DEBUG -- :  (0.7ms) DROP TABLE "dummies"
2038
+ D, [2011-11-30T15:57:07.682747 #9144] DEBUG -- :  (0.2ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2039
+ D, [2011-11-30T15:57:07.728276 #9144] DEBUG -- :  (0.1ms) DROP TABLE "dummies"
2040
+ D, [2011-11-30T15:57:07.729199 #9144] DEBUG -- :  (0.2ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2041
+ D, [2011-11-30T15:57:07.754217 #9144] DEBUG -- :  (0.1ms) DROP TABLE "dummies"
2042
+ D, [2011-11-30T15:57:07.754790 #9144] DEBUG -- :  (0.2ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2043
+ D, [2011-11-30T15:57:07.775813 #9144] DEBUG -- :  (0.1ms) DROP TABLE "dummies"
2044
+ D, [2011-11-30T15:57:07.776689 #9144] DEBUG -- :  (0.3ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2045
+ D, [2011-11-30T15:57:07.865466 #9144] DEBUG -- :  (0.2ms) DROP TABLE "dummies"
2046
+ D, [2011-11-30T15:57:07.866903 #9144] DEBUG -- :  (0.4ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2047
+ D, [2011-11-30T15:57:07.905806 #9144] DEBUG -- :  (0.1ms) DROP TABLE "dummies"
2048
+ D, [2011-11-30T15:57:07.906556 #9144] DEBUG -- :  (0.2ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2049
+ D, [2011-11-30T15:57:08.016449 #9144] DEBUG -- :  (0.2ms) DROP TABLE "dummies"
2050
+ D, [2011-11-30T15:57:08.017967 #9144] DEBUG -- :  (0.2ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2051
+ D, [2011-11-30T15:57:08.066210 #9144] DEBUG -- :  (0.2ms) DROP TABLE "dummies"
2052
+ D, [2011-11-30T15:57:08.066988 #9144] DEBUG -- :  (0.2ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
2053
+ D, [2011-11-30T15:57:08.107915 #9144] DEBUG -- :  (0.1ms) DROP TABLE "dummies"
2054
+ D, [2011-11-30T15:57:08.108540 #9144] DEBUG -- :  (0.2ms) CREATE TABLE "dummies" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "other" varchar(255), "avatar_file_name" varchar(255), "avatar_content_type" varchar(255), "avatar_file_size" integer, "avatar_updated_at" datetime, "avatar_fingerprint" varchar(255))
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paperclip-aws
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.5
4
+ version: 1.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-29 00:00:00.000000000 Z
12
+ date: 2011-11-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: paperclip
16
- requirement: &70307361234160 !ruby/object:Gem::Requirement
16
+ requirement: &70336624699780 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 2.4.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70307361234160
24
+ version_requirements: *70336624699780
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: aws-sdk
27
- requirement: &70307360990860 !ruby/object:Gem::Requirement
27
+ requirement: &70336624698400 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.2.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70307360990860
35
+ version_requirements: *70336624698400
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bundler
38
- requirement: &70307360988420 !ruby/object:Gem::Requirement
38
+ requirement: &70336624628000 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.0.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70307360988420
46
+ version_requirements: *70336624628000
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: jeweler
49
- requirement: &70307361261020 !ruby/object:Gem::Requirement
49
+ requirement: &70336624622700 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: 1.6.4
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70307361261020
57
+ version_requirements: *70336624622700
58
58
  description: ! '''paperclip-aws'' is a full featured storage module that supports
59
59
  all S3 locations (US, European and Tokio) without any additional hacking.'
60
60
  email: igor.alexandrov@gmail.com
@@ -94,7 +94,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
94
94
  version: '0'
95
95
  segments:
96
96
  - 0
97
- hash: -620318264857174187
97
+ hash: 2734313854826493874
98
98
  required_rubygems_version: !ruby/object:Gem::Requirement
99
99
  none: false
100
100
  requirements: