paperclip-aws 1.1.3 → 1.2.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/Gemfile +2 -2
- data/Gemfile.lock +26 -23
- data/README.md +2 -1
- data/VERSION +1 -1
- data/lib/paperclip-aws.rb +16 -7
- data/paperclip-aws.gemspec +14 -14
- metadata +18 -18
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,37 +1,40 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
activemodel (3.
|
5
|
-
activesupport (= 3.
|
6
|
-
builder (~>
|
7
|
-
i18n (~> 0.
|
8
|
-
activerecord (3.
|
9
|
-
activemodel (= 3.
|
10
|
-
activesupport (= 3.
|
11
|
-
arel (~> 2.
|
12
|
-
tzinfo (~> 0.3.
|
13
|
-
activesupport (3.
|
14
|
-
|
15
|
-
|
4
|
+
activemodel (3.1.1)
|
5
|
+
activesupport (= 3.1.1)
|
6
|
+
builder (~> 3.0.0)
|
7
|
+
i18n (~> 0.6)
|
8
|
+
activerecord (3.1.1)
|
9
|
+
activemodel (= 3.1.1)
|
10
|
+
activesupport (= 3.1.1)
|
11
|
+
arel (~> 2.2.1)
|
12
|
+
tzinfo (~> 0.3.29)
|
13
|
+
activesupport (3.1.1)
|
14
|
+
multi_json (~> 1.0)
|
15
|
+
arel (2.2.1)
|
16
|
+
aws-sdk (1.2.2)
|
16
17
|
httparty (~> 0.7)
|
17
18
|
json (~> 1.4)
|
18
19
|
nokogiri (>= 1.4.4)
|
19
20
|
uuidtools (~> 2.1)
|
20
|
-
builder (
|
21
|
+
builder (3.0.0)
|
21
22
|
cocaine (0.2.0)
|
22
|
-
crack (0.1.8)
|
23
23
|
git (1.2.5)
|
24
|
-
httparty (0.
|
25
|
-
|
26
|
-
|
24
|
+
httparty (0.8.1)
|
25
|
+
multi_json
|
26
|
+
multi_xml
|
27
|
+
i18n (0.6.0)
|
27
28
|
jeweler (1.6.4)
|
28
29
|
bundler (~> 1.0)
|
29
30
|
git (>= 1.2.5)
|
30
31
|
rake
|
31
|
-
json (1.
|
32
|
-
mime-types (1.
|
32
|
+
json (1.6.1)
|
33
|
+
mime-types (1.17.2)
|
34
|
+
multi_json (1.0.3)
|
35
|
+
multi_xml (0.4.1)
|
33
36
|
nokogiri (1.5.0)
|
34
|
-
paperclip (2.
|
37
|
+
paperclip (2.4.5)
|
35
38
|
activerecord (>= 2.3.0)
|
36
39
|
activesupport (>= 2.3.2)
|
37
40
|
cocaine (>= 0.0.2)
|
@@ -39,16 +42,16 @@ GEM
|
|
39
42
|
rake (0.9.2)
|
40
43
|
rcov (0.9.10)
|
41
44
|
shoulda (2.11.3)
|
42
|
-
tzinfo (0.3.
|
45
|
+
tzinfo (0.3.31)
|
43
46
|
uuidtools (2.1.2)
|
44
47
|
|
45
48
|
PLATFORMS
|
46
49
|
ruby
|
47
50
|
|
48
51
|
DEPENDENCIES
|
49
|
-
aws-sdk (>= 1.
|
52
|
+
aws-sdk (>= 1.2.0)
|
50
53
|
bundler (~> 1.0.0)
|
51
54
|
jeweler (~> 1.6.4)
|
52
|
-
paperclip (>= 2.
|
55
|
+
paperclip (>= 2.4.0)
|
53
56
|
rcov
|
54
57
|
shoulda
|
data/README.md
CHANGED
@@ -9,12 +9,13 @@
|
|
9
9
|
* supports expiring urls;
|
10
10
|
* can generate urls for `read`, `write` и `delete` operations;
|
11
11
|
* correctly sets content-type of uploaded files;
|
12
|
+
* **supports amazon server side encryption** (thanks to [pvertenten](https://github.com/pvertenten));
|
12
13
|
|
13
14
|
|
14
15
|
## Requirements ##
|
15
16
|
|
16
17
|
* [paperclip][0] ~> 2.3
|
17
|
-
* [aws-sdk][1] >= 1.
|
18
|
+
* [aws-sdk][1] >= 1.2.2
|
18
19
|
|
19
20
|
## Installation ##
|
20
21
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.2.0
|
data/lib/paperclip-aws.rb
CHANGED
@@ -22,7 +22,8 @@ module Paperclip
|
|
22
22
|
|
23
23
|
# setup permissions
|
24
24
|
@s3_acl = @options[:s3_acl] || :public_read
|
25
|
-
|
25
|
+
@s3_sse = @options[:s3_sse]
|
26
|
+
|
26
27
|
# choose what storage class we use, 'standard' or 'reduced_redundancy'
|
27
28
|
@s3_storage_class = @options[:s3_storage_class] || :standard
|
28
29
|
|
@@ -74,7 +75,14 @@ module Paperclip
|
|
74
75
|
end
|
75
76
|
|
76
77
|
def exists?(style = default_style)
|
77
|
-
|
78
|
+
if path(style).nil? || path(style).to_s.strip == ""
|
79
|
+
return false
|
80
|
+
end
|
81
|
+
begin
|
82
|
+
return @s3.buckets[@s3_bucket].objects[path(style)].exists?
|
83
|
+
rescue AWS::S3::Errors::NoSuchKey
|
84
|
+
return false
|
85
|
+
end
|
78
86
|
end
|
79
87
|
|
80
88
|
def choose_protocol(options={})
|
@@ -107,17 +115,18 @@ module Paperclip
|
|
107
115
|
@queued_for_write.each do |style, file|
|
108
116
|
begin
|
109
117
|
log("saving #{path(style)}")
|
110
|
-
|
118
|
+
|
111
119
|
@s3.buckets[@s3_bucket].objects[path(style)].write(
|
112
120
|
file,
|
113
121
|
:acl => @s3_acl,
|
114
122
|
:storage_class => @s3_storage_class,
|
115
|
-
:content_type => file.content_type
|
123
|
+
:content_type => file.content_type,
|
124
|
+
:server_side_encryption => @s3_sse
|
116
125
|
)
|
117
126
|
rescue AWS::S3::Errors::NoSuchBucket => e
|
118
127
|
create_bucket
|
119
128
|
retry
|
120
|
-
rescue AWS::
|
129
|
+
rescue AWS::Errors::Base => e
|
121
130
|
raise
|
122
131
|
end
|
123
132
|
end
|
@@ -129,7 +138,7 @@ module Paperclip
|
|
129
138
|
begin
|
130
139
|
log("deleting #{path}")
|
131
140
|
@s3.buckets[@s3_bucket].objects[path].delete
|
132
|
-
rescue AWS::
|
141
|
+
rescue AWS::Errors::Base => e
|
133
142
|
raise
|
134
143
|
end
|
135
144
|
end
|
@@ -152,4 +161,4 @@ module Paperclip
|
|
152
161
|
|
153
162
|
end
|
154
163
|
end
|
155
|
-
end
|
164
|
+
end
|
data/paperclip-aws.gemspec
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "1.
|
7
|
+
s.name = "paperclip-aws"
|
8
|
+
s.version = "1.2.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 =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
12
|
+
s.date = "2011-11-10"
|
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
|
+
s.email = "igor.alexandrov@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE.txt",
|
17
17
|
"README.md"
|
@@ -29,33 +29,33 @@ Gem::Specification.new do |s|
|
|
29
29
|
"test/helper.rb",
|
30
30
|
"test/test_papepclip-aws.rb"
|
31
31
|
]
|
32
|
-
s.homepage =
|
32
|
+
s.homepage = "http://github.com/igor-alexandrov/paperclip-aws"
|
33
33
|
s.licenses = ["MIT"]
|
34
34
|
s.require_paths = ["lib"]
|
35
|
-
s.rubygems_version =
|
36
|
-
s.summary =
|
35
|
+
s.rubygems_version = "1.8.10"
|
36
|
+
s.summary = "Storage module to official 'aws-sdk' gem for Amazon S3"
|
37
37
|
|
38
38
|
if s.respond_to? :specification_version then
|
39
39
|
s.specification_version = 3
|
40
40
|
|
41
41
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
42
|
-
s.add_runtime_dependency(%q<paperclip>, [">= 2.
|
43
|
-
s.add_runtime_dependency(%q<aws-sdk>, [">= 1.
|
42
|
+
s.add_runtime_dependency(%q<paperclip>, [">= 2.4.0"])
|
43
|
+
s.add_runtime_dependency(%q<aws-sdk>, [">= 1.2.0"])
|
44
44
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
45
45
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
46
46
|
s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
|
47
47
|
s.add_development_dependency(%q<rcov>, [">= 0"])
|
48
48
|
else
|
49
|
-
s.add_dependency(%q<paperclip>, [">= 2.
|
50
|
-
s.add_dependency(%q<aws-sdk>, [">= 1.
|
49
|
+
s.add_dependency(%q<paperclip>, [">= 2.4.0"])
|
50
|
+
s.add_dependency(%q<aws-sdk>, [">= 1.2.0"])
|
51
51
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
52
52
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
53
53
|
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
54
54
|
s.add_dependency(%q<rcov>, [">= 0"])
|
55
55
|
end
|
56
56
|
else
|
57
|
-
s.add_dependency(%q<paperclip>, [">= 2.
|
58
|
-
s.add_dependency(%q<aws-sdk>, [">= 1.
|
57
|
+
s.add_dependency(%q<paperclip>, [">= 2.4.0"])
|
58
|
+
s.add_dependency(%q<aws-sdk>, [">= 1.2.0"])
|
59
59
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
60
60
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
61
61
|
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
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.
|
4
|
+
version: 1.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,33 +9,33 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-11-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: paperclip
|
16
|
-
requirement: &
|
16
|
+
requirement: &70106231922500 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 2.
|
21
|
+
version: 2.4.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70106231922500
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: aws-sdk
|
27
|
-
requirement: &
|
27
|
+
requirement: &70106231921740 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 1.
|
32
|
+
version: 1.2.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70106231921740
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: shoulda
|
38
|
-
requirement: &
|
38
|
+
requirement: &70106231920980 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70106231920980
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
|
-
requirement: &
|
49
|
+
requirement: &70106231920060 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.0.0
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70106231920060
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: jeweler
|
60
|
-
requirement: &
|
60
|
+
requirement: &70106231919420 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.6.4
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70106231919420
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rcov
|
71
|
-
requirement: &
|
71
|
+
requirement: &70106231918660 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70106231918660
|
80
80
|
description: ! '''paperclip-aws'' is a full featured storage module that supports
|
81
81
|
all S3 locations (US, European and Tokio) without any additional hacking.'
|
82
82
|
email: igor.alexandrov@gmail.com
|
@@ -112,7 +112,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
112
112
|
version: '0'
|
113
113
|
segments:
|
114
114
|
- 0
|
115
|
-
hash: -
|
115
|
+
hash: -2842313220782093733
|
116
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|
@@ -121,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
121
|
version: '0'
|
122
122
|
requirements: []
|
123
123
|
rubyforge_project:
|
124
|
-
rubygems_version: 1.
|
124
|
+
rubygems_version: 1.8.10
|
125
125
|
signing_key:
|
126
126
|
specification_version: 3
|
127
127
|
summary: Storage module to official 'aws-sdk' gem for Amazon S3
|