shrine 2.16.0 → 2.17.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of shrine might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +50 -0
- data/doc/plugins/data_uri.md +9 -0
- data/doc/plugins/default_url.md +12 -0
- data/doc/plugins/derivation_endpoint.md +22 -5
- data/doc/plugins/determine_mime_type.md +34 -5
- data/doc/plugins/download_endpoint.md +9 -7
- data/doc/plugins/{metadata_attribues.md → metadata_attributes.md} +0 -0
- data/doc/plugins/remote_url.md +7 -1
- data/doc/release_notes/2.17.0.md +129 -0
- data/doc/storage/s3.md +3 -4
- data/lib/shrine/plugins/data_uri.rb +7 -2
- data/lib/shrine/plugins/default_url.rb +17 -5
- data/lib/shrine/plugins/derivation_endpoint.rb +43 -28
- data/lib/shrine/plugins/determine_mime_type.rb +20 -13
- data/lib/shrine/plugins/download_endpoint.rb +76 -84
- data/lib/shrine/plugins/metadata_attributes.rb +1 -1
- data/lib/shrine/plugins/parsed_json.rb +3 -2
- data/lib/shrine/plugins/presign_endpoint.rb +122 -118
- data/lib/shrine/plugins/processing.rb +1 -1
- data/lib/shrine/plugins/rack_response.rb +46 -15
- data/lib/shrine/plugins/remote_url.rb +2 -2
- data/lib/shrine/plugins/upload_endpoint.rb +109 -105
- data/lib/shrine/plugins/versions.rb +2 -1
- data/lib/shrine/storage/file_system.rb +1 -1
- data/lib/shrine/version.rb +1 -1
- data/shrine.gemspec +1 -2
- metadata +6 -19
@@ -72,7 +72,7 @@ class Shrine
|
|
72
72
|
raise Error, "detected multiple versions that point to the same IO object: given versions: #{hash.keys}, unique versions: #{hash.invert.invert.keys}" if hash.invert.invert != hash
|
73
73
|
|
74
74
|
hash.inject({}) do |result, (name, value)|
|
75
|
-
result.merge!(name => _store(value, context.merge(version: name){|_, v1, v2| Array(v1) + Array(v2)}))
|
75
|
+
result.merge!(name.to_sym => _store(value, context.merge(version: name.to_sym){|_, v1, v2| Array(v1) + Array(v2)}))
|
76
76
|
end
|
77
77
|
elsif (array = io).is_a?(Array)
|
78
78
|
array.map.with_index { |value, idx| _store(value, context.merge(version: idx){|_, v1, v2| Array(v1) + Array(v2)}) }
|
@@ -105,6 +105,7 @@ class Shrine
|
|
105
105
|
|
106
106
|
if attachment.is_a?(Hash)
|
107
107
|
if version
|
108
|
+
version = version.to_sym
|
108
109
|
if attachment.key?(version)
|
109
110
|
attachment[version].url(**options)
|
110
111
|
elsif fallback = shrine_class.version_fallbacks[version]
|
@@ -142,7 +142,7 @@ class Shrine
|
|
142
142
|
# Cleans all empty subdirectories up the hierarchy.
|
143
143
|
def clean(path)
|
144
144
|
path.dirname.ascend do |pathname|
|
145
|
-
if
|
145
|
+
if Dir.empty?(pathname) && pathname != directory
|
146
146
|
pathname.rmdir
|
147
147
|
else
|
148
148
|
break
|
data/lib/shrine/version.rb
CHANGED
data/shrine.gemspec
CHANGED
@@ -4,7 +4,7 @@ Gem::Specification.new do |gem|
|
|
4
4
|
gem.name = "shrine"
|
5
5
|
gem.version = Shrine.version
|
6
6
|
|
7
|
-
gem.required_ruby_version = ">= 2.
|
7
|
+
gem.required_ruby_version = ">= 2.4"
|
8
8
|
|
9
9
|
gem.summary = "Toolkit for file attachments in Ruby applications"
|
10
10
|
gem.description = <<-END
|
@@ -36,7 +36,6 @@ direct uploads for fully asynchronous user experience.
|
|
36
36
|
gem.add_development_dependency "rack-test_app"
|
37
37
|
gem.add_development_dependency "shrine-memory", ">= 0.2.2"
|
38
38
|
|
39
|
-
gem.add_development_dependency "roda"
|
40
39
|
gem.add_development_dependency "rack", "~> 2.0"
|
41
40
|
gem.add_development_dependency "mimemagic", ">= 0.3.2"
|
42
41
|
gem.add_development_dependency "marcel"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shrine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Janko Marohnić
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: down
|
@@ -122,20 +122,6 @@ dependencies:
|
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: 0.2.2
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: roda
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
125
|
- !ruby/object:Gem::Dependency
|
140
126
|
name: rack
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -398,7 +384,7 @@ files:
|
|
398
384
|
- doc/plugins/infer_extension.md
|
399
385
|
- doc/plugins/keep_files.md
|
400
386
|
- doc/plugins/logging.md
|
401
|
-
- doc/plugins/
|
387
|
+
- doc/plugins/metadata_attributes.md
|
402
388
|
- doc/plugins/migration_helpers.md
|
403
389
|
- doc/plugins/module_include.md
|
404
390
|
- doc/plugins/moving.md
|
@@ -446,6 +432,7 @@ files:
|
|
446
432
|
- doc/release_notes/2.14.0.md
|
447
433
|
- doc/release_notes/2.15.0.md
|
448
434
|
- doc/release_notes/2.16.0.md
|
435
|
+
- doc/release_notes/2.17.0.md
|
449
436
|
- doc/release_notes/2.2.0.md
|
450
437
|
- doc/release_notes/2.3.0.md
|
451
438
|
- doc/release_notes/2.3.1.md
|
@@ -535,14 +522,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
535
522
|
requirements:
|
536
523
|
- - ">="
|
537
524
|
- !ruby/object:Gem::Version
|
538
|
-
version: '2.
|
525
|
+
version: '2.4'
|
539
526
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
540
527
|
requirements:
|
541
528
|
- - ">="
|
542
529
|
- !ruby/object:Gem::Version
|
543
530
|
version: '0'
|
544
531
|
requirements: []
|
545
|
-
rubygems_version: 3.0.
|
532
|
+
rubygems_version: 3.0.3
|
546
533
|
signing_key:
|
547
534
|
specification_version: 4
|
548
535
|
summary: Toolkit for file attachments in Ruby applications
|