braque 0.1.9 → 0.2.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: a0ddfaefee109436ddbfe02b0a024edbe5e0830e
4
- data.tar.gz: ee7bcc93c2b425356f9554d9677854f745306419
3
+ metadata.gz: 8d74d0cde5c073286613ad279b4221f967934c72
4
+ data.tar.gz: a296e958733e8c9036709d63085dc0950b113ec8
5
5
  SHA512:
6
- metadata.gz: 4895d854ef8cdcf5d81e4f364a975dd23c613a6a8d4605e632494c6b105b8662d77bdbd2c0585be41936dc59bbb4136008396bd415eb824906d7ea39c69f5e1b
7
- data.tar.gz: a5c60d89dfdf39e9bb873874d75d8c6d99785f6c79bfe24f1f11e5f2410023e3cf9aadfee248d63fd96cd7b59bf7fe322c836ca3e49e6b14a0b1ddc65879cc9e
6
+ metadata.gz: 9a2b799f95dbd2f03e2e01e4cd8d2ee0f7332edadc5988b512e01e352f6819a0f6ebb05cda6fb214f8638894df84d98b16f2b951c4e4ad20f040a80fc5788187
7
+ data.tar.gz: 2accbbe9c093abff560a73b6c596eb9890910b90cda5c1b2f84f75e7246cc3d9c4257b52d1cb9b047e5e1609ed5f2d321c5029ecaf48e631b94fe9c2f250ed18
data/lib/braque/model.rb CHANGED
@@ -90,9 +90,13 @@ module Braque
90
90
  new response
91
91
  end
92
92
 
93
- def create(params = {})
94
- response = client.method(collection_method_name).call
95
- ._post("#{instance_method_name}" => params)
93
+ def create(resource_params = {}, options = {})
94
+ response = client.method(collection_method_name)
95
+ .call
96
+ ._post(
97
+ { "#{instance_method_name}" => resource_params }
98
+ .merge(options)
99
+ )
96
100
  new response
97
101
  end
98
102
 
@@ -1,3 +1,3 @@
1
1
  module Braque
2
- VERSION = '0.1.9'
2
+ VERSION = '0.2.0'
3
3
  end
@@ -21,15 +21,15 @@ RSpec.describe Braque::Model, type: :model do
21
21
 
22
22
  let(:root_request) do
23
23
  WebMock.stub_request(:get, "#{Breeze.config[:api_root_url]}/")
24
- .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header] })
25
- .with(headers: { 'Accept' => Breeze.config[:accept_header] })
24
+ .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header],
25
+ 'Accept' => Breeze.config[:accept_header] })
26
26
  .to_return(status: 200, body: root_response)
27
27
  end
28
28
 
29
29
  let(:root_request_with_token_resource_path) do
30
30
  WebMock.stub_request(:get, "#{Breeze.config[:api_root_url]}/")
31
- .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header] })
32
- .with(headers: { 'Accept' => Breeze.config[:accept_header] })
31
+ .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header],
32
+ 'Accept' => Breeze.config[:accept_header] })
33
33
  .to_return(status: 200, body: root_response_with_token_resource_path)
34
34
  end
35
35
 
@@ -48,11 +48,11 @@ RSpec.describe Braque::Model, type: :model do
48
48
 
49
49
  context '.list' do
50
50
  context 'with results' do
51
- before(:each) do
51
+ before do
52
52
  root_request
53
53
  @collection_request = WebMock.stub_request(:get, "#{Breeze.config[:api_root_url]}/breezes")
54
- .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header] })
55
- .with(headers: { 'Accept' => Breeze.config[:accept_header] })
54
+ .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header],
55
+ 'Accept' => Breeze.config[:accept_header] })
56
56
  .to_return(status: 200, body: collection_response)
57
57
  @breezes = Breeze.list
58
58
  end
@@ -81,11 +81,11 @@ RSpec.describe Braque::Model, type: :model do
81
81
  end
82
82
  end
83
83
  context 'with an errored response' do
84
- before(:each) do
84
+ before do
85
85
  root_request
86
86
  @collection_request = WebMock.stub_request(:get, "#{Breeze.config[:api_root_url]}/breezes")
