your_membership 1.1.3 → 1.1.4
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/CHANGELOG.md +4 -0
- data/README.md +5 -0
- data/lib/httparty/patch.rb +1 -1
- data/lib/your_membership/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/no_body_response.yml +49 -0
- data/spec/fixtures/vcr_cassettes/sa_members_cdata.yml +51 -0
- data/spec/fixtures/vcr_cassettes/sa_members_no_body.yml +43 -0
- data/spec/lib/httparty/patch_spec.rb +32 -0
- data/spec/spec_helper.rb +1 -1
- metadata +11 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: eae6af7093fcd10224ba255ebddf1c6cb39cd7d8
|
|
4
|
+
data.tar.gz: fc90a242e95061cdf01d83602015664b0673cea6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ea5a1efd9eeea94fd8863e2b5d1d6abea4e2e404832703a0567f9efd300020ae6a7ad650ba4e9959ba3f87a51f5a7da4ee28d62beb71a2fdf8ff223c6e89dea3
|
|
7
|
+
data.tar.gz: 6f07520885bfcae69f67c8f071414f483031f7884faa9749f0a89d603b62cb0d2865c1d8a8868c927a79a11ee51282b82b21a1166ac3d6cd0a479f06e9827649
|
data/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,10 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [1.1.4] - 2017-08-18
|
|
8
|
+
### Fixed
|
|
9
|
+
- HTTParty monkey patch now handles nils properly.
|
|
10
|
+
|
|
7
11
|
## [1.1.3] - 2017-03-13
|
|
8
12
|
### Fixed
|
|
9
13
|
- Allow YourMembership::Sa::Members.profile_create to pass along
|
data/README.md
CHANGED
|
@@ -252,6 +252,11 @@ Thanks to grants and donations from people like you, ECHO is able to connect tra
|
|
|
252
252
|
|
|
253
253
|
To find out more about ECHO, or to help with the work that is being done worldwide please visit http://www.echonet.org
|
|
254
254
|
|
|
255
|
+
## Contributors
|
|
256
|
+
npflood
|
|
257
|
+
sbleon
|
|
258
|
+
mmccarthy15
|
|
259
|
+
|
|
255
260
|
## Contributing
|
|
256
261
|
|
|
257
262
|
If you find a problem with this library or would like to contribute an improvement please fork and submit a pull request.
|
data/lib/httparty/patch.rb
CHANGED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: https://api.yourmembership.com/
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: |
|
|
9
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
10
|
+
<YourMembership>
|
|
11
|
+
<Version>2.00</Version>
|
|
12
|
+
<ApiKey><PRIVATE_KEY></ApiKey>
|
|
13
|
+
<SaPasscode><SA_PASSCODE></SaPasscode>
|
|
14
|
+
<CallID>10000</CallID>
|
|
15
|
+
<Call Method="Sa.Members.All.GetIDs">
|
|
16
|
+
<Timestamp>2015-12-02 15:54:11</Timestamp>
|
|
17
|
+
</Call>
|
|
18
|
+
</YourMembership>
|
|
19
|
+
headers:
|
|
20
|
+
Accept-Encoding:
|
|
21
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
22
|
+
Accept:
|
|
23
|
+
- "*/*"
|
|
24
|
+
User-Agent:
|
|
25
|
+
- Ruby
|
|
26
|
+
response:
|
|
27
|
+
status:
|
|
28
|
+
code: 200
|
|
29
|
+
message: OK
|
|
30
|
+
headers:
|
|
31
|
+
Cache-Control:
|
|
32
|
+
- private
|
|
33
|
+
Content-Length:
|
|
34
|
+
- '24051'
|
|
35
|
+
Content-Type:
|
|
36
|
+
- text/xml; Charset=utf-8
|
|
37
|
+
Set-Cookie:
|
|
38
|
+
- "<ASP_SESSION_ID>"
|
|
39
|
+
X-Powered-By:
|
|
40
|
+
- ASP.NET
|
|
41
|
+
Date:
|
|
42
|
+
- Wed, 16 Dec 2015 20:54:12 GMT
|
|
43
|
+
Connection:
|
|
44
|
+
- Keep-alive
|
|
45
|
+
body:
|
|
46
|
+
string: null
|
|
47
|
+
http_version:
|
|
48
|
+
recorded_at: Wed, 16 Dec 2015 20:54:12 GMT
|
|
49
|
+
recorded_with: VCR 3.0.0
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: https://api.yourmembership.com/
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: |
|
|
9
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
10
|
+
<YourMembership>
|
|
11
|
+
<Version>2.00</Version>
|
|
12
|
+
<ApiKey><PRIVATE_KEY></ApiKey>
|
|
13
|
+
<SaPasscode><SA_PASSCODE></SaPasscode>
|
|
14
|
+
<CallID>10000</CallID>
|
|
15
|
+
<Call Method="Sa.Members.All.GetIDs">
|
|
16
|
+
<Timestamp>2015-12-02 15:54:11</Timestamp>
|
|
17
|
+
</Call>
|
|
18
|
+
</YourMembership>
|
|
19
|
+
headers:
|
|
20
|
+
Accept-Encoding:
|
|
21
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
22
|
+
Accept:
|
|
23
|
+
- "*/*"
|
|
24
|
+
User-Agent:
|
|
25
|
+
- Ruby
|
|
26
|
+
response:
|
|
27
|
+
status:
|
|
28
|
+
code: 200
|
|
29
|
+
message: OK
|
|
30
|
+
headers:
|
|
31
|
+
Cache-Control:
|
|
32
|
+
- private
|
|
33
|
+
Content-Length:
|
|
34
|
+
- '24051'
|
|
35
|
+
Content-Type:
|
|
36
|
+
- text/xml; Charset=utf-8
|
|
37
|
+
Set-Cookie:
|
|
38
|
+
- "<ASP_SESSION_ID>"
|
|
39
|
+
X-Powered-By:
|
|
40
|
+
- ASP.NET
|
|
41
|
+
Date:
|
|
42
|
+
- Wed, 16 Dec 2015 20:54:12 GMT
|
|
43
|
+
Connection:
|
|
44
|
+
- Keep-alive
|
|
45
|
+
body:
|
|
46
|
+
encoding: UTF-8
|
|
47
|
+
string: "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n\r\n<YourMembership_Response>\r\n<ErrCode>0</ErrCode>\r\n<ExtendedErrorInfo><![CDATA[Text information here]]></ExtendedErrorInfo>\r\n<Sa.Members.All.GetIDs>\r\n<ServerGmtBias>-5</ServerGmtBias>\r\n<ServerTime>2015-12-16
|
|
48
|
+
15:54:12</ServerTime>\r\n<Members>\r\n<ID>57EEB598-CB44-4D85-B0D6-377F393AF5B4</ID>\r\n<ID>1C0CE647-FAA5-4EB0-ADF0-5B669B36378E</ID>\r\n</Members>\r\n</Sa.Members.All.GetIDs>\r\n</YourMembership_Response>\r\n"
|
|
49
|
+
http_version:
|
|
50
|
+
recorded_at: Wed, 16 Dec 2015 20:54:12 GMT
|
|
51
|
+
recorded_with: VCR 3.0.0
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: https://api.yourmembership.com/
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: ''
|
|
9
|
+
headers:
|
|
10
|
+
Accept-Encoding:
|
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
12
|
+
Accept:
|
|
13
|
+
- "*/*"
|
|
14
|
+
User-Agent:
|
|
15
|
+
- Ruby
|
|
16
|
+
response:
|
|
17
|
+
status:
|
|
18
|
+
code: 200
|
|
19
|
+
message: OK
|
|
20
|
+
headers:
|
|
21
|
+
Cache-Control:
|
|
22
|
+
- private
|
|
23
|
+
Content-Type:
|
|
24
|
+
- text/xml; Charset=utf-8
|
|
25
|
+
Vary:
|
|
26
|
+
- Accept-Encoding
|
|
27
|
+
Server:
|
|
28
|
+
- Microsoft-IIS/8.5
|
|
29
|
+
Set-Cookie:
|
|
30
|
+
- "<ASP_SESSION_ID>"
|
|
31
|
+
X-Powered-By:
|
|
32
|
+
- ASP.NET
|
|
33
|
+
Date:
|
|
34
|
+
- Thu, 17 Aug 2017 20:18:09 GMT
|
|
35
|
+
Content-Length:
|
|
36
|
+
- '301'
|
|
37
|
+
body:
|
|
38
|
+
encoding: ASCII-8BIT
|
|
39
|
+
string: "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n\r\n<YourMembership_Response>\r\n<ErrCode>902</ErrCode>\r\n<ExtendedErrorInfo></ExtendedErrorInfo>\r\n<ErrDesc>XML
|
|
40
|
+
packet is malformed or otherwise unreadable.</ErrDesc>\r\n<XmlRequest>\r\n<unnamed></unnamed>\r\n</XmlRequest>\r\n</YourMembership_Response>\r\n"
|
|
41
|
+
http_version:
|
|
42
|
+
recorded_at: Thu, 17 Aug 2017 20:18:09 GMT
|
|
43
|
+
recorded_with: VCR 3.0.3
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe 'FixCdata' do
|
|
4
|
+
it 'string returned' do
|
|
5
|
+
VCR.use_cassette 'sa_members_all_getids_timestamp_single' do
|
|
6
|
+
response = HTTParty.post("https://api.yourmembership.com/")
|
|
7
|
+
expect(response.body).to be_a(String)
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it 'replace <![CDATA' do
|
|
12
|
+
VCR.use_cassette 'sa_members_cdata' do
|
|
13
|
+
response = HTTParty.post("https://api.yourmembership.com/")
|
|
14
|
+
expect(response.body).to include("<![CDATA[")
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it 'replace ]]>' do
|
|
19
|
+
VCR.use_cassette 'sa_members_cdata' do
|
|
20
|
+
response = HTTParty.post("https://api.yourmembership.com/")
|
|
21
|
+
expect(response.body).to include("]]>")
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it 'handle blank body response' do
|
|
26
|
+
VCR.use_cassette 'no_body_response' do
|
|
27
|
+
# Note that a nil body is unlikely (never) to occur within YM, but other non-YM tools may respond with a nil body
|
|
28
|
+
response = HTTParty.post("https://api.yourmembership.com/")
|
|
29
|
+
expect(response.body).to be nil
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -2,6 +2,7 @@ require 'dotenv'
|
|
|
2
2
|
require 'pry'
|
|
3
3
|
require 'vcr'
|
|
4
4
|
require 'your_membership'
|
|
5
|
+
require 'webmock/rspec'
|
|
5
6
|
|
|
6
7
|
Dotenv.load(
|
|
7
8
|
File.expand_path('../../.env.local', __FILE__),
|
|
@@ -98,4 +99,3 @@ YourMembership.configure(
|
|
|
98
99
|
privateKey: ENV.fetch('YM_API_PRIVATE_KEY'),
|
|
99
100
|
saPasscode: ENV.fetch('YM_API_SA_PASSCODE')
|
|
100
101
|
)
|
|
101
|
-
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: your_membership
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nate Flood
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-
|
|
11
|
+
date: 2017-08-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: httparty
|
|
@@ -187,9 +187,13 @@ files:
|
|
|
187
187
|
- lib/your_membership/sa_people.rb
|
|
188
188
|
- lib/your_membership/session.rb
|
|
189
189
|
- lib/your_membership/version.rb
|
|
190
|
+
- spec/fixtures/vcr_cassettes/no_body_response.yml
|
|
190
191
|
- spec/fixtures/vcr_cassettes/sa_members_all_getids_timestamp_multiple.yml
|
|
191
192
|
- spec/fixtures/vcr_cassettes/sa_members_all_getids_timestamp_none.yml
|
|
192
193
|
- spec/fixtures/vcr_cassettes/sa_members_all_getids_timestamp_single.yml
|
|
194
|
+
- spec/fixtures/vcr_cassettes/sa_members_cdata.yml
|
|
195
|
+
- spec/fixtures/vcr_cassettes/sa_members_no_body.yml
|
|
196
|
+
- spec/lib/httparty/patch_spec.rb
|
|
193
197
|
- spec/lib/your_membership/profile_spec.rb
|
|
194
198
|
- spec/lib/your_membership/sa_members_spec.rb
|
|
195
199
|
- spec/spec_helper.rb
|
|
@@ -219,9 +223,14 @@ signing_key:
|
|
|
219
223
|
specification_version: 4
|
|
220
224
|
summary: Ruby SDK for interfacing with the YourMembership.com XML API
|
|
221
225
|
test_files:
|
|
226
|
+
- spec/fixtures/vcr_cassettes/no_body_response.yml
|
|
222
227
|
- spec/fixtures/vcr_cassettes/sa_members_all_getids_timestamp_multiple.yml
|
|
223
228
|
- spec/fixtures/vcr_cassettes/sa_members_all_getids_timestamp_none.yml
|
|
224
229
|
- spec/fixtures/vcr_cassettes/sa_members_all_getids_timestamp_single.yml
|
|
230
|
+
- spec/fixtures/vcr_cassettes/sa_members_cdata.yml
|
|
231
|
+
- spec/fixtures/vcr_cassettes/sa_members_no_body.yml
|
|
232
|
+
- spec/lib/httparty/patch_spec.rb
|
|
225
233
|
- spec/lib/your_membership/profile_spec.rb
|
|
226
234
|
- spec/lib/your_membership/sa_members_spec.rb
|
|
227
235
|
- spec/spec_helper.rb
|
|
236
|
+
has_rdoc:
|