hal-client 3.9.0 → 3.10.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
2
  SHA1:
3
- metadata.gz: 85cc05b22fd50911b4e49b91d2b8ee8512ee2fd3
4
- data.tar.gz: cf83685b05bc87f970d868eedd93a035873768e9
3
+ metadata.gz: 0ae5d25221a96b30a338a59db96e20dda13801c4
4
+ data.tar.gz: 61bbcf0772a06648adab94ed80c8d743fb8740ee
5
5
  SHA512:
6
- metadata.gz: 2943114d371646828b0ec861ff157320791c55cc684941ebd1df90d3da6b1e68426c57cda34315a0b235f95930a7f5cc2a778513238703853570d4ef9a83691b
7
- data.tar.gz: e8ca34954374194acdd19a952163a92aafc462719bda737be1b5a10019fb55b0db5cefb810615812c3fbe0568686c81699519610d44da4180398627ad5aa51b8
6
+ metadata.gz: b57da54ab9f5f92c82853ca005da8752a9a997141e59b6bfc197ae6639fee3bc4397f9c6ddb1f0d7a986e3e7ac5a445bb8fbd517092d77048eef7fcf9cf959fd
7
+ data.tar.gz: c0adb4d346eba70b5dc2bede3a8937964c00858476eb89052257795e7e907d795bb490ffd54932b5b25ecd3718cda3d52aab85b0282ca3ede627ed1f7eeaaf27
@@ -122,6 +122,27 @@ class HalClient
122
122
  # headers - custom header fields to use for this request
123
123
  def_unsafe_request :patch
124
124
 
125
+ # Delete a `Representation` or `String` to the resource identified at `url`.
126
+ #
127
+ # url - The URL of the resource of interest.
128
+ # headers - custom header fields to use for this request
129
+ def delete(url, headers={})
130
+ headers = auth_headers(url).merge(headers)
131
+
132
+ begin
133
+ interpret_response client_for_post(override_headers: headers)
134
+ .request(:delete, url)
135
+ rescue HttpError => e
136
+ fail e.class.new("#{method.to_s.upcase} <#{url}> failed with code #{e.response.status}", e.response)
137
+ end
138
+ end
139
+
140
+ class << self
141
+ def delete(url, headers={})
142
+ new.delete(url, headers)
143
+ end
144
+ end
145
+
125
146
  protected
126
147
 
127
148
  attr_reader :headers, :auth_helper
@@ -1,3 +1,3 @@
1
1
  class HalClient
2
- VERSION = "3.9.0"
2
+ VERSION = "3.10.0"
3
3
  end
@@ -240,6 +240,22 @@ describe HalClient do
240
240
  end
241
241
  end
242
242
 
243
+ describe ".delete(<url>)" do
244
+ subject { HalClient.delete "http://example.com/foo" }
245
+
246
+ it "returns a HalClient::Representation" do
247
+ expect(subject).to be_kind_of HalClient::Representation
248
+ end
249
+ end
250
+
251
+ describe "#delete(<url>)" do
252
+ subject { HalClient.new.delete "http://example.com/foo" }
253
+
254
+ it "returns a HalClient::Representation" do
255
+ expect(subject).to be_kind_of HalClient::Representation
256
+ end
257
+ end
258
+
243
259
  context "get request redirection" do
244
260
  let!(:request) { stub_request(:get, "http://example.com/foo").
245
261
  to_return(status: 301, headers: { 'Location' => "http://example.com/bar" } ) }
@@ -265,6 +281,9 @@ describe HalClient do
265
281
  with(:body => post_data).
266
282
  to_return body: "{}" }
267
283
 
284
+ let!(:delete_request) { stub_request(:delete, "http://example.com/foo").
285
+ to_return body: "{}" }
286
+
268
287
  let!(:request) { stub_request(:get, "http://example.com/foo").
269
288
  to_return body: "{}" }
270
289
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hal-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.9.0
4
+ version: 3.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Williams
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-28 00:00:00.000000000 Z
11
+ date: 2015-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http