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 +4 -4
- data/lib/pco/api/endpoint.rb +5 -1
- data/lib/pco/api/version.rb +1 -1
- data/spec/pco/api/endpoint_spec.rb +40 -23
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7c46caaee5254ab6c2c26d7a80965686c4ca68bb5ac99218ffeb95fe957a1073
|
4
|
+
data.tar.gz: be7b6229238e9f837a7b5ae30b55f13d2eff235aa4b7505d189560860d3e65c4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8a117d5e5efe71502b215b2eb5e81c94ceef9eafb3561d251b850a8762d55aa17e4cd976f632ce997fb062b95506089a62512c05669bef27318226ca7012fbb7
|
7
|
+
data.tar.gz: 3ef5696dbe26914aaa0cb58f78840386b44a70a82b07f17102c45cd1fc10f4ad9c9aee1beae65f806a852c42fd5b53e8fac20ed6806d158eefb9f490a0929dcc
|
data/lib/pco/api/endpoint.rb
CHANGED
@@ -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
|
data/lib/pco/api/version.rb
CHANGED
@@ -169,34 +169,51 @@ describe PCO::API::Endpoint do
|
|
169
169
|
end
|
170
170
|
|
171
171
|
describe '#post' do
|
172
|
-
|
172
|
+
context do
|
173
|
+
subject { base.people.v2.people }
|
173
174
|
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
175
|
+
let(:resource) do
|
176
|
+
{
|
177
|
+
'type' => 'Person',
|
178
|
+
'first_name' => 'Tim',
|
179
|
+
'last_name' => 'Morgan'
|
180
|
+
}
|
181
|
+
end
|
181
182
|
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
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
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
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
|
-
|
198
|
-
|
199
|
-
|
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.
|
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:
|
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.
|
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
|