87
- .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header] })
88
- .with(headers: { 'Accept' => Breeze.config[:accept_header] })
87
+ .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header],
88
+ 'Accept' => Breeze.config[:accept_header] })
89
89
  .to_return(status: 500)
90
90
  end
91
91
  it 'returns a Faraday::ClientError error' do
@@ -97,11 +97,11 @@ RSpec.describe Braque::Model, type: :model do
97
97
  end
98
98
  end
99
99
  context 'with array params' do
100
- before(:each) do
100
+ before do
101
101
  root_request
102
102
  @collection_request = WebMock.stub_request(:get, "#{Breeze.config[:api_root_url]}/breezes")
103
- .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header] })
104
- .with(headers: { 'Accept' => Breeze.config[:accept_header] })
103
+ .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header],
104
+ 'Accept' => Breeze.config[:accept_header] })
105
105
  .with(query: 'ids%5B0%5D=1&ids%5B1%5D=2')
106
106
  .to_return(status: 200, body: collection_response)
107
107
  @breezes = Breeze.list('ids[]' => [1, 2])
@@ -114,11 +114,11 @@ RSpec.describe Braque::Model, type: :model do
114
114
 
115
115
  context '.find' do
116
116
  context 'under normal conditions' do
117
- before(:each) do
117
+ before do
118
118
  root_request
119
119
  @resource_request = WebMock.stub_request(:get, "#{Breeze.config[:api_root_url]}/breezes/1")
120
- .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header] })
121
- .with(headers: { 'Accept' => Breeze.config[:accept_header] })
120
+ .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header],
121
+ 'Accept' => Breeze.config[:accept_header] })
122
122
  .to_return(status: 200, body: resource_response)
123
123
  @breeze = Breeze.find(id: 1)
124
124
  end
@@ -137,11 +137,11 @@ RSpec.describe Braque::Model, type: :model do
137
137
  end
138
138
  end
139
139
  context 'with an errored response' do
140
- before(:each) do
140
+ before do
141
141
  root_request
142
142
  @resource_request = WebMock.stub_request(:get, "#{Breeze.config[:api_root_url]}/breezes/1")
143
- .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header] })
144
- .with(headers: { 'Accept' => Breeze.config[:accept_header] })
143
+ .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header],
144
+ 'Accept' => Breeze.config[:accept_header] })
145
145
  .to_return(status: 500)
146
146
  end
147
147
  it 'returns a Faraday::ClientError error' do
@@ -152,8 +152,9 @@ RSpec.describe Braque::Model, type: :model do
152
152
  expect(@resource_request).to have_been_requested
153
153
  end
154
154
  end
155
+
155
156
  context 'when overriding resource_find_options' do
156
- before(:each) do
157
+ before do
157
158
  class Breeze
158
159
  def resource_find_options
159
160
  { id: id, token: token }
@@ -162,8 +163,8 @@ RSpec.describe Braque::Model, type: :model do
162
163
 
163
164
  root_request_with_token_resource_path
164
165
  @resource_request = WebMock.stub_request(:get, "#{Breeze.config[:api_root_url]}/breezes/1?token=123")
165
- .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header] })
166
- .with(headers: { 'Accept' => Breeze.config[:accept_header] })
166
+ .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header],
167
+ 'Accept' => Breeze.config[:accept_header] })
167
168
  .to_return(status: 200, body: resource_response)
168
169
  @breeze = Breeze.find(id: 1, token: 123)
169
170
  end
@@ -186,37 +187,68 @@ RSpec.describe Braque::Model, type: :model do
186
187
 
187
188
  context '.create' do
188
189
  context 'with a successful response' do
