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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 8884463934019ade14512eb3c9c77de112f794f1
4
- data.tar.gz: e5168e1c97e08633de01f5fec999a7f30fd37772
2
+ SHA256:
3
+ metadata.gz: 94d1e6d2134d0236419de6414f7cbf4063108f163647e6876031cfb1768eca1c
4
+ data.tar.gz: 391de219cafce1d5af7a1e3cfef70eb13e3015f4982ac03e7e9e2a47a75b382d
5
5
  SHA512:
6
- metadata.gz: 5a2e51d82d4a5bfe0270941ddd7b742328ece218ca87de90c8e0a332a7fec634398bc7ec8b0f0a14be99e20dcdf9b78b798fe35ec8ad029f0ce06df43fa9c48e
7
- data.tar.gz: 107dda6adb5afe73affed0f441b26a981bfa4782d9b4e4e7c8d9d011c180d938e9d4a34f59b6327f6887c9dac69d75789d2123e10ff0e7eb1cc8fbd48e0e0506
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/janko-m/shrine
96
- [shrine-transloadit]: https://github.com/janko-m/shrine-transloadit
97
- [shrine-tus-demo]: https://github.com/janko-m/shrine-tus-demo
98
- [shrine-cloudinary]: https://github.com/janko-m/shrine-cloudinary
99
- [shrine-uploadcare]: https://github.com/janko-m/shrine-uploadcare
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
@@ -1,13 +1,12 @@
1
1
  require "shrine"
2
- require "net/https"
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: :net_http)
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
- (200..399).cover?(response.code.to_i)
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, follows_remaining: 2)
48
- uri = URI.parse(url)
49
- use_ssl = uri.is_a?(URI::HTTPS)
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
- response = Net::HTTP.start(uri.host, uri.port, use_ssl: use_ssl) do |http|
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 = "1.0.2"
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/janko-m/shrine-url"
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.0"
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: 1.0.2
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: 2017-12-22 00:00:00.000000000 Z
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.0'
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.0'
40
+ version: '4.4'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rake
42
+ name: http
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
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: '0'
54
+ version: '3.2'
55
55
  - !ruby/object:Gem::Dependency
56
- name: minitest
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: docker-api
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: http
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: http_parser.rb
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/janko-m/shrine-url
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.11
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