capistrano-s3 2.4.0 → 3.0.0.pre2
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +2 -1
- data/.github/workflows/build.yml +20 -0
- data/.gitignore +1 -0
- data/.rubocop.yml +59 -0
- data/CHANGELOG.md +10 -0
- data/Gemfile +15 -2
- data/Guardfile +18 -0
- data/README.md +2 -2
- data/Rakefile +7 -5
- data/capistrano-s3.gemspec +32 -27
- data/certs/aleksandrs-ledovskis--2025-07-03-2035-07-01.pem +26 -0
- data/lib/capistrano/s3/defaults.rb +11 -9
- data/lib/capistrano/s3/mime_types.rb +7 -5
- data/lib/capistrano/s3/publisher.rb +105 -103
- data/lib/capistrano/s3/version.rb +3 -1
- data/lib/capistrano/s3.rb +5 -3
- data/lib/capistrano/tasks/capistrano_2.rb +18 -5
- data/lib/capistrano/tasks/capistrano_3.rb +22 -5
- data/spec/capistrano/s3/publisher_spec.rb +214 -0
- data/spec/spec_helper.rb +5 -3
- data.tar.gz.sig +4 -1
- metadata +42 -93
- metadata.gz.sig +0 -0
- data/.travis.yml +0 -21
- data/certs/aleksandrs-ledovskis--2018-11-04-2020-11-03.pem +0 -26
- data/certs/j15e.pem +0 -21
- data/spec/publisher_spec.rb +0 -153
@@ -0,0 +1,214 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
describe Capistrano::S3::Publisher do
|
6
|
+
before do
|
7
|
+
@root = File.expand_path(__dir__)
|
8
|
+
publish_file = Capistrano::S3::Publisher::LAST_PUBLISHED_FILE
|
9
|
+
FileUtils.rm(publish_file) if File.exist?(publish_file)
|
10
|
+
end
|
11
|
+
|
12
|
+
describe "::files" do
|
13
|
+
# @todo don't test via private methods
|
14
|
+
subject(:files) { described_class.send(:files, deployment_path, exclusions) }
|
15
|
+
|
16
|
+
let(:deployment_path) { "spec/sample-2" }
|
17
|
+
let(:exclusions) { [] }
|
18
|
+
|
19
|
+
it "includes dot-prefixed/hidden directories" do
|
20
|
+
expect(files).to include("spec/sample-2/.well-known/test.txt")
|
21
|
+
end
|
22
|
+
|
23
|
+
it "includes dot-prefixed/hidden files" do
|
24
|
+
expect(files).to include("spec/sample-2/public/.htaccess")
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "publish!" do
|
29
|
+
it "publish all files" do
|
30
|
+
Aws::S3::Client.any_instance.expects(:put_object).times(8)
|
31
|
+
described_class.publish!("s3.amazonaws.com", "abc", "123", "mybucket.amazonaws.com",
|
32
|
+
"spec/sample", "", "cf123", [], [], false, {}, "staging")
|
33
|
+
end
|
34
|
+
|
35
|
+
it "publish only gzip files when option is enabled" do
|
36
|
+
Aws::S3::Client.any_instance.expects(:put_object).times(4)
|
37
|
+
described_class.publish!("s3.amazonaws.com", "abc", "123", "mybucket.amazonaws.com",
|
38
|
+
"spec/sample", "", "cf123", [], [], true, {}, "staging")
|
39
|
+
end
|
40
|
+
|
41
|
+
context "with invalidations" do
|
42
|
+
it "publish all files with invalidations" do
|
43
|
+
Aws::S3::Client.any_instance.expects(:put_object).times(8)
|
44
|
+
Aws::CloudFront::Client.any_instance.expects(:create_invalidation).once
|
45
|
+
|
46
|
+
described_class.publish!("s3.amazonaws.com", "abc", "123", "mybucket.amazonaws.com",
|
47
|
+
"spec/sample", "", "cf123", ["*"], [], false, {}, "staging")
|
48
|
+
end
|
49
|
+
|
50
|
+
it "publish all files without invalidations" do
|
51
|
+
Aws::S3::Client.any_instance.expects(:put_object).times(8)
|
52
|
+
Aws::CloudFront::Client.any_instance.expects(:create_invalidation).never
|
53
|
+
|
54
|
+
described_class.publish!("s3.amazonaws.com", "abc", "123", "mybucket.amazonaws.com",
|
55
|
+
"spec/sample", "", "cf123", [], [], false, {}, "staging")
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
context "with exclusions" do
|
60
|
+
it "exclude one files" do
|
61
|
+
Aws::S3::Client.any_instance.expects(:put_object).times(7)
|
62
|
+
|
63
|
+
exclude_paths = ["fonts/cantarell-regular-webfont.svg"]
|
64
|
+
described_class.publish!("s3.amazonaws.com", "abc", "123", "mybucket.amazonaws.com",
|
65
|
+
"spec/sample", "", "cf123", [], exclude_paths, false, {},
|
66
|
+
"staging")
|
67
|
+
end
|
68
|
+
|
69
|
+
it "exclude multiple files" do
|
70
|
+
Aws::S3::Client.any_instance.expects(:put_object).times(6)
|
71
|
+
|
72
|
+
exclude_paths = ["fonts/cantarell-regular-webfont.svg",
|
73
|
+
"fonts/cantarell-regular-webfont.svg.gz"]
|
74
|
+
described_class.publish!("s3.amazonaws.com", "abc", "123", "mybucket.amazonaws.com",
|
75
|
+
"spec/sample", "", "cf123", [], exclude_paths, false, {},
|
76
|
+
"staging")
|
77
|
+
end
|
78
|
+
|
79
|
+
it "exclude directory" do
|
80
|
+
Aws::S3::Client.any_instance.expects(:put_object).times(0)
|
81
|
+
|
82
|
+
exclude_paths = ["fonts/**/*"]
|
83
|
+
described_class.publish!("s3.amazonaws.com", "abc", "123", "mybucket.amazonaws.com",
|
84
|
+
"spec/sample", "", "cf123", [], exclude_paths, false, {},
|
85
|
+
"staging")
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
context "with write options" do
|
90
|
+
it "sets bucket write options to all files" do
|
91
|
+
headers = { cache_control: "no-cache" }
|
92
|
+
extra_options = { write: headers }
|
93
|
+
|
94
|
+
Aws::S3::Client.any_instance.expects(:put_object).with do |options|
|
95
|
+
contains(options, headers)
|
96
|
+
end.times(3)
|
97
|
+
described_class.publish!("s3.amazonaws.com", "abc", "123", "mybucket.amazonaws.com",
|
98
|
+
"spec/sample-write", "", "cf123", [], [], false, extra_options,
|
99
|
+
"staging")
|
100
|
+
end
|
101
|
+
|
102
|
+
it "sets object write options to a single file" do
|
103
|
+
headers = { cache_control: "no-cache", acl: :private }
|
104
|
+
extra_options = {
|
105
|
+
object_write: {
|
106
|
+
"index.html" => headers
|
107
|
+
}
|
108
|
+
}
|
109
|
+
|
110
|
+
Aws::S3::Client.any_instance.expects(:put_object).with do |options|
|
111
|
+
options[:key] == "index.html" && contains(options, headers)
|
112
|
+
end.once
|
113
|
+
Aws::S3::Client.any_instance.expects(:put_object).with do |options|
|
114
|
+
options[:key] != "index.html" && !contains(options, headers)
|
115
|
+
end.twice
|
116
|
+
described_class.publish!("s3.amazonaws.com", "abc", "123", "mybucket.amazonaws.com",
|
117
|
+
"spec/sample-write", "", "cf123", [], [], false, extra_options,
|
118
|
+
"staging")
|
119
|
+
end
|
120
|
+
|
121
|
+
it "sets object write options to a directory" do
|
122
|
+
asset_headers = { cache_control: "max-age=3600" }
|
123
|
+
index_headers = { cache_control: "no-cache" }
|
124
|
+
extra_options = {
|
125
|
+
object_write: {
|
126
|
+
"assets/**" => asset_headers,
|
127
|
+
"index.html" => index_headers
|
128
|
+
}
|
129
|
+
}
|
130
|
+
|
131
|
+
Aws::S3::Client.any_instance.expects(:put_object).with do |options|
|
132
|
+
options[:key] == "index.html" && !contains(options, asset_headers) &&
|
133
|
+
contains(options, index_headers)
|
134
|
+
end.once
|
135
|
+
Aws::S3::Client.any_instance.expects(:put_object).with do |options|
|
136
|
+
options[:key] != "index.html" &&
|
137
|
+
!contains(options, index_headers) &&
|
138
|
+
contains(options, asset_headers)
|
139
|
+
end.twice
|
140
|
+
described_class.publish!("s3.amazonaws.com", "abc", "123", "mybucket.amazonaws.com",
|
141
|
+
"spec/sample-write", "", "cf123", [], [], false, extra_options,
|
142
|
+
"staging")
|
143
|
+
end
|
144
|
+
|
145
|
+
it "sets object write permissions in the order of definition" do
|
146
|
+
asset_headers = { cache_control: "max-age=3600" }
|
147
|
+
js_headers = { cache_control: "no-cache" }
|
148
|
+
extra_options = {
|
149
|
+
object_write: { "assets/**" => asset_headers, "assets/script.js" => js_headers }
|
150
|
+
}
|
151
|
+
|
152
|
+
Aws::S3::Client.any_instance.expects(:put_object).with do |options|
|
153
|
+
options[:key] == "assets/script.js" && !contains(options, asset_headers) &&
|
154
|
+
contains(options, js_headers)
|
155
|
+
end.once
|
156
|
+
Aws::S3::Client.any_instance.expects(:put_object).with do |options|
|
157
|
+
options[:key] == "assets/style.css" && !contains(options, js_headers) &&
|
158
|
+
contains(options, asset_headers)
|
159
|
+
end.once
|
160
|
+
Aws::S3::Client.any_instance.expects(:put_object).with do |options|
|
161
|
+
options[:key] == "index.html" && !contains(options, js_headers) &&
|
162
|
+
!contains(options, asset_headers)
|
163
|
+
end.once
|
164
|
+
described_class.publish!("s3.amazonaws.com", "abc", "123", "mybucket.amazonaws.com",
|
165
|
+
"spec/sample-write", "", "cf123", [], [], false, extra_options,
|
166
|
+
"staging")
|
167
|
+
end
|
168
|
+
|
169
|
+
it "overwrites object write permissions with wrong ordering" do
|
170
|
+
js_headers = { cache_control: "no-cache" }
|
171
|
+
asset_headers = { cache_control: "max-age=3600" }
|
172
|
+
extra_options = {
|
173
|
+
object_write: {
|
174
|
+
"assets/script.js" => js_headers,
|
175
|
+
"assets/**" => asset_headers
|
176
|
+
}
|
177
|
+
}
|
178
|
+
|
179
|
+
Aws::S3::Client.any_instance.expects(:put_object).with do |options|
|
180
|
+
options[:key] != "index.html" && !contains(options, js_headers) &&
|
181
|
+
contains(options, asset_headers)
|
182
|
+
end.twice
|
183
|
+
Aws::S3::Client.any_instance.expects(:put_object).with do |options|
|
184
|
+
options[:key] == "index.html" && !contains(options, js_headers) &&
|
185
|
+
!contains(options, asset_headers)
|
186
|
+
end.once
|
187
|
+
described_class.publish!("s3.amazonaws.com", "abc", "123", "mybucket.amazonaws.com",
|
188
|
+
"spec/sample-write", "", "cf123", [], [], false, extra_options,
|
189
|
+
"staging")
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
context "with MIME types" do
|
194
|
+
it "sets best match MIME type by default" do
|
195
|
+
Aws::S3::Client.any_instance.expects(:put_object).with do |options|
|
196
|
+
options[:content_type] == "application/javascript"
|
197
|
+
end.once
|
198
|
+
described_class.publish!("s3.amazonaws.com", "abc", "123", "mybucket.amazonaws.com",
|
199
|
+
"spec/sample-mime", "", "cf123", [], [], false, {}, "staging")
|
200
|
+
end
|
201
|
+
|
202
|
+
it "sets CloudFront preferred MIME type if needed" do
|
203
|
+
extra_options = { prefer_cf_mime_types: true }
|
204
|
+
|
205
|
+
Aws::S3::Client.any_instance.expects(:put_object).with do |options|
|
206
|
+
options[:content_type] == "application/javascript"
|
207
|
+
end.once
|
208
|
+
described_class.publish!("s3.amazonaws.com", "abc", "123", "mybucket.amazonaws.com",
|
209
|
+
"spec/sample-mime", "", "cf123", [], [], false, extra_options,
|
210
|
+
"staging")
|
211
|
+
end
|
212
|
+
end
|
213
|
+
end
|
214
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "capistrano/s3/publisher"
|
4
|
+
require "mocha/api"
|
3
5
|
|
4
6
|
Aws.config[:stub_responses] = true
|
5
7
|
|
@@ -9,4 +11,4 @@ end
|
|
9
11
|
|
10
12
|
def contains(options, extra_options)
|
11
13
|
options.merge(extra_options) == options
|
12
|
-
end
|
14
|
+
end
|
data.tar.gz.sig
CHANGED
@@ -1 +1,4 @@
|
|
1
|
-
�
|
1
|
+
�i84���Rׂ�S� �����j�H'lE>����I͔�ҍn�,<!�m��0�s�O�y,&�sZ��� ���|��x�s�p_�K��@�kQc�O ex���,�,��1&k�
|
2
|
+
ٱ����H��H>���Hյ��������K{��%�,K�>M�� �=o�V���vH��70��n����P����T��V�>�7a���^����a(&,��0��N�Tn�}��eM� aoTc��F��gr<��D<
|
3
|
+
|>�G�����G��ح8�{,�J�m�5�W��������T����� �a���%��>״t m��_��e�d[��y�%
|
4
|
+
^��t��c9m�M8����vBBz�r!.�ϊ^m�Bw �O&��Z
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-s3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0.pre2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jean-Philippe Doyle
|
@@ -15,27 +15,32 @@ bindir: bin
|
|
15
15
|
cert_chain:
|
16
16
|
- |
|
17
17
|
-----BEGIN CERTIFICATE-----
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
18
|
+
MIIETTCCArWgAwIBAgIBATANBgkqhkiG9w0BAQsFADAoMSYwJAYDVQQDDB1hbGVr
|
19
|
+
c2FuZHJzL0RDPWxlZG92c2tpcy9EQz1sdjAeFw0yNTA3MDMyMDA3NTNaFw0zNTA3
|
20
|
+
MDEyMDA3NTNaMCgxJjAkBgNVBAMMHWFsZWtzYW5kcnMvREM9bGVkb3Zza2lzL0RD
|
21
|
+
PWx2MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEArXlVsZ09UgURfoX1
|
22
|
+
hX/9A/01rGvyKjfFdx3Ak+Z7lEeVM9FJ5TX8krgEcuwnJG4eIDoyv5jLB3amOSaV
|
23
|
+
ZBRkP7Eacwd7m5QVE6P4scjC8KzrpwYqj8d/SgV22ISHsdNGaBkSs4x1wL15BTHs
|
24
|
+
FzWHg8sVWqo5ogThrje+b7/9b+mLj6DZt3x5NZiuW3rPr+sYrnVwW4+TdIiGAX5W
|
25
|
+
bSVCll0zls9oWQuaN9vN5GybnvOjL1eKzhAlymxXnfA9qS9RezLZPL6O6/XXv0A+
|
26
|
+
iRh4rmL1Ip16hhvMWhxRohUmXrsroQzPUnlAQL/ZU3DrcYBARJZFQ5eSTBCJy5gS
|
27
|
+
NFOjqWng6zEFt26oF64YdYZIz/ZTKYqpiPPUx5fArtglRyu58hahqwjq/e0L4beG
|
28
|
+
zNkppUkvhIvfFOE7aUG/CXGiaRMjiMqriG6Tw1edIhFVgyZIQMJ5n7zZ68BApYkR
|
29
|
+
T0r64McVnpWBma4sHsU1eH7WLwPfrWAEOc1YHGEffjI05wXHAgMBAAGjgYEwfzAJ
|
30
|
+
BgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQULuQtQCcfTy1F69VRoxzL
|
31
|
+
AGDq9/8wIgYDVR0RBBswGYEXYWxla3NhbmRyc0BsZWRvdnNraXMubHYwIgYDVR0S
|
32
|
+
BBswGYEXYWxla3NhbmRyc0BsZWRvdnNraXMubHYwDQYJKoZIhvcNAQELBQADggGB
|
33
|
+
ACB+YqgrDHy6yN5EEGMO5S+Dfjydawx21f3ez5e4r+ZbW4AKByziFO6HcQnI6jc/
|
34
|
+
mWlX4Lzx8KZJd38lmayVjt9SANC+U5ZLcgg0CpoY8yjEilJFMRL5x2P0Tcz/YIp5
|
35
|
+
1zV/FCGw9vy80jKwoYrLaQ7aIilxJsee1WpyChVzhRJPje5oIDGQxo+tfVZmQWBH
|
36
|
+
EDY5Mm7j4yDZYXsgO1w/fa0d39yJnrBoJVNuUHZblD759fdTIPDlJxumkh0h+2ut
|
37
|
+
kD4D+piMRFvPXiuILI+oDBFHzLTxAr9nixsO5Bxj0uOXuc/ngm8lMAXuJE9gMRP3
|
38
|
+
vYIQSMxeKnpiMPX1vZdbeXUVyq3G7gtpaE1k4XD+A6c9iXSSfGke4AVwjXM8eaQp
|
39
|
+
riL/tAnKoqvvpMAEZL7vHUCw0ZQ45ztmlp9HdKxlkgJrV4qfAa8QRFW5S4HCl49e
|
40
|
+
CsE82Lenc1R7eDd2E2TpIHGXeHy2ZQAfRLt8r56Qx4SlfpxtaW7j8Y4iQPysBmVI
|
41
|
+
pA==
|
37
42
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
43
|
+
date: 2025-07-04 00:00:00.000000000 Z
|
39
44
|
dependencies:
|
40
45
|
- !ruby/object:Gem::Dependency
|
41
46
|
name: aws-sdk
|
@@ -80,55 +85,13 @@ dependencies:
|
|
80
85
|
- !ruby/object:Gem::Version
|
81
86
|
version: '0'
|
82
87
|
- !ruby/object:Gem::Dependency
|
83
|
-
name:
|
88
|
+
name: rexml
|
84
89
|
requirement: !ruby/object:Gem::Requirement
|
85
90
|
requirements:
|
86
91
|
- - ">="
|
87
92
|
- !ruby/object:Gem::Version
|
88
93
|
version: '0'
|
89
|
-
type: :
|
90
|
-
prerelease: false
|
91
|
-
version_requirements: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - ">="
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '0'
|
96
|
-
- !ruby/object:Gem::Dependency
|
97
|
-
name: rspec
|
98
|
-
requirement: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - ">="
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '0'
|
103
|
-
type: :development
|
104
|
-
prerelease: false
|
105
|
-
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
requirements:
|
107
|
-
- - ">="
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
110
|
-
- !ruby/object:Gem::Dependency
|
111
|
-
name: mocha
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
113
|
-
requirements:
|
114
|
-
- - ">="
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
version: '0'
|
117
|
-
type: :development
|
118
|
-
prerelease: false
|
119
|
-
version_requirements: !ruby/object:Gem::Requirement
|
120
|
-
requirements:
|
121
|
-
- - ">="
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
version: '0'
|
124
|
-
- !ruby/object:Gem::Dependency
|
125
|
-
name: awesome_print
|
126
|
-
requirement: !ruby/object:Gem::Requirement
|
127
|
-
requirements:
|
128
|
-
- - ">="
|
129
|
-
- !ruby/object:Gem::Version
|
130
|
-
version: '0'
|
131
|
-
type: :development
|
94
|
+
type: :runtime
|
132
95
|
prerelease: false
|
133
96
|
version_requirements: !ruby/object:Gem::Requirement
|
134
97
|
requirements:
|
@@ -136,13 +99,13 @@ dependencies:
|
|
136
99
|
- !ruby/object:Gem::Version
|
137
100
|
version: '0'
|
138
101
|
- !ruby/object:Gem::Dependency
|
139
|
-
name:
|
102
|
+
name: webrick
|
140
103
|
requirement: !ruby/object:Gem::Requirement
|
141
104
|
requirements:
|
142
105
|
- - ">="
|
143
106
|
- !ruby/object:Gem::Version
|
144
107
|
version: '0'
|
145
|
-
type: :
|
108
|
+
type: :runtime
|
146
109
|
prerelease: false
|
147
110
|
version_requirements: !ruby/object:Gem::Requirement
|
148
111
|
requirements:
|
@@ -158,17 +121,18 @@ executables: []
|
|
158
121
|
extensions: []
|
159
122
|
extra_rdoc_files: []
|
160
123
|
files:
|
124
|
+
- ".github/workflows/build.yml"
|
161
125
|
- ".gitignore"
|
162
|
-
- ".
|
126
|
+
- ".rubocop.yml"
|
163
127
|
- CHANGELOG.md
|
164
128
|
- CONTRIBUTING.md
|
165
129
|
- Gemfile
|
130
|
+
- Guardfile
|
166
131
|
- LICENSE
|
167
132
|
- README.md
|
168
133
|
- Rakefile
|
169
134
|
- capistrano-s3.gemspec
|
170
|
-
- certs/aleksandrs-ledovskis--
|
171
|
-
- certs/j15e.pem
|
135
|
+
- certs/aleksandrs-ledovskis--2025-07-03-2035-07-01.pem
|
172
136
|
- lib/capistrano/s3.rb
|
173
137
|
- lib/capistrano/s3/defaults.rb
|
174
138
|
- lib/capistrano/s3/mime_types.rb
|
@@ -176,7 +140,7 @@ files:
|
|
176
140
|
- lib/capistrano/s3/version.rb
|
177
141
|
- lib/capistrano/tasks/capistrano_2.rb
|
178
142
|
- lib/capistrano/tasks/capistrano_3.rb
|
179
|
-
- spec/publisher_spec.rb
|
143
|
+
- spec/capistrano/s3/publisher_spec.rb
|
180
144
|
- spec/sample-2/.well-known/test.txt
|
181
145
|
- spec/sample-2/public/.htaccess
|
182
146
|
- spec/sample-mime/script.js
|
@@ -195,7 +159,8 @@ files:
|
|
195
159
|
homepage: https://github.com/capistrano-s3/capistrano-s3
|
196
160
|
licenses:
|
197
161
|
- MIT
|
198
|
-
metadata:
|
162
|
+
metadata:
|
163
|
+
rubygems_mfa_required: 'true'
|
199
164
|
post_install_message:
|
200
165
|
rdoc_options: []
|
201
166
|
require_paths:
|
@@ -204,31 +169,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
204
169
|
requirements:
|
205
170
|
- - ">="
|
206
171
|
- !ruby/object:Gem::Version
|
207
|
-
version:
|
172
|
+
version: 2.5.0
|
208
173
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
209
174
|
requirements:
|
210
|
-
- - "
|
175
|
+
- - ">"
|
211
176
|
- !ruby/object:Gem::Version
|
212
|
-
version:
|
177
|
+
version: 1.3.1
|
213
178
|
requirements: []
|
214
|
-
rubygems_version: 3.0.
|
179
|
+
rubygems_version: 3.0.3.1
|
215
180
|
signing_key:
|
216
181
|
specification_version: 4
|
217
182
|
summary: Build and deploy a static website to Amazon S3
|
218
|
-
test_files:
|
219
|
-
- spec/publisher_spec.rb
|
220
|
-
- spec/sample-2/.well-known/test.txt
|
221
|
-
- spec/sample-2/public/.htaccess
|
222
|
-
- spec/sample-mime/script.js
|
223
|
-
- spec/sample-write/assets/script.js
|
224
|
-
- spec/sample-write/assets/style.css
|
225
|
-
- spec/sample-write/index.html
|
226
|
-
- spec/sample/fonts/cantarell-regular-webfont.eot
|
227
|
-
- spec/sample/fonts/cantarell-regular-webfont.eot.gz
|
228
|
-
- spec/sample/fonts/cantarell-regular-webfont.svg
|
229
|
-
- spec/sample/fonts/cantarell-regular-webfont.svg.gz
|
230
|
-
- spec/sample/fonts/cantarell-regular-webfont.ttf
|
231
|
-
- spec/sample/fonts/cantarell-regular-webfont.ttf.gz
|
232
|
-
- spec/sample/fonts/cantarell-regular-webfont.woff
|
233
|
-
- spec/sample/fonts/cantarell-regular-webfont.woff.gz
|
234
|
-
- spec/spec_helper.rb
|
183
|
+
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|
data/.travis.yml
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
notifications:
|
2
|
-
email:
|
3
|
-
on_success: never
|
4
|
-
on_failure: change
|
5
|
-
language: ruby
|
6
|
-
dist: trusty
|
7
|
-
bundler_args: --without debug release
|
8
|
-
before_install:
|
9
|
-
- ruby -v | (grep -v "rubinius" && gem install bundler) || echo 0
|
10
|
-
rvm:
|
11
|
-
- 2.2.7
|
12
|
-
- 2.3.4
|
13
|
-
- 2.4.1
|
14
|
-
- rbx-3.75
|
15
|
-
- jruby-9.1.5.0
|
16
|
-
- jruby-head
|
17
|
-
- ruby-head
|
18
|
-
matrix:
|
19
|
-
allow_failures:
|
20
|
-
- rvm: jruby-head
|
21
|
-
- rvm: ruby-head
|
@@ -1,26 +0,0 @@
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
2
|
-
MIIETTCCArWgAwIBAgIBATANBgkqhkiG9w0BAQsFADAoMSYwJAYDVQQDDB1hbGVr
|
3
|
-
c2FuZHJzL0RDPWxlZG92c2tpcy9EQz1sdjAeFw0xODExMDQxNTE2NDdaFw0yMDEx
|
4
|
-
MDMxNTE2NDdaMCgxJjAkBgNVBAMMHWFsZWtzYW5kcnMvREM9bGVkb3Zza2lzL0RD
|
5
|
-
PWx2MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAz38UsGlDYY67LDfs
|
6
|
-
FP+iftIP/L04Hl4KrF2RvSHvhGn1qk5vIkeDeFBLJMEuzWaNReeszZndMGFWZ//0
|
7
|
-
mbGeMSYdFBbEL7ImSRGcEx6cHHYNcDP7rP0pKHtAmkX1xpjZ6NBfwAaDODS+/fDE
|
8
|
-
j8T5mzz1g9uWPnORFB6KZ717V6f4dCPSgeZYoPDZ3dKoBzMWtXOxRnj6ROrXrc8d
|
9
|
-
56/KQnoUhKRi+n8gPT6+L+xqRQts8nLDBusQ/a2R7bd9J7ymGAJJ8UzKYWrQ5c+A
|
10
|
-
Re/se6XLi3xJsBnIxrCwx/8+qV3PvpRHruNRnxeXpe67Lc7CsdOlIhaUc6Bmx3y7
|
11
|
-
Y0G9XSuOSjfXOOwtvEHkGKbDxG+RyPPG52WpXAxJQZS7GR4dpYPEQZzVicvLiHaP
|
12
|
-
XuIT2i4UJrB/eMzdMk5KzeZP73cS6rpUBXANRVdjtQRL/bnEAli/szFY3OdirMfK
|
13
|
-
60u2mTsrxMzTI9cPjx9zCegnt5v82DWAYe5GaLHkFVrnhIqzAgMBAAGjgYEwfzAJ
|
14
|
-
BgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUlBfRu+jvOXJUNVAgU1Qa
|
15
|
-
YpSXueswIgYDVR0RBBswGYEXYWxla3NhbmRyc0BsZWRvdnNraXMubHYwIgYDVR0S
|
16
|
-
BBswGYEXYWxla3NhbmRyc0BsZWRvdnNraXMubHYwDQYJKoZIhvcNAQELBQADggGB
|
17
|
-
AGQV1MIzqELmXRiDzSo4LxylZmhlK4fP3v6TsexIBiWstqTO+jWknGA9z1Q47LWZ
|
18
|
-
o6Zga143Ow/55HD7ihp6WL0czLMFWvVuaYs7VrHN7lKLgwaGshujI3zubwq4bND6
|
19
|
-
7m96uyF56IHPeUFHfUyRzxtJXILMT8k7b/uPptuWHFPofQ/prdcwvGLfmBjfl7Ws
|
20
|
-
MppFUlKjMbCHiOUEct3fLgfZWDuKal2yLv2c28itEJmmlerbPHKVy4w70/Ez+5fH
|
21
|
-
xZEuzpB16YCvQreL1v3+67m12C5FPA33mw18ZkUHjKuCKlsWG6zYyTc/6YkNR4FI
|
22
|
-
jh7+6DnwQjHoyQfzwrFSN5vtdyY2tbJXHD8Kkxjj8VgUjhgTEJR7WTjSkUExEY5B
|
23
|
-
RHL9HAJPC8rqojm6npCdZ950en9r8oUyPmdZlZY86US0T6CmC5sPJyYHEsERoiUx
|
24
|
-
k20KJFF3jMIlNf6AWXy8t/1ot/hUUJKZIqzNow4oamKSpqiEA6NDH2lY2iY41mL6
|
25
|
-
Mg==
|
26
|
-
-----END CERTIFICATE-----
|
data/certs/j15e.pem
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
2
|
-
MIIDYjCCAkqgAwIBAgIBATANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDDCJqZWFu
|
3
|
-
cGhpbGlwcGUuZG95bGUvREM9Z21haWwvREM9Y29tMB4XDTE5MDEwMzIzNDA1OFoX
|
4
|
-
DTI0MDEwMjIzNDA1OFowLTErMCkGA1UEAwwiamVhbnBoaWxpcHBlLmRveWxlL0RD
|
5
|
-
PWdtYWlsL0RDPWNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6Z
|
6
|
-
1CIdnc0gZAIISOGc3Xn6G1nRh/DPco4smZeA3zvi0i1eaL3KlWD2K38x5uEyTuMN
|
7
|
-
Eu4533cKuOZhjt6IBDG5kC8+Af21GV1R19Cvf/yka6LHkQlB9uARNKuOlAnmhTLO
|
8
|
-
cBnJ4k+14bg3Kj0GqgiMQxNWgcXCpWYPIutsjNwTv8l+Q8Cz6ochLl1VYifj7x41
|
9
|
-
BmuvYsNX6lLPT2Wn/VnSh8jx4YG4cMu8asexGrxvrZh0FMbSH+8YZTlPNIVLB0K5
|
10
|
-
I+T8T1NkH7Oqtozsa30XFEgSWcVA845m4T/XqtFzfm+fwqs9zm6EiJ1hdCo9Pe9c
|
11
|
-
CYGYjXc17CzMvs5h3YkCAwEAAaOBjDCBiTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE
|
12
|
-
sDAdBgNVHQ4EFgQUa6PNSYrB10QT+XWYeZszhB7Iy8UwJwYDVR0RBCAwHoEcamVh
|
13
|
-
bnBoaWxpcHBlLmRveWxlQGdtYWlsLmNvbTAnBgNVHRIEIDAegRxqZWFucGhpbGlw
|
14
|
-
cGUuZG95bGVAZ21haWwuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQAgO4ZWrs7jiVwB
|
15
|
-
rjuziOlVkE0pQYIL04DYqFHh+OUXehbla3ez6yXrJDYzmGssG9gWw2x7zLJDzMGS
|
16
|
-
Nuu5LJb6fLt7ngeNkT2VrX8BAi6SNOBkclDbaG2no8Of0/1Ckic0edeRhR2O2WiO
|
17
|
-
Ss4Bjfz1DIeMWXQ6XohtG2lW2hdHdkqZEz9CjOHtW9+oUZkEvE/x0zxW/xV1dy0E
|
18
|
-
wLg21KGfGL5oeHjZugRKz6VH9DchvEjlNdaagy3ew5+lxZqG5R26eCQv/SEI7UYw
|
19
|
-
O/dqEjT9PZ4B9DM6P859LG9xBvj/+cOBs8ViEUU/ExY0rPSZoZT1Ks37cCjj2mrC
|
20
|
-
ZBShvFcL
|
21
|
-
-----END CERTIFICATE-----
|