189
- before(:each) do
190
- root_request
191
- @create_request = WebMock.stub_request(:post, "#{Breeze.config[:api_root_url]}/breezes")
192
- .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header] })
193
- .with(headers: { 'Accept' => Breeze.config[:accept_header] })
194
- .to_return(status: 201, body: resource_response)
195
- @params = { title: 'What a nice breeze.' }
196
- @breeze = Breeze.create(@params)
197
- end
198
- it 'performs the API root request' do
199
- expect(root_request).to have_been_requested
200
- end
201
- it 'performs the create request' do
202
- expect(@create_request).to have_been_requested
203
- end
204
- it 'returns an item with the correct class' do
205
- expect(@breeze).to be_a_kind_of Breeze
190
+ context 'without additional options' do
191
+ before do
192
+ root_request
193
+ @create_request = WebMock.stub_request(:post, "#{Breeze.config[:api_root_url]}/breezes")
194
+ .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header],
195
+ 'Accept' => Breeze.config[:accept_header] })
196
+ .to_return(status: 201, body: resource_response)
197
+ @params = { title: 'What a nice breeze.' }
198
+ @breeze = Breeze.create(@params)
199
+ end
200
+ it 'performs the API root request' do
201
+ expect(root_request).to have_been_requested
202
+ end
203
+ it 'performs the create request' do
204
+ expect(@create_request).to have_been_requested
205
+ end
206
+ it 'returns an item with the correct class' do
207
+ expect(@breeze).to be_a_kind_of Breeze
208
+ end
209
+ it 'returns an item with the correct attributes' do
210
+ expect(@breeze.id).to eq resource_response['id']
211
+ expect(@breeze.title).to eq resource_response['title']
212
+ end
206
213
  end
207
- it 'returns an item with the correct attributes' do
208
- expect(@breeze.id).to eq resource_response['id']
209
- expect(@breeze.title).to eq resource_response['title']
214
+ context 'with additional options' do
215
+ before do
216
+ root_request
217
+ @params = { title: 'What a nice breeze.' }
218
+ @subdomain = 'breezey'
219
+ @create_request = WebMock.stub_request(:post, "#{Breeze.config[:api_root_url]}/breezes")
220
+ .with(headers: {
221
+ 'Http-Authorization' => Breeze.config[:http_authorization_header],
222
+ 'Accept' => Breeze.config[:accept_header]
223
+ })
224
+ .with(body: '{"breeze":{"title":"What a nice breeze."},"subdomain":"breezey"}')
225
+ .to_return(status: 201, body: resource_response)
226
+ @breeze = Breeze.create(@params, subdomain: @subdomain)
227
+ end
228
+ it 'performs the API root request' do
229
+ expect(root_request).to have_been_requested
230
+ end
231
+ it 'performs the create request' do
232
+ expect(@create_request).to have_been_requested
233
+ end
234
+ it 'returns an item with the correct class' do
235
+ expect(@breeze).to be_a_kind_of Breeze
236
+ end
237
+ it 'returns an item with the correct attributes' do
238
+ expect(@breeze.id).to eq resource_response['id']
239
+ expect(@breeze.title).to eq resource_response['title']
240
+ end
210
241
  end
211
242
  end
212
243
  end
213
244
  context 'with an errored response' do
214
- before(:each) do
245
+ before do
215
246
  root_request
216
247
  @create_request = WebMock.stub_request(:post, "#{Breeze.config[:api_root_url]}/breezes")
217
- .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header] })
218
- .with(headers: { 'Accept' => Breeze.config[:accept_header] })
219
- .to_return(status: 500)
248
+ .with(headers: {
249
+ 'Http-Authorization' => Breeze.config[:http_authorization_header],
250
+ 'Accept' => Breeze.config[:accept_header]
251
+ }).to_return(status: 500)
220
252
  end
221
253
  it 'returns a Faraday::ClientError error' do
222
254
  expect do
@@ -234,11 +266,11 @@ RSpec.describe Braque::Model, type: :model do
234
266
 
235
267
  context '#save' do
236
268
  context 'under normal conditions' do
237
- before(:each) do
269
+ before do
238
270
  root_request
239
271
  @save_request = WebMock.stub_request(:patch, "#{Breeze.config[:api_root_url]}/breezes/1")
240
- .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header] })
241
- .with(headers: { 'Accept' => Breeze.config[:accept_header] })
272
+ .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header],
273
+ 'Accept' => Breeze.config[:accept_header] })
242
274
  .to_return(status: 200, body: resource_response)
243
275
  @params = { title: 'What a nice breeze.' }
244
276
  @breeze = Breeze.new(id: 1).save(@params)
@@ -259,11 +291,11 @@ RSpec.describe Braque::Model, type: :model do
259
291
  end
260
292
 
261
293
  context 'with an errored response' do
262
- before(:each) do
294
+ before do
263
295
  root_request
