pco_api 2.0.1 → 2.0.2

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
  SHA256:
3
- metadata.gz: 80591277ecc37d298f7a7c68c35d32cd9f5d117f401ee6c811a417aab5b9e494
4
- data.tar.gz: 756f395bb87741e0786452d1391a47c08bc3a36df064f8fa6d368706e49128de
3
+ metadata.gz: 7c46caaee5254ab6c2c26d7a80965686c4ca68bb5ac99218ffeb95fe957a1073
4
+ data.tar.gz: be7b6229238e9f837a7b5ae30b55f13d2eff235aa4b7505d189560860d3e65c4
5
5
  SHA512:
6
- metadata.gz: a64b77f5502cb0e7a83b3841596002402ed6484738185f0397d4bd9fccd451c3b3494e95a7e9c13a22f9123e20509c484b77528db19a2b972e8bfc61db43ff3d
7
- data.tar.gz: a7c05f672220939fc491e20e334ba5511173ac4ed50e3bf3969530d7f1556cd7ed8147b0172dc1d727ed9696e134c32ab4a7cb3564585cfd96abea2743a8ff26
6
+ metadata.gz: 8a117d5e5efe71502b215b2eb5e81c94ceef9eafb3561d251b850a8762d55aa17e4cd976f632ce997fb062b95506089a62512c05669bef27318226ca7012fbb7
7
+ data.tar.gz: 3ef5696dbe26914aaa0cb58f78840386b44a70a82b07f17102c45cd1fc10f4ad9c9aee1beae65f806a852c42fd5b53e8fac20ed6806d158eefb9f490a0929dcc
@@ -83,6 +83,10 @@ module PCO
83
83
 
84
84
  def _build_response(result)
85
85
  case result.status
86
+ when 204
87
+ res = Response.new
88
+ res.headers = result.headers
89
+ res
86
90
  when 200..299
87
91
  res = Response[result.body]
88
92
  res.headers = result.headers
@@ -158,4 +162,4 @@ module PCO
158
162
  end
159
163
  end
160
164
  end
161
- end
165
+ end
@@ -1,5 +1,5 @@
1
1
  module PCO
2
2
  module API
3
- VERSION = '2.0.1'
3
+ VERSION = '2.0.2'
4
4
  end
5
5
  end
@@ -169,34 +169,51 @@ describe PCO::API::Endpoint do
169
169
  end
170
170
 
171
171
  describe '#post' do
172
- subject { base.people.v2.people }
172
+ context do
173
+ subject { base.people.v2.people }
173
174
 
174
- let(:resource) do
175
- {
176
- 'type' => 'Person',
177
- 'first_name' => 'Tim',
178
- 'last_name' => 'Morgan'
179
- }
180
- end
175
+ let(:resource) do
176
+ {
177
+ 'type' => 'Person',
178
+ 'first_name' => 'Tim',
179
+ 'last_name' => 'Morgan'
180
+ }
181
+ end
181
182
 
182
- let(:result) do
183
- {
184
- 'type' => 'Person',
185
- 'id' => '1',
186
- 'first_name' => 'Tim',
187
- 'last_name' => 'Morgan'
188
- }
189
- end
183
+ let(:result) do
184
+ {
185
+ 'type' => 'Person',
186
+ 'id' => '1',
187
+ 'first_name' => 'Tim',
188
+ 'last_name' => 'Morgan'
189
+ }
190
+ end
190
191
 
191
- before do
192
- stub_request(:post, 'https://api.planningcenteronline.com/people/v2/people')
193
- .to_return(status: 201, body: { data: result }.to_json, headers: { 'Content-Type' => 'application/vnd.api+json' })
194
- @result = subject.post(data: resource)
192
+ before do
193
+ stub_request(:post, 'https://api.planningcenteronline.com/people/v2/people')
194
+ .to_return(status: 201, body: { data: result }.to_json, headers: { 'Content-Type' => 'application/vnd.api+json' })
195
+ @result = subject.post(data: resource)
196
+ end
197
+
198
+ it 'returns the result of making a POST request to the endpoint' do
199
+ expect(@result).to be_a(Hash)
200
+ expect(@result['data']).to eq(result)
201
+ end
195
202
  end
196
203
 
197
- it 'returns the result of making a POST request to the endpoint' do
198
- expect(@result).to be_a(Hash)
199
- expect(@result['data']).to eq(result)
204
+ context 'given a 204 No Content response' do
205
+ subject { base.people.v2.some_action }
206
+
207
+ before do
208
+ stub_request(:post, 'https://api.planningcenteronline.com/people/v2/some_action')
209
+ .to_return(status: 204, body: '')
210
+ @result = subject.post
211
+ end
212
+
213
+ it 'returns an empty hash' do
214
+ expect(@result).to be_a(Hash)
215
+ expect(@result).to eq({})
216
+ end
200
217
  end
201
218
  end
202
219
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pco_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Planning Center Online
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-08 00:00:00.000000000 Z
11
+ date: 2023-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -115,7 +115,7 @@ homepage: https://github.com/planningcenter/pco_api_ruby
115
115
  licenses:
116
116
  - MIT
117
117
  metadata: {}
118
- post_install_message:
118
+ post_install_message:
119
119
  rdoc_options: []
120
120
  require_paths:
121
121
  - lib
@@ -130,11 +130,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  requirements: []
133
- rubygems_version: 3.0.3.1
134
- signing_key:
133
+ rubygems_version: 3.4.2
134
+ signing_key:
135
135
  specification_version: 4
136
136
  summary: API wrapper for api.planningcenteronline.com
137
137
  test_files:
138
- - spec/pco/api_spec.rb
139
138
  - spec/pco/api/endpoint_spec.rb
139
+ - spec/pco/api_spec.rb
140
140
  - spec/spec_helper.rb