mrkt 0.10.0 → 0.11.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 +4 -4
- data/.travis.yml +2 -0
- data/Gemfile.lock +25 -25
- data/README.md +4 -1
- data/lib/mrkt.rb +1 -0
- data/lib/mrkt/concerns/authentication.rb +16 -4
- data/lib/mrkt/version.rb +1 -1
- data/spec/concerns/authentication_spec.rb +38 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 34dfc8094a0255c4319a97e68c0dcdc82cf37b14dc69f2fdf7d82b294c68928e
|
4
|
+
data.tar.gz: 397c0742e14b8d66bb7d88cb8c4560d25b1bc6d95df350be0c1904158de311cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1facd66a3aefe58fb704d0d9851c681983b3cef751a8add539ed8f5380b2e24554bd1e38cac15aa5bfc0af50f0c51164975601b743c2641f9dbec7fa8d35a985
|
7
|
+
data.tar.gz: 9733940bd3342322818ba1172a863aa6d3c5c737b85ce7c7b82dfa72ec48430dd01cce111e2adda79c57ec74d78b7fa298d9bae1be051b0212b085c7d5d679bf
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
mrkt (0.
|
4
|
+
mrkt (0.11.0)
|
5
5
|
faraday (> 0.9.0, < 0.16.0)
|
6
6
|
faraday_middleware (> 0.9.0, < 0.16.0)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
addressable (2.
|
12
|
-
public_suffix (>= 2.0.2, <
|
11
|
+
addressable (2.7.0)
|
12
|
+
public_suffix (>= 2.0.2, < 5.0)
|
13
13
|
ast (2.4.0)
|
14
14
|
byebug (11.0.1)
|
15
15
|
codeclimate-test-reporter (1.0.9)
|
@@ -23,13 +23,13 @@ GEM
|
|
23
23
|
multipart-post (>= 1.2, < 3)
|
24
24
|
faraday_middleware (0.13.1)
|
25
25
|
faraday (>= 0.7.4, < 1.0)
|
26
|
-
hashdiff (0.
|
27
|
-
jaro_winkler (1.5.
|
26
|
+
hashdiff (1.0.0)
|
27
|
+
jaro_winkler (1.5.4)
|
28
28
|
json (2.2.0)
|
29
29
|
method_source (0.9.2)
|
30
|
-
multipart-post (2.
|
31
|
-
parallel (1.
|
32
|
-
parser (2.6.
|
30
|
+
multipart-post (2.1.1)
|
31
|
+
parallel (1.19.1)
|
32
|
+
parser (2.6.5.0)
|
33
33
|
ast (~> 2.4.0)
|
34
34
|
pry (0.12.2)
|
35
35
|
coderay (~> 1.1.0)
|
@@ -38,22 +38,22 @@ GEM
|
|
38
38
|
byebug (~> 11.0)
|
39
39
|
pry (~> 0.10)
|
40
40
|
psych (3.1.0)
|
41
|
-
public_suffix (
|
41
|
+
public_suffix (4.0.1)
|
42
42
|
rainbow (3.0.0)
|
43
|
-
rake (12.3.
|
44
|
-
rspec (3.
|
45
|
-
rspec-core (~> 3.
|
46
|
-
rspec-expectations (~> 3.
|
47
|
-
rspec-mocks (~> 3.
|
48
|
-
rspec-core (3.
|
49
|
-
rspec-support (~> 3.
|
50
|
-
rspec-expectations (3.
|
43
|
+
rake (12.3.3)
|
44
|
+
rspec (3.9.0)
|
45
|
+
rspec-core (~> 3.9.0)
|
46
|
+
rspec-expectations (~> 3.9.0)
|
47
|
+
rspec-mocks (~> 3.9.0)
|
48
|
+
rspec-core (3.9.0)
|
49
|
+
rspec-support (~> 3.9.0)
|
50
|
+
rspec-expectations (3.9.0)
|
51
51
|
diff-lcs (>= 1.2.0, < 2.0)
|
52
|
-
rspec-support (~> 3.
|
53
|
-
rspec-mocks (3.
|
52
|
+
rspec-support (~> 3.9.0)
|
53
|
+
rspec-mocks (3.9.0)
|
54
54
|
diff-lcs (>= 1.2.0, < 2.0)
|
55
|
-
rspec-support (~> 3.
|
56
|
-
rspec-support (3.
|
55
|
+
rspec-support (~> 3.9.0)
|
56
|
+
rspec-support (3.9.0)
|
57
57
|
rubocop (0.66.0)
|
58
58
|
jaro_winkler (~> 1.5.1)
|
59
59
|
parallel (~> 1.10)
|
@@ -62,7 +62,7 @@ GEM
|
|
62
62
|
rainbow (>= 2.2.2, < 4.0)
|
63
63
|
ruby-progressbar (~> 1.7)
|
64
64
|
unicode-display_width (>= 1.4.0, < 1.6)
|
65
|
-
ruby-progressbar (1.10.
|
65
|
+
ruby-progressbar (1.10.1)
|
66
66
|
safe_yaml (1.0.5)
|
67
67
|
simplecov (0.13.0)
|
68
68
|
docile (~> 1.1.0)
|
@@ -70,10 +70,10 @@ GEM
|
|
70
70
|
simplecov-html (~> 0.10.0)
|
71
71
|
simplecov-html (0.10.2)
|
72
72
|
unicode-display_width (1.5.0)
|
73
|
-
webmock (3.
|
73
|
+
webmock (3.7.6)
|
74
74
|
addressable (>= 2.3.6)
|
75
75
|
crack (>= 0.3.2)
|
76
|
-
hashdiff
|
76
|
+
hashdiff (>= 0.4.0, < 2.0.0)
|
77
77
|
|
78
78
|
PLATFORMS
|
79
79
|
ruby
|
@@ -89,4 +89,4 @@ DEPENDENCIES
|
|
89
89
|
webmock (~> 3.1)
|
90
90
|
|
91
91
|
BUNDLED WITH
|
92
|
-
1.17.
|
92
|
+
1.17.3
|
data/README.md
CHANGED
@@ -32,6 +32,7 @@ Get the following from your Marketo admin:
|
|
32
32
|
* hostname, i.e. `'123-abc-123.mktorest.com'`
|
33
33
|
* client id, e.g. `'4567e1cdf-0fae-4685-a914-5be45043f2d8'`
|
34
34
|
* client secret, e.g. `'7Gn0tuiHZiDHnzeu9P14uDQcSx9xIPPt'`
|
35
|
+
* partner id, e.g. `'335b1c91511b8d8b49c7bbf66f53288f16f37b60_a0147938d3135f8ddb5a75850ea3c39313fd23c4'` (optional)
|
35
36
|
|
36
37
|
|
37
38
|
## Usage
|
@@ -42,7 +43,9 @@ Get the following from your Marketo admin:
|
|
42
43
|
client = Mrkt::Client.new(
|
43
44
|
host: '123-abc-123.mktorest.com',
|
44
45
|
client_id: '4567e1cdf-0fae-4685-a914-5be45043f2d8',
|
45
|
-
client_secret: '7Gn0tuiHZiDHnzeu9P14uDQcSx9xIPPt'
|
46
|
+
client_secret: '7Gn0tuiHZiDHnzeu9P14uDQcSx9xIPPt',
|
47
|
+
partner_id: '335b1c91511b8d8b49c7bbf66f53288f16f37b60_a0147938d3135f8ddb5a75850ea3c39313fd23c4' # optional
|
48
|
+
)
|
46
49
|
```
|
47
50
|
|
48
51
|
If you need verbosity during troubleshooting, enable debug mode:
|
data/lib/mrkt.rb
CHANGED
@@ -40,6 +40,7 @@ module Mrkt
|
|
40
40
|
|
41
41
|
@client_id = options.fetch(:client_id)
|
42
42
|
@client_secret = options.fetch(:client_secret)
|
43
|
+
@partner_id = options[:partner_id]
|
43
44
|
|
44
45
|
@retry_authentication = options.fetch(:retry_authentication, false)
|
45
46
|
@retry_authentication_count = options.fetch(:retry_authentication_count, 3).to_i
|
@@ -39,15 +39,27 @@ module Mrkt
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def authentication_params
|
42
|
+
merge_params(required_authentication_params, optional_authentication_params)
|
43
|
+
end
|
44
|
+
|
45
|
+
def add_authorization(req)
|
46
|
+
req.headers[:authorization] = "Bearer #{@token}"
|
47
|
+
end
|
48
|
+
|
49
|
+
private
|
50
|
+
|
51
|
+
def optional_authentication_params
|
52
|
+
{
|
53
|
+
partner_id: @partner_id
|
54
|
+
}
|
55
|
+
end
|
56
|
+
|
57
|
+
def required_authentication_params
|
42
58
|
{
|
43
59
|
grant_type: 'client_credentials',
|
44
60
|
client_id: @client_id,
|
45
61
|
client_secret: @client_secret
|
46
62
|
}
|
47
63
|
end
|
48
|
-
|
49
|
-
def add_authorization(req)
|
50
|
-
req.headers[:authorization] = "Bearer #{@token}"
|
51
|
-
end
|
52
64
|
end
|
53
65
|
end
|
data/lib/mrkt/version.rb
CHANGED
@@ -29,6 +29,44 @@ describe Mrkt::Authentication do
|
|
29
29
|
expect(client.authenticated?).to be true
|
30
30
|
end
|
31
31
|
|
32
|
+
context 'with optional partner_id client option' do
|
33
|
+
before { remove_request_stub(@authentication_request_stub) }
|
34
|
+
|
35
|
+
let(:partner_id) { SecureRandom.uuid }
|
36
|
+
|
37
|
+
let(:client_options) do
|
38
|
+
{
|
39
|
+
host: host,
|
40
|
+
client_id: client_id,
|
41
|
+
client_secret: client_secret,
|
42
|
+
partner_id: partner_id
|
43
|
+
}
|
44
|
+
end
|
45
|
+
|
46
|
+
let(:query) do
|
47
|
+
{
|
48
|
+
client_id: client_id,
|
49
|
+
client_secret: client_secret,
|
50
|
+
partner_id: partner_id,
|
51
|
+
grant_type: 'client_credentials'
|
52
|
+
}
|
53
|
+
end
|
54
|
+
|
55
|
+
subject(:client) { Mrkt::Client.new(client_options) }
|
56
|
+
|
57
|
+
before do
|
58
|
+
stub_request(:get, "https://#{host}/identity/oauth/token")
|
59
|
+
.with(query: query)
|
60
|
+
.to_return(json_stub(authentication_stub))
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'should authenticate and then be authenticated?' do
|
64
|
+
expect(client.authenticated?).to_not be true
|
65
|
+
client.authenticate!
|
66
|
+
expect(client.authenticated?).to be true
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
32
70
|
context 'when the token has expired and @retry_authentication = true' do
|
33
71
|
before { remove_request_stub(@authentication_request_stub) }
|
34
72
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mrkt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- KARASZI István
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-
|
12
|
+
date: 2019-12-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
@@ -223,7 +223,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
223
223
|
- !ruby/object:Gem::Version
|
224
224
|
version: '0'
|
225
225
|
requirements: []
|
226
|
-
rubygems_version: 3.0.
|
226
|
+
rubygems_version: 3.0.6
|
227
227
|
signing_key:
|
228
228
|
specification_version: 4
|
229
229
|
summary: Marketo REST API Facade
|