shrine-url 1.0.2 → 2.0.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.
- checksums.yaml +5 -5
- data/README.md +5 -5
- data/lib/shrine/storage/url.rb +7 -21
- data/shrine-url.gemspec +4 -5
- metadata +16 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 94d1e6d2134d0236419de6414f7cbf4063108f163647e6876031cfb1768eca1c
|
4
|
+
data.tar.gz: 391de219cafce1d5af7a1e3cfef70eb13e3015f4982ac03e7e9e2a47a75b382d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03c403f9f2419aaf33177709849c0f6ac5b4e618b0f33d2bd58af7e3576128e7eb0c30f730dd2769f2b812d8dc0cab11b46dca5676a896b1822ed269641ad2a4
|
7
|
+
data.tar.gz: 64f342ced4a84e6dcdbe966051db41ffbbdc1c079f1143a465f8d7eedd22ae567c44a89ad5cf448602f422b627669ab6d9e2c3911bf93bc10322d249554c5aa8
|
data/README.md
CHANGED
@@ -92,10 +92,10 @@ you'll need to have Docker installed and running.
|
|
92
92
|
|
93
93
|
[MIT](/LICENSE.txt)
|
94
94
|
|
95
|
-
[Shrine]: https://github.com/
|
96
|
-
[shrine-transloadit]: https://github.com/
|
97
|
-
[shrine-tus-demo]: https://github.com/
|
98
|
-
[shrine-cloudinary]: https://github.com/
|
99
|
-
[shrine-uploadcare]: https://github.com/
|
95
|
+
[Shrine]: https://github.com/shrinerb/shrine
|
96
|
+
[shrine-transloadit]: https://github.com/shrinerb/shrine-transloadit
|
97
|
+
[shrine-tus-demo]: https://github.com/shrinerb/shrine-tus-demo
|
98
|
+
[shrine-cloudinary]: https://github.com/shrinerb/shrine-cloudinary
|
99
|
+
[shrine-uploadcare]: https://github.com/shrinerb/shrine-uploadcare
|
100
100
|
[Down]: https://github.com/janko-m/down
|
101
101
|
[kennethreitz/httpbin]: https://github.com/kennethreitz/httpbin
|
data/lib/shrine/storage/url.rb
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
require "shrine"
|
2
|
-
require "
|
3
|
-
require "uri"
|
2
|
+
require "http"
|
4
3
|
|
5
4
|
class Shrine
|
6
5
|
module Storage
|
7
6
|
class Url
|
8
7
|
attr_reader :downloader
|
9
8
|
|
10
|
-
def initialize(downloader: :
|
9
|
+
def initialize(downloader: :http)
|
11
10
|
if downloader.is_a?(Symbol)
|
12
11
|
require "down/#{downloader}"
|
13
12
|
const_name = downloader.to_s.split("_").map(&:capitalize).join
|
@@ -31,7 +30,7 @@ class Shrine
|
|
31
30
|
|
32
31
|
def exists?(id)
|
33
32
|
response = request(:head, id)
|
34
|
-
|
33
|
+
response.status.success?
|
35
34
|
end
|
36
35
|
|
37
36
|
def url(id, **options)
|
@@ -44,24 +43,11 @@ class Shrine
|
|
44
43
|
|
45
44
|
private
|
46
45
|
|
47
|
-
def request(verb, url,
|
48
|
-
|
49
|
-
|
46
|
+
def request(verb, url, follow: {}, headers: {}, **options)
|
47
|
+
options[:follow] = { max_hops: 2 }.merge(follow)
|
48
|
+
options[:headers] = { user_agent: "shrine-url/1.0.2" }.merge(headers)
|
50
49
|
|
51
|
-
|
52
|
-
request = Net::HTTP.const_get(verb.capitalize).new(uri.request_uri)
|
53
|
-
yield request if block_given?
|
54
|
-
http.request(request)
|
55
|
-
end
|
56
|
-
|
57
|
-
if response.is_a?(Net::HTTPRedirection) && follows_remaining > 0
|
58
|
-
location = URI.parse(response["Location"])
|
59
|
-
location = uri + location if location.relative?
|
60
|
-
|
61
|
-
response = request(verb, location.to_s, follows_remaining: follows_remaining - 1)
|
62
|
-
end
|
63
|
-
|
64
|
-
response
|
50
|
+
HTTP.request(verb, url, options)
|
65
51
|
end
|
66
52
|
end
|
67
53
|
end
|
data/shrine-url.gemspec
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
Gem::Specification.new do |gem|
|
2
2
|
gem.name = "shrine-url"
|
3
|
-
gem.version = "
|
3
|
+
gem.version = "2.0.0"
|
4
4
|
|
5
5
|
gem.required_ruby_version = ">= 2.1"
|
6
6
|
|
7
7
|
gem.summary = "Provides a fake storage which allows you to create a Shrine attachment defined only by a custom URL."
|
8
|
-
gem.homepage = "https://github.com/
|
8
|
+
gem.homepage = "https://github.com/shrinerb/shrine-url"
|
9
9
|
gem.authors = ["Janko Marohnić"]
|
10
10
|
gem.email = ["janko.marohnic@gmail.com"]
|
11
11
|
gem.license = "MIT"
|
@@ -14,12 +14,11 @@ Gem::Specification.new do |gem|
|
|
14
14
|
gem.require_path = "lib"
|
15
15
|
|
16
16
|
gem.add_dependency "shrine", ">= 2.0"
|
17
|
-
gem.add_dependency "down", "~> 4.
|
17
|
+
gem.add_dependency "down", "~> 4.4"
|
18
|
+
gem.add_dependency "http", "~> 3.2"
|
18
19
|
|
19
20
|
gem.add_development_dependency "rake"
|
20
21
|
gem.add_development_dependency "minitest"
|
21
22
|
gem.add_development_dependency "docker-api"
|
22
|
-
gem.add_development_dependency "http", "~> 3.0"
|
23
23
|
gem.add_development_dependency "posix-spawn" unless RUBY_ENGINE == "jruby"
|
24
|
-
gem.add_development_dependency "http_parser.rb"
|
25
24
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shrine-url
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.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:
|
11
|
+
date: 2018-05-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: shrine
|
@@ -30,30 +30,30 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '4.
|
33
|
+
version: '4.4'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '4.
|
40
|
+
version: '4.4'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: http
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
48
|
-
type: :
|
47
|
+
version: '3.2'
|
48
|
+
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '3.2'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: minitest
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
@@ -81,21 +81,7 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '3.0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '3.0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: posix-spawn
|
84
|
+
name: docker-api
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
100
86
|
requirements:
|
101
87
|
- - ">="
|
@@ -109,7 +95,7 @@ dependencies:
|
|
109
95
|
- !ruby/object:Gem::Version
|
110
96
|
version: '0'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
98
|
+
name: posix-spawn
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
114
100
|
requirements:
|
115
101
|
- - ">="
|
@@ -133,7 +119,7 @@ files:
|
|
133
119
|
- README.md
|
134
120
|
- lib/shrine/storage/url.rb
|
135
121
|
- shrine-url.gemspec
|
136
|
-
homepage: https://github.com/
|
122
|
+
homepage: https://github.com/shrinerb/shrine-url
|
137
123
|
licenses:
|
138
124
|
- MIT
|
139
125
|
metadata: {}
|
@@ -153,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
153
139
|
version: '0'
|
154
140
|
requirements: []
|
155
141
|
rubyforge_project:
|
156
|
-
rubygems_version: 2.6
|
142
|
+
rubygems_version: 2.7.6
|
157
143
|
signing_key:
|
158
144
|
specification_version: 4
|
159
145
|
summary: Provides a fake storage which allows you to create a Shrine attachment defined
|