264
296
  @save_request = WebMock.stub_request(:patch, "#{Breeze.config[:api_root_url]}/breezes/1")
265
- .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header] })
266
- .with(headers: { 'Accept' => Breeze.config[:accept_header] })
297
+ .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header],
298
+ 'Accept' => Breeze.config[:accept_header] })
267
299
  .to_return(status: 500)
268
300
  end
269
301
  it 'returns a Faraday::ClientError error' do
@@ -276,7 +308,7 @@ RSpec.describe Braque::Model, type: :model do
276
308
  end
277
309
 
278
310
  context 'when overriding resource_find_options' do
279
- before(:each) do
311
+ before do
280
312
  class Breeze
281
313
  def resource_find_options
282
314
  { id: id, token: token }
@@ -285,8 +317,8 @@ RSpec.describe Braque::Model, type: :model do
285
317
 
286
318
  root_request_with_token_resource_path
287
319
  @save_request = WebMock.stub_request(:patch, "#{Breeze.config[:api_root_url]}/breezes/1?token=123")
288
- .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header] })
289
- .with(headers: { 'Accept' => Breeze.config[:accept_header] })
320
+ .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header],
321
+ 'Accept' => Breeze.config[:accept_header] })
290
322
  .to_return(status: 200, body: resource_response)
291
323
  @params = { title: 'What a nice breeze.' }
292
324
  @breeze = Breeze.new(id: 1, token: 123).save(@params)
@@ -313,11 +345,11 @@ RSpec.describe Braque::Model, type: :model do
313
345
 
314
346
  context '#destroy' do
315
347
  context 'under normal conditions' do
316
- before(:each) do
348
+ before do
317
349
  root_request
318
350
  @destroy_request = WebMock.stub_request(:delete, "#{Breeze.config[:api_root_url]}/breezes/1")
319
- .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header] })
320
- .with(headers: { 'Accept' => Breeze.config[:accept_header] })
351
+ .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header],
352
+ 'Accept' => Breeze.config[:accept_header] })
321
353
  .to_return(status: 200)
322
354
  @breeze = Breeze.new(id: 1).destroy
323
355
  end
@@ -330,11 +362,11 @@ RSpec.describe Braque::Model, type: :model do
330
362
  end
331
363
 
332
364
  context 'with an errored response' do
333
- before(:each) do
365
+ before do
334
366
  root_request
335
367
  @destroy_request = WebMock.stub_request(:delete, "#{Breeze.config[:api_root_url]}/breezes/1")
336
- .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header] })
337
- .with(headers: { 'Accept' => Breeze.config[:accept_header] })
368
+ .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header],
369
+ 'Accept' => Breeze.config[:accept_header] })
338
370
  .to_return(status: 500)
339
371
  end
340
372
  it 'returns a Faraday::ClientError error' do
@@ -347,7 +379,7 @@ RSpec.describe Braque::Model, type: :model do
347
379
  end
348
380
 
349
381
  context 'when overriding resource_find_options' do
350
- before(:each) do
382
+ before do
351
383
  class Breeze
352
384
  def resource_find_options
353
385
  { id: id, token: token }
@@ -356,8 +388,8 @@ RSpec.describe Braque::Model, type: :model do
356
388
 
357
389
  root_request_with_token_resource_path
358
390
  @destroy_request = WebMock.stub_request(:delete, "#{Breeze.config[:api_root_url]}/breezes/1?token=123")
359
- .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header] })
360
- .with(headers: { 'Accept' => Breeze.config[:accept_header] })
391
+ .with(headers: { 'Http-Authorization' => Breeze.config[:http_authorization_header],
392
+ 'Accept' => Breeze.config[:accept_header] })
361
393
  .to_return(status: 200)
362
394
  @breeze = Breeze.new(id: 1, token: 123).destroy
363
395
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: braque
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dylan Fareed
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-07 00:00:00.000000000 Z
11
+ date: 2015-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hyperclient
@@ -98,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
98
98
  version: '0'
99
99
  requirements: []
100
100
  rubyforge_project:
101
- rubygems_version: 2.4.3
101
+ rubygems_version: 2.4.5.1
102
102
  signing_key:
103
103
  specification_version: 4
104
104
  summary: Braque provides a simple interface for interacting with Hypermedia API services