hal-client 3.9.0 → 3.10.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
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