async-rest 0.8.1 → 0.8.2

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
2
  SHA256:
3
- metadata.gz: '016926580e59e99301f924fae62c8f6261d17529bbf86958a40f738e7ed4981a'
4
- data.tar.gz: bbaf2ae2a2419be45addbbfffd35a4c2798073268eff97ba8e2fab83da0f20aa
3
+ metadata.gz: 0d1256dc24f29fc1332acf1548cf62f8e2f4bf293e1ccf34f36f83683b518716
4
+ data.tar.gz: 2a463fee417542e3b29f63f4bf1b77e35ffc11d8402f426e15e5860d297a4c10
5
5
  SHA512:
6
- metadata.gz: 6fd749effe692063ebab519cd42fbd4df7bc8cb6b168e66d5e938ba0396337afc5fccf5fc206892e086976edaa5620c95114038aa124c65de6b5afcf59f485d9
7
- data.tar.gz: fbce09f4608610d801853acf810c2e6452d8c49d0785b1876480bae46293b61119222bf32e89f590e37429541c150b71d06695763ad14c2a839cb339f82da9c3
6
+ metadata.gz: eab724509c865977deec20a08f5ba15fadea3948a02d98f65795874dca94b7e966237b86e85780244b03e8d05cb63bfd18d025dc7092398830c48f8cfa7fee26
7
+ data.tar.gz: 9a1131bb6b4062c8db19c43c9c2e334dfe0465744dbc41c822125288c7fcb7b20558191902ae8439cdfc0950183b4fbb10b4a9349c6311060fdcc8650f6163fb
@@ -16,7 +16,8 @@ Gem::Specification.new do |spec|
16
16
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
17
  spec.require_paths = ["lib"]
18
18
 
19
- spec.add_dependency "async-http", "~> 0.41"
19
+ spec.add_dependency "async-http", "~> 0.42"
20
+ spec.add_dependency "protocol-http", "~> 0.7"
20
21
 
21
22
  spec.add_development_dependency "async-rspec", "~> 1.1"
22
23
 
@@ -0,0 +1,26 @@
1
+ # Copyright, 2018, by Samuel G. D. Williams. <http://www.codeotaku.com>
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the "Software"), to deal
5
+ # in the Software without restriction, including without limitation the rights
6
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ # copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in
11
+ # all copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ # THE SOFTWARE.
20
+
21
+ module Async
22
+ module REST
23
+ class Error < StandardError
24
+ end
25
+ end
26
+ end
@@ -18,12 +18,13 @@
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
19
  # THE SOFTWARE.
20
20
 
21
+ require_relative 'error'
21
22
  require_relative 'resource'
22
23
  require_relative 'wrapper/json'
23
24
 
24
25
  module Async
25
26
  module REST
26
- class RequestFailure < StandardError
27
+ class RequestFailure < Error
27
28
  end
28
29
 
29
30
  # REST components perform actions on a resource by using a representation to capture the current or intended state of that resource and transferring that representation between components. A representation is a sequence of bytes, plus representation metadata to describe those bytes. Other commonly used but less precise names for a representation include: document, file, and HTTP message entity, instance, or variant.
@@ -30,7 +30,7 @@ module Async
30
30
  # The key abstraction of information in REST is a resource. Any information that can be named can be a resource: a document or image, a temporal service (e.g. "today's weather in Los Angeles"), a collection of other resources, a non-virtual object (e.g. a person), and so on. In other words, any concept that might be the target of an author's hypertext reference must fit within the definition of a resource. A resource is a conceptual mapping to a set of entities, not the entity that corresponds to the mapping at any particular point in time.
31
31
  class Resource < ::Protocol::HTTP::Middleware
32
32
  # @param delegate [Async::HTTP::Middleware] the delegate that will handle requests.
33
- # @param reference [Async::HTTP::Reference] the resource identifier (base request path/parameters).
33
+ # @param reference [::Protocol::HTTP::Reference] the resource identifier (base request path/parameters).
34
34
  # @param headers [::Protocol::HTTP::Headers] the default headers that will be supplied with the request.
35
35
  def initialize(delegate, reference = ::Protocol::HTTP::Reference.parse, headers = ::Protocol::HTTP::Headers.new)
36
36
  super(delegate)
@@ -44,7 +44,6 @@ module Async
44
44
 
45
45
  reference = ::Protocol::HTTP::Reference.parse(endpoint.path)
46
46
 
47
- # return HTTP::Client.new(endpoint), reference
48
47
  return ::Protocol::HTTP::AcceptEncoding.new(HTTP::Client.new(endpoint)), reference
49
48
  end
50
49
 
@@ -67,8 +66,8 @@ module Async
67
66
  attr :reference
68
67
  attr :headers
69
68
 
70
- def self.with(parent, *args, headers: {}, parameters: nil, path: nil)
71
- reference = parent.reference.dup(path, parameters)
69
+ def self.with(parent, *args, headers: {}, **options)
70
+ reference = parent.reference.with(**options)
72
71
 
73
72
  self.new(*args, parent.delegate, reference, parent.headers.merge(headers))
74
73
  end
@@ -20,6 +20,6 @@
20
20
 
21
21
  module Async
22
22
  module REST
23
- VERSION = "0.8.1"
23
+ VERSION = "0.8.2"
24
24
  end
25
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: async-rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-23 00:00:00.000000000 Z
11
+ date: 2019-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async-http
@@ -16,14 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.41'
19
+ version: '0.42'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.41'
26
+ version: '0.42'
27
+ - !ruby/object:Gem::Dependency
28
+ name: protocol-http
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.7'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.7'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: async-rspec
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -111,6 +125,7 @@ files:
111
125
  - async-rest.gemspec
112
126
  - examples/slack/clean.rb
113
127
  - lib/async/rest.rb
128
+ - lib/async/rest/error.rb
114
129
  - lib/async/rest/representation.rb
115
130
  - lib/async/rest/resource.rb
116
131
  - lib/async/rest/version.rb
@@ -134,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
149
  - !ruby/object:Gem::Version
135
150
  version: '0'
136
151
  requirements: []
137
- rubygems_version: 3.0.2
152
+ rubygems_version: 3.0.3
138
153
  signing_key:
139
154
  specification_version: 4
140
155
  summary: A library for RESTful clients (and hopefully servers).