middleman-s3_sync 4.0.3 → 4.6.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/spec/spec_helper.rb CHANGED
@@ -8,6 +8,9 @@
8
8
  require 'middleman-s3_sync'
9
9
  require 'timerizer'
10
10
  require 'rspec/its'
11
+ require 'rspec/support'
12
+ require 'digest/md5'
13
+ require 'cgi'
11
14
 
12
15
  RSpec.configure do |config|
13
16
  config.run_all_when_everything_filtered = true
@@ -20,6 +23,43 @@ RSpec.configure do |config|
20
23
  config.order = 'random'
21
24
 
22
25
  config.before :all do
23
- Fog.mock!
26
+ Aws.config.update(
27
+ region: 'us-east-1',
28
+ credentials: Aws::Credentials.new('access_key_id', 'secret_access_key'),
29
+ stub_responses: true
30
+ )
31
+ end
32
+
33
+ # Helper method to create a mock S3 object
34
+ def mock_s3_object(key, metadata = {})
35
+ # Ensure key has no leading slash to match test expectations
36
+ key = key.sub(/^\//, '')
37
+
38
+ obj = double(
39
+ key: key,
40
+ metadata: metadata,
41
+ etag: "\"#{Digest::MD5.hexdigest('test content')}\"",
42
+ content_encoding: nil,
43
+ cache_control: nil,
44
+ website_redirect_location: nil
45
+ )
46
+
47
+ # Allow head method to return self for testing
48
+ allow(obj).to receive(:head).and_return(obj)
49
+ allow(obj).to receive(:put).and_return(true)
50
+ allow(obj).to receive(:delete).and_return(true)
51
+
52
+ obj
53
+ end
54
+
55
+ # Helper method to create a mock HeadObjectOutput
56
+ def mock_head_object(metadata = {})
57
+ double(
58
+ metadata: metadata,
59
+ etag: "\"#{Digest::MD5.hexdigest('test content')}\"",
60
+ content_encoding: nil,
61
+ cache_control: nil,
62
+ website_redirect_location: nil
63
+ )
24
64
  end
25
65
  end
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman-s3_sync
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.3
4
+ version: 4.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Frederic Jean
8
8
  - Will Koehler
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2016-05-10 00:00:00.000000000 Z
11
+ date: 2025-05-26 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: middleman-core
@@ -17,14 +16,14 @@ dependencies:
17
16
  requirements:
18
17
  - - ">="
19
18
  - !ruby/object:Gem::Version
20
- version: 4.0.0
19
+ version: '0'
21
20
  type: :runtime
22
21
  prerelease: false
23
22
  version_requirements: !ruby/object:Gem::Requirement
24
23
  requirements:
25
24
  - - ">="
26
25
  - !ruby/object:Gem::Version
27
- version: 4.0.0
26
+ version: '0'
28
27
  - !ruby/object:Gem::Dependency
29
28
  name: middleman-cli
30
29
  requirement: !ruby/object:Gem::Requirement
@@ -54,19 +53,33 @@ dependencies:
54
53
  - !ruby/object:Gem::Version
55
54
  version: '0'
56
55
  - !ruby/object:Gem::Dependency
57
- name: fog-aws
56
+ name: aws-sdk-s3
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: aws-sdk-cloudfront
58
71
  requirement: !ruby/object:Gem::Requirement
59
72
  requirements:
60
73
  - - ">="
61
74
  - !ruby/object:Gem::Version
62
- version: 0.1.1
75
+ version: '0'
63
76
  type: :runtime
64
77
  prerelease: false
65
78
  version_requirements: !ruby/object:Gem::Requirement
66
79
  requirements:
67
80
  - - ">="
68
81
  - !ruby/object:Gem::Version
69
- version: 0.1.1
82
+ version: '0'
70
83
  - !ruby/object:Gem::Dependency
71
84
  name: map
72
85
  requirement: !ruby/object:Gem::Requirement
@@ -123,6 +136,48 @@ dependencies:
123
136
  - - "~>"
124
137
  - !ruby/object:Gem::Version
125
138
  version: 1.5.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: mime-types
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '3.1'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '3.1'
153
+ - !ruby/object:Gem::Dependency
154
+ name: base64
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: nokogiri
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: 1.18.4
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: 1.18.4
126
181
  - !ruby/object:Gem::Dependency
127
182
  name: rake
128
183
  requirement: !ruby/object:Gem::Requirement
@@ -171,16 +226,16 @@ dependencies:
171
226
  requirements:
172
227
  - - ">="
173
228
  - !ruby/object:Gem::Version
174
- version: 3.0.0
229
+ version: '0'
175
230
  type: :development
176
231
  prerelease: false
177
232
  version_requirements: !ruby/object:Gem::Requirement
178
233
  requirements:
179
234
  - - ">="
180
235
  - !ruby/object:Gem::Version
181
- version: 3.0.0
236
+ version: '0'
182
237
  - !ruby/object:Gem::Dependency
183
- name: rspec-its
238
+ name: rspec-support
184
239
  requirement: !ruby/object:Gem::Requirement
185
240
  requirements:
186
241
  - - ">="
@@ -194,7 +249,7 @@ dependencies:
194
249
  - !ruby/object:Gem::Version
195
250
  version: '0'
196
251
  - !ruby/object:Gem::Dependency
197
- name: rspec-mocks
252
+ name: rspec-its
198
253
  requirement: !ruby/object:Gem::Requirement
199
254
  requirements:
200
255
  - - ">="
@@ -208,7 +263,7 @@ dependencies:
208
263
  - !ruby/object:Gem::Version
209
264
  version: '0'
210
265
  - !ruby/object:Gem::Dependency
211
- name: timerizer
266
+ name: rspec-mocks
212
267
  requirement: !ruby/object:Gem::Requirement
213
268
  requirements:
214
269
  - - ">="
@@ -222,7 +277,7 @@ dependencies:
222
277
  - !ruby/object:Gem::Version
223
278
  version: '0'
224
279
  - !ruby/object:Gem::Dependency
225
- name: travis
280
+ name: timerizer
226
281
  requirement: !ruby/object:Gem::Requirement
227
282
  requirements:
228
283
  - - ">="
@@ -236,7 +291,7 @@ dependencies:
236
291
  - !ruby/object:Gem::Version
237
292
  version: '0'
238
293
  - !ruby/object:Gem::Dependency
239
- name: travis-lint
294
+ name: webrick
240
295
  requirement: !ruby/object:Gem::Requirement
241
296
  requirements:
242
297
  - - ">="
@@ -268,8 +323,10 @@ files:
268
323
  - lib/middleman-s3_sync.rb
269
324
  - lib/middleman-s3_sync/commands.rb
270
325
  - lib/middleman-s3_sync/extension.rb
326
+ - lib/middleman/redirect.rb
271
327
  - lib/middleman/s3_sync.rb
272
328
  - lib/middleman/s3_sync/caching_policy.rb
329
+ - lib/middleman/s3_sync/cloudfront.rb
273
330
  - lib/middleman/s3_sync/options.rb
274
331
  - lib/middleman/s3_sync/resource.rb
275
332
  - lib/middleman/s3_sync/status.rb
@@ -277,13 +334,14 @@ files:
277
334
  - lib/middleman_extension.rb
278
335
  - middleman-s3_sync.gemspec
279
336
  - spec/caching_policy_spec.rb
337
+ - spec/cloudfront_spec.rb
280
338
  - spec/resource_spec.rb
339
+ - spec/s3_sync_integration_spec.rb
281
340
  - spec/spec_helper.rb
282
341
  homepage: http://github.com/fredjean/middleman-s3_sync
283
342
  licenses:
284
343
  - MIT
285
344
  metadata: {}
286
- post_install_message:
287
345
  rdoc_options: []
288
346
  require_paths:
289
347
  - lib
@@ -298,12 +356,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
298
356
  - !ruby/object:Gem::Version
299
357
  version: '0'
300
358
  requirements: []
301
- rubyforge_project:
302
- rubygems_version: 2.5.1
303
- signing_key:
359
+ rubygems_version: 3.6.2
304
360
  specification_version: 4
305
361
  summary: Tries really, really hard not to push files to S3.
306
362
  test_files:
307
363
  - spec/caching_policy_spec.rb
364
+ - spec/cloudfront_spec.rb
308
365
  - spec/resource_spec.rb
366
+ - spec/s3_sync_integration_spec.rb
309
367
  - spec/spec_helper.rb