shrine-url 1.0.2 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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