tokyo_api 1.0.2 → 1.0.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 +5 -5
- data/.ruby-version +1 -1
- data/Gemfile.lock +4 -4
- data/VERSION +1 -1
- data/lib/tokyo_api/identity.rb +18 -0
- data/spec/identity_spec.rb +22 -0
- data/tokyo_api.gemspec +4 -4
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ed8e0aec8844fbae2e781a705150e5765f07d77e1188b38dd26126d23ab0bc4b
|
4
|
+
data.tar.gz: 2abdf3a1994f21b8211798957db80c4d646c749574ab4a72b7b702c91e25c8df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a7bd870c694d74083990ee7f2342e4a9f79c8928c966dff1c4529e01c71dd339629a7563f7856d57312dc29c83607b40e514dbff6d82b7291004c49602db10cf
|
7
|
+
data.tar.gz: '08be5c5193cf90e41487950837763a77bcdb5e1e186f0eddeb74f8a87caf065c478052a4c774d67a46e22caac30993b8426e765b594c6e94f2556ddeb57891bf'
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.5.1
|
data/Gemfile.lock
CHANGED
@@ -47,13 +47,13 @@ GEM
|
|
47
47
|
kamelcase (0.0.1)
|
48
48
|
semver2 (~> 3)
|
49
49
|
mime-types (2.99.3)
|
50
|
-
mini_portile2 (2.
|
50
|
+
mini_portile2 (2.3.0)
|
51
51
|
minitest (5.10.3)
|
52
52
|
multi_json (1.12.1)
|
53
53
|
multi_xml (0.6.0)
|
54
54
|
multipart-post (2.0.0)
|
55
|
-
nokogiri (1.8.
|
56
|
-
mini_portile2 (~> 2.
|
55
|
+
nokogiri (1.8.2)
|
56
|
+
mini_portile2 (~> 2.3.0)
|
57
57
|
oauth2 (1.4.0)
|
58
58
|
faraday (>= 0.8, < 0.13)
|
59
59
|
jwt (~> 1.0)
|
@@ -104,4 +104,4 @@ DEPENDENCIES
|
|
104
104
|
webmock
|
105
105
|
|
106
106
|
BUNDLED WITH
|
107
|
-
1.
|
107
|
+
1.16.1
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.4
|
data/lib/tokyo_api/identity.rb
CHANGED
@@ -16,5 +16,23 @@ module TokyoApi
|
|
16
16
|
end
|
17
17
|
path
|
18
18
|
end
|
19
|
+
|
20
|
+
def subscription_status_path(id, opt_in_external_id: nil, opt_in_public_ids: nil, minimum_consent_level: nil)
|
21
|
+
if opt_in_public_ids.nil? && opt_in_external_id.nil?
|
22
|
+
raise 'must provide either opt_in_public_ids or opt_in_external_id'
|
23
|
+
end
|
24
|
+
|
25
|
+
if opt_in_external_id.present?
|
26
|
+
path = "/#{normalized_base_path}subscription_status/#{url_escape(id)}?opt_in_external_id=#{url_escape(opt_in_external_id)}"
|
27
|
+
else
|
28
|
+
path = "/#{normalized_base_path}subscription_status/#{url_escape(id)}?opt_in_public_ids=#{url_escape(opt_in_public_ids.join(','))}"
|
29
|
+
end
|
30
|
+
|
31
|
+
if minimum_consent_level
|
32
|
+
path = "#{path}&minimum_consent_level=#{url_escape(minimum_consent_level)}"
|
33
|
+
end
|
34
|
+
|
35
|
+
path
|
36
|
+
end
|
19
37
|
end
|
20
38
|
end
|
data/spec/identity_spec.rb
CHANGED
@@ -54,4 +54,26 @@ describe TokyoApi::Identity do
|
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|
57
|
+
|
58
|
+
describe '#subscription_status_path' do
|
59
|
+
it 'should raise if neither param provided' do
|
60
|
+
expect { subject.identity.subscription_status_path('abc123') }.to raise_error(RuntimeError)
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'should return correct path for a list of public ids' do
|
64
|
+
expected_path = '/identity/subscription_status/abc123?opt_in_public_ids=policy-1.5%2Cpolicy-1.6'
|
65
|
+
expect(subject.identity.subscription_status_path('abc123', opt_in_public_ids: ['policy-1.5', 'policy-1.6'])).to eq expected_path
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
it 'should return correct path for a specific external id' do
|
70
|
+
expected_path = '/identity/subscription_status/abc123?opt_in_external_id=policy-1.5'
|
71
|
+
expect(subject.identity.subscription_status_path('abc123', opt_in_external_id: 'policy-1.5')).to eq expected_path
|
72
|
+
end
|
73
|
+
|
74
|
+
it 'should support minimum_consent_level' do
|
75
|
+
expected_path = '/identity/subscription_status/abc123?opt_in_external_id=policy-1.5&minimum_consent_level=explicit'
|
76
|
+
expect(subject.identity.subscription_status_path('abc123', opt_in_external_id: 'policy-1.5', minimum_consent_level: 'explicit')).to eq expected_path
|
77
|
+
end
|
78
|
+
end
|
57
79
|
end
|
data/tokyo_api.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: tokyo_api 1.0.
|
5
|
+
# stub: tokyo_api 1.0.4 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "tokyo_api".freeze
|
9
|
-
s.version = "1.0.
|
9
|
+
s.version = "1.0.4"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib".freeze]
|
13
13
|
s.authors = ["Nathan Woodhull".freeze]
|
14
|
-
s.date = "
|
14
|
+
s.date = "2018-05-08"
|
15
15
|
s.description = "Tokyo is a CRM middleware, this gem helps apps talk to it.".freeze
|
16
16
|
s.email = "nathan@controlshiftlabs.com".freeze
|
17
17
|
s.extra_rdoc_files = [
|
@@ -58,7 +58,7 @@ Gem::Specification.new do |s|
|
|
58
58
|
]
|
59
59
|
s.homepage = "http://github.com/controlshift/tokyo_api".freeze
|
60
60
|
s.licenses = ["MIT".freeze]
|
61
|
-
s.rubygems_version = "2.
|
61
|
+
s.rubygems_version = "2.7.6".freeze
|
62
62
|
s.summary = "Ruby API Wrapper for Tokyo CRM service".freeze
|
63
63
|
|
64
64
|
if s.respond_to? :specification_version then
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tokyo_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Woodhull
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: vertebrae
|
@@ -158,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
158
158
|
version: '0'
|
159
159
|
requirements: []
|
160
160
|
rubyforge_project:
|
161
|
-
rubygems_version: 2.
|
161
|
+
rubygems_version: 2.7.6
|
162
162
|
signing_key:
|
163
163
|
specification_version: 4
|
164
164
|
summary: Ruby API Wrapper for Tokyo CRM service
|