middleman-s3_sync 4.6.3 → 4.6.4
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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e6b576cfe91e75975edadd71f0cfd319e84772edecd882aabe2e3c8c06c90082
|
|
4
|
+
data.tar.gz: 86bc102e074f9b47980e4cbf93060babd7f7b8a5117cbf35b60ea78ba7476ff0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 20b465799e297cff4e8085ba9c9e25637a25a3a77242d862f1d2b93291dd6112c32835fc91eb8fd92d0e4cd11df6676c034330d804e4556b5fc0ba4c2312215e
|
|
7
|
+
data.tar.gz: 36a4b96fa0c6831047a90ef4140c598bfab3eb5279fffa09adeee5e23673cb30a811806019ea63de16d1c52383b9a644a2ed6cf0bf400ccd1e9eaade616ae00a
|
data/Changelog.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
The gem that tries really hard not to push files to S3.
|
|
4
4
|
|
|
5
|
+
## v4.6.4
|
|
6
|
+
* Remove map gem dependency and replace with native Ruby implementation
|
|
7
|
+
* Add IndifferentHash class to provide string/symbol indifferent access without external dependencies
|
|
8
|
+
* Improve gem stability by eliminating dependency on unmaintained library
|
|
9
|
+
|
|
5
10
|
## v4.6.3
|
|
6
11
|
* Restrict incompatible map 8.x installation
|
|
7
12
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require '
|
|
1
|
+
require 'middleman/s3_sync/indifferent_hash'
|
|
2
2
|
|
|
3
3
|
module Middleman
|
|
4
4
|
module S3Sync
|
|
@@ -17,7 +17,7 @@ module Middleman
|
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
def caching_policies
|
|
20
|
-
@caching_policies ||=
|
|
20
|
+
@caching_policies ||= IndifferentHash.new
|
|
21
21
|
end
|
|
22
22
|
end
|
|
23
23
|
|
|
@@ -25,7 +25,7 @@ module Middleman
|
|
|
25
25
|
attr_accessor :policies
|
|
26
26
|
|
|
27
27
|
def initialize(options = {})
|
|
28
|
-
@policies =
|
|
28
|
+
@policies = IndifferentHash.from_hash(options)
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
def cache_control
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
module Middleman
|
|
2
|
+
module S3Sync
|
|
3
|
+
# A simple hash wrapper that provides string/symbol indifferent access
|
|
4
|
+
# This replaces the Map gem dependency with native Ruby functionality
|
|
5
|
+
class IndifferentHash < Hash
|
|
6
|
+
# Convert keys to strings for consistent access
|
|
7
|
+
def normalize_key(key)
|
|
8
|
+
key.to_s
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Override [] to provide indifferent access
|
|
12
|
+
def [](key)
|
|
13
|
+
super(normalize_key(key))
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Override []= to store with normalized keys
|
|
17
|
+
def []=(key, value)
|
|
18
|
+
super(normalize_key(key), value)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Override fetch to provide indifferent access
|
|
22
|
+
def fetch(key, *args, &block)
|
|
23
|
+
super(normalize_key(key), *args, &block)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Override has_key? to work with normalized keys
|
|
27
|
+
def has_key?(key)
|
|
28
|
+
super(normalize_key(key))
|
|
29
|
+
end
|
|
30
|
+
alias_method :key?, :has_key?
|
|
31
|
+
alias_method :include?, :has_key?
|
|
32
|
+
|
|
33
|
+
# Create an IndifferentHash from a regular hash
|
|
34
|
+
def self.from_hash(hash)
|
|
35
|
+
new_hash = new
|
|
36
|
+
hash.each do |key, value|
|
|
37
|
+
new_hash[key] = value
|
|
38
|
+
end
|
|
39
|
+
new_hash
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Provide dot notation access to hash values
|
|
43
|
+
def method_missing(method, *args, &block)
|
|
44
|
+
key = method.to_s
|
|
45
|
+
if key.end_with?('=')
|
|
46
|
+
# Handle setter: hash.key = value
|
|
47
|
+
self[key.chop] = args.first
|
|
48
|
+
elsif has_key?(key)
|
|
49
|
+
# Handle getter: hash.key
|
|
50
|
+
self[key]
|
|
51
|
+
else
|
|
52
|
+
super
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def respond_to_missing?(method, include_private = false)
|
|
57
|
+
key = method.to_s.sub(/=$/, '')
|
|
58
|
+
has_key?(key) || super
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
data/middleman-s3_sync.gemspec
CHANGED
|
@@ -22,7 +22,6 @@ Gem::Specification.new do |gem|
|
|
|
22
22
|
gem.add_runtime_dependency 'middleman-cli'
|
|
23
23
|
gem.add_runtime_dependency 'aws-sdk-s3', '>= 1.187.0'
|
|
24
24
|
gem.add_runtime_dependency 'aws-sdk-cloudfront'
|
|
25
|
-
gem.add_runtime_dependency 'map', '6.6.0'
|
|
26
25
|
gem.add_runtime_dependency 'parallel'
|
|
27
26
|
gem.add_runtime_dependency 'ruby-progressbar'
|
|
28
27
|
gem.add_runtime_dependency 'ansi', '~> 1.5.0'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: middleman-s3_sync
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.6.
|
|
4
|
+
version: 4.6.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Frederic Jean
|
|
@@ -66,20 +66,6 @@ dependencies:
|
|
|
66
66
|
- - ">="
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '0'
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: map
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - '='
|
|
74
|
-
- !ruby/object:Gem::Version
|
|
75
|
-
version: 6.6.0
|
|
76
|
-
type: :runtime
|
|
77
|
-
prerelease: false
|
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
-
requirements:
|
|
80
|
-
- - '='
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: 6.6.0
|
|
83
69
|
- !ruby/object:Gem::Dependency
|
|
84
70
|
name: parallel
|
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -302,6 +288,7 @@ files:
|
|
|
302
288
|
- lib/middleman/s3_sync.rb
|
|
303
289
|
- lib/middleman/s3_sync/caching_policy.rb
|
|
304
290
|
- lib/middleman/s3_sync/cloudfront.rb
|
|
291
|
+
- lib/middleman/s3_sync/indifferent_hash.rb
|
|
305
292
|
- lib/middleman/s3_sync/options.rb
|
|
306
293
|
- lib/middleman/s3_sync/resource.rb
|
|
307
294
|
- lib/middleman/s3_sync/status.rb
|