ruby-pardot 1.0.2 → 1.3.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 +5 -5
- data/Gemfile.lock +30 -20
- data/README.rdoc +3 -0
- data/lib/pardot/authentication.rb +12 -2
- data/lib/pardot/client.rb +4 -3
- data/lib/pardot/http.rb +13 -6
- data/lib/pardot/objects/custom_fields.rb +37 -0
- data/lib/pardot/objects/prospects.rb +65 -27
- data/lib/pardot/version.rb +1 -1
- data/lib/ruby-pardot.rb +1 -0
- data/ruby-pardot.gemspec +4 -4
- data/spec/pardot/authentication_spec.rb +57 -4
- data/spec/pardot/client_spec.rb +28 -0
- data/spec/pardot/error_spec.rb +2 -2
- data/spec/pardot/http_spec.rb +73 -12
- data/spec/pardot/objects/custom_fields_spec.rb +58 -0
- data/spec/pardot/objects/emails_spec.rb +9 -6
- data/spec/pardot/objects/lists_spec.rb +4 -3
- data/spec/pardot/objects/opportunities_spec.rb +8 -6
- data/spec/pardot/objects/prospect_accounts_spec.rb +10 -8
- data/spec/pardot/objects/prospects_spec.rb +9 -8
- data/spec/pardot/objects/users_spec.rb +7 -6
- data/spec/pardot/objects/visitor_activities_spec.rb +7 -6
- data/spec/pardot/objects/visitors_spec.rb +7 -6
- data/spec/pardot/objects/visits_spec.rb +7 -6
- data/spec/support/fakeweb.rb +4 -0
- metadata +20 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: e618137557812f8899ff1d06b37bedb49d72cc51e191a091c15b5135780e3bd5
|
4
|
+
data.tar.gz: 22b0992ead0f91fa432af3ccfbad1ea1b1cb65080c7898b8ed9cc9695fbcfa64
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3038da0a48d2608cb4395e4ec8ce0a8fcbd3962357279a4ce76b9e74eb936ea22f4942ded8261aa9507af0bb93501b0a07a8c91b05f1fdb6c1b7fb3cf188c87a
|
7
|
+
data.tar.gz: 7fffe6dd67e999a0c294c170dea8929e2885b4957d08bdfc812338696497db02af39015751fed5ea708b9e5090d09fbbb8594f20b548ad4c5a1d5e16e0b5577f
|
data/Gemfile.lock
CHANGED
@@ -1,37 +1,47 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ruby-pardot (1.
|
5
|
-
crack
|
6
|
-
httparty
|
4
|
+
ruby-pardot (1.3.2)
|
5
|
+
crack (= 0.4.3)
|
6
|
+
httparty (= 0.18.1)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: http://rubygems.org/
|
10
10
|
specs:
|
11
|
-
crack (0.4.
|
11
|
+
crack (0.4.3)
|
12
12
|
safe_yaml (~> 1.0.0)
|
13
|
-
diff-lcs (1.
|
13
|
+
diff-lcs (1.4.4)
|
14
14
|
fakeweb (1.3.0)
|
15
|
-
httparty (0.
|
16
|
-
|
15
|
+
httparty (0.18.1)
|
16
|
+
mime-types (~> 3.0)
|
17
17
|
multi_xml (>= 0.5.2)
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
rspec-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
18
|
+
mime-types (3.3.1)
|
19
|
+
mime-types-data (~> 3.2015)
|
20
|
+
mime-types-data (3.2020.0512)
|
21
|
+
multi_xml (0.6.0)
|
22
|
+
rspec (3.5.0)
|
23
|
+
rspec-core (~> 3.5.0)
|
24
|
+
rspec-expectations (~> 3.5.0)
|
25
|
+
rspec-mocks (~> 3.5.0)
|
26
|
+
rspec-core (3.5.4)
|
27
|
+
rspec-support (~> 3.5.0)
|
28
|
+
rspec-expectations (3.5.0)
|
29
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
30
|
+
rspec-support (~> 3.5.0)
|
31
|
+
rspec-mocks (3.5.0)
|
32
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
33
|
+
rspec-support (~> 3.5.0)
|
34
|
+
rspec-support (3.5.0)
|
35
|
+
safe_yaml (1.0.5)
|
29
36
|
|
30
37
|
PLATFORMS
|
31
38
|
ruby
|
32
39
|
|
33
40
|
DEPENDENCIES
|
34
|
-
bundler (>= 1.
|
41
|
+
bundler (>= 1.10)
|
35
42
|
fakeweb
|
36
|
-
rspec
|
43
|
+
rspec (= 3.5.0)
|
37
44
|
ruby-pardot!
|
45
|
+
|
46
|
+
BUNDLED WITH
|
47
|
+
2.1.4
|
data/README.rdoc
CHANGED
@@ -10,6 +10,8 @@ Add the following to your Gemfile
|
|
10
10
|
|
11
11
|
The client will authenticate before performing other API calls, but you can manually authenticate as well
|
12
12
|
|
13
|
+
require "ruby-pardot"
|
14
|
+
|
13
15
|
client = Pardot::Client.new email, password, user_key
|
14
16
|
|
15
17
|
# will raise a Pardot::ResponseError if login fails
|
@@ -20,6 +22,7 @@ The client will authenticate before performing other API calls, but you can manu
|
|
20
22
|
|
21
23
|
The available objects are:
|
22
24
|
|
25
|
+
* custom_fields
|
23
26
|
* emails
|
24
27
|
* lists
|
25
28
|
* opportunities
|
@@ -2,7 +2,8 @@ module Pardot
|
|
2
2
|
module Authentication
|
3
3
|
|
4
4
|
def authenticate
|
5
|
-
resp = post "login", nil, :email => @email, :password => @password, :user_key => @user_key
|
5
|
+
resp = post "login", nil, nil, nil, :email => @email, :password => @password, :user_key => @user_key
|
6
|
+
update_version(resp["version"]) if resp && resp["version"]
|
6
7
|
@api_key = resp && resp["api_key"]
|
7
8
|
end
|
8
9
|
|
@@ -14,6 +15,15 @@ module Pardot
|
|
14
15
|
@api_key = nil
|
15
16
|
authenticate
|
16
17
|
end
|
17
|
-
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def update_version version
|
22
|
+
if version.is_a? Array
|
23
|
+
version = version.last
|
24
|
+
end
|
25
|
+
@version = version if version.to_i > 3
|
26
|
+
end
|
27
|
+
|
18
28
|
end
|
19
29
|
end
|
data/lib/pardot/client.rb
CHANGED
@@ -9,6 +9,7 @@ module Pardot
|
|
9
9
|
include Authentication
|
10
10
|
include Http
|
11
11
|
|
12
|
+
include Objects::CustomFields
|
12
13
|
include Objects::Emails
|
13
14
|
include Objects::Lists
|
14
15
|
include Objects::ListMemberships
|
@@ -20,16 +21,16 @@ module Pardot
|
|
20
21
|
include Objects::Visits
|
21
22
|
include Objects::VisitorActivities
|
22
23
|
|
23
|
-
attr_accessor :email, :password, :user_key, :api_key, :format
|
24
|
+
attr_accessor :email, :password, :user_key, :api_key, :version, :format
|
24
25
|
|
25
|
-
def initialize email, password, user_key
|
26
|
+
def initialize email, password, user_key, version = 3
|
26
27
|
@email = email
|
27
28
|
@password = password
|
28
29
|
@user_key = user_key
|
30
|
+
@version = version
|
29
31
|
|
30
32
|
@format = "simple"
|
31
33
|
end
|
32
34
|
|
33
|
-
|
34
35
|
end
|
35
36
|
end
|
data/lib/pardot/http.rb
CHANGED
@@ -4,7 +4,8 @@ module Pardot
|
|
4
4
|
def get object, path, params = {}, num_retries = 0
|
5
5
|
smooth_params object, params
|
6
6
|
full_path = fullpath object, path
|
7
|
-
|
7
|
+
headers = create_auth_header object
|
8
|
+
check_response self.class.get(full_path, :query => params, :headers => headers)
|
8
9
|
|
9
10
|
rescue Pardot::ExpiredApiKeyError => e
|
10
11
|
handle_expired_api_key :get, object, path, params, num_retries, e
|
@@ -13,10 +14,11 @@ module Pardot
|
|
13
14
|
raise Pardot::NetError.new(e)
|
14
15
|
end
|
15
16
|
|
16
|
-
def post object, path, params = {}, num_retries = 0
|
17
|
+
def post object, path, params = {}, num_retries = 0, bodyParams = {}
|
17
18
|
smooth_params object, params
|
18
19
|
full_path = fullpath object, path
|
19
|
-
|
20
|
+
headers = create_auth_header object
|
21
|
+
check_response self.class.post(full_path, :query => params, :body => bodyParams, :headers => headers)
|
20
22
|
|
21
23
|
rescue Pardot::ExpiredApiKeyError => e
|
22
24
|
handle_expired_api_key :post, object, path, params, num_retries, e
|
@@ -39,7 +41,12 @@ module Pardot
|
|
39
41
|
return if object == "login"
|
40
42
|
|
41
43
|
authenticate unless authenticated?
|
42
|
-
params.merge! :
|
44
|
+
params.merge! :format => @format
|
45
|
+
end
|
46
|
+
|
47
|
+
def create_auth_header object
|
48
|
+
return if object == "login"
|
49
|
+
{ :Authorization => "Pardot api_key=#{@api_key}, user_key=#{@user_key}" }
|
43
50
|
end
|
44
51
|
|
45
52
|
def check_response http_response
|
@@ -58,8 +65,8 @@ module Pardot
|
|
58
65
|
rsp
|
59
66
|
end
|
60
67
|
|
61
|
-
def fullpath object, path
|
62
|
-
full = File.join("/api", object, "version", version.to_s)
|
68
|
+
def fullpath object, path
|
69
|
+
full = File.join("/api", object, "version", @version.to_s)
|
63
70
|
unless path.nil?
|
64
71
|
full = File.join(full, path)
|
65
72
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Pardot
|
2
|
+
module Objects
|
3
|
+
module CustomFields
|
4
|
+
|
5
|
+
def custom_fields
|
6
|
+
@custom_fields ||= CustomFields.new self
|
7
|
+
end
|
8
|
+
|
9
|
+
class CustomFields
|
10
|
+
|
11
|
+
def initialize client
|
12
|
+
@client = client
|
13
|
+
end
|
14
|
+
|
15
|
+
def query params
|
16
|
+
result = get "/do/query", params, "result"
|
17
|
+
result["total_results"] = result["total_results"].to_i if result["total_results"]
|
18
|
+
result
|
19
|
+
end
|
20
|
+
|
21
|
+
protected
|
22
|
+
|
23
|
+
def get path, params = {}, result = "customField"
|
24
|
+
response = @client.get "customField", path, params
|
25
|
+
result ? response[result] : response
|
26
|
+
end
|
27
|
+
|
28
|
+
def post path, params = {}, result = "user"
|
29
|
+
response = @client.post "customField", path, params
|
30
|
+
result ? response[result] : response
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -1,73 +1,111 @@
|
|
1
|
+
require 'cgi'
|
2
|
+
|
1
3
|
module Pardot
|
2
4
|
module Objects
|
3
5
|
module Prospects
|
4
|
-
|
6
|
+
|
5
7
|
def prospects
|
6
8
|
@prospects ||= Prospects.new self
|
7
9
|
end
|
8
|
-
|
10
|
+
|
9
11
|
class Prospects
|
10
|
-
|
12
|
+
|
11
13
|
def initialize client
|
12
14
|
@client = client
|
13
15
|
end
|
14
|
-
|
16
|
+
|
15
17
|
def query search_criteria
|
16
18
|
result = get "/do/query", search_criteria, "result"
|
17
19
|
result["total_results"] = result["total_results"].to_i if result["total_results"]
|
18
20
|
result
|
19
21
|
end
|
20
|
-
|
22
|
+
|
21
23
|
def assign_by_email email, params
|
22
|
-
post "/do/assign/email/#{email}", params
|
24
|
+
post "/do/assign/email/#{CGI.escape(email)}", params
|
23
25
|
end
|
24
|
-
|
26
|
+
|
25
27
|
def assign_by_id id, params
|
26
|
-
post "/do/assign/id/#{id}", params
|
28
|
+
post "/do/assign/id/#{CGI.escape(id)}", params
|
27
29
|
end
|
28
|
-
|
30
|
+
|
31
|
+
def assign_by_fid fid, params
|
32
|
+
post "/do/assign/fid/#{CGI.escape(fid)}", params
|
33
|
+
end
|
34
|
+
|
29
35
|
def create email, params = {}
|
30
|
-
post "/do/create/email/#{email}", params
|
36
|
+
post "/do/create/email/#{CGI.escape(email)}", params
|
37
|
+
end
|
38
|
+
|
39
|
+
def delete_by_id id, params = {}
|
40
|
+
post "/do/delete/id/#{CGI.escape(id)}", params
|
41
|
+
end
|
42
|
+
|
43
|
+
def delete_by_fid fid, params = {}
|
44
|
+
post "/do/delete/fid/#{CGI.escape(fid)}", params
|
31
45
|
end
|
32
|
-
|
46
|
+
|
33
47
|
def read_by_email email, params = {}
|
34
|
-
post "/do/read/email/#{email}", params
|
48
|
+
post "/do/read/email/#{CGI.escape(email)}", params
|
35
49
|
end
|
36
|
-
|
50
|
+
|
37
51
|
def read_by_id id, params = {}
|
38
|
-
post "/do/read/id/#{id}", params
|
52
|
+
post "/do/read/id/#{CGI.escape(id)}", params
|
53
|
+
end
|
54
|
+
|
55
|
+
def read_by_fid fid, params = {}
|
56
|
+
post "/do/read/fid/#{CGI.escape(fid)}", params
|
57
|
+
end
|
58
|
+
|
59
|
+
def unassign_by_email email, params = {}
|
60
|
+
post "/do/unassign/email/#{CGI.escape(email)}", params
|
39
61
|
end
|
40
|
-
|
62
|
+
|
63
|
+
def unassign_by_id id, params = {}
|
64
|
+
post "/do/unassign/id/#{CGI.escape(id)}", params
|
65
|
+
end
|
66
|
+
|
67
|
+
def unassign_by_fid fid, params = {}
|
68
|
+
post "/do/unassign/fid/#{CGI.escape(fid)}", params
|
69
|
+
end
|
70
|
+
|
41
71
|
def update_by_email email, params = {}
|
42
|
-
post "/do/update/email/#{email}", params
|
72
|
+
post "/do/update/email/#{CGI.escape(email)}", params
|
43
73
|
end
|
44
|
-
|
74
|
+
|
45
75
|
def update_by_id id, params = {}
|
46
|
-
post "/do/update/id/#{id}", params
|
76
|
+
post "/do/update/id/#{CGI.escape(id)}", params
|
47
77
|
end
|
48
|
-
|
78
|
+
|
79
|
+
def update_by_fid fid, params = {}
|
80
|
+
post "/do/update/fid/#{CGI.escape(fid)}", params
|
81
|
+
end
|
82
|
+
|
49
83
|
def upsert_by_email email, params = {}
|
50
|
-
post "/do/upsert/email/#{email}", params
|
84
|
+
post "/do/upsert/email/#{CGI.escape(email)}", params
|
51
85
|
end
|
52
|
-
|
86
|
+
|
53
87
|
def upsert_by_id id, params = {}
|
54
|
-
post "/do/upsert/id/#{id}", params
|
88
|
+
post "/do/upsert/id/#{CGI.escape(id)}", params
|
89
|
+
end
|
90
|
+
|
91
|
+
def upsert_by_fid fid, params = {}
|
92
|
+
post "/do/upsert/fid/#{CGI.escape(fid)}", params
|
55
93
|
end
|
56
|
-
|
94
|
+
|
57
95
|
protected
|
58
|
-
|
96
|
+
|
59
97
|
def get path, params = {}, result = "prospect"
|
60
98
|
response = @client.get "prospect", path, params
|
61
99
|
result ? response[result] : response
|
62
100
|
end
|
63
|
-
|
101
|
+
|
64
102
|
def post path, params = {}, result = "prospect"
|
65
103
|
response = @client.post "prospect", path, params
|
66
104
|
result ? response[result] : response
|
67
105
|
end
|
68
|
-
|
106
|
+
|
69
107
|
end
|
70
|
-
|
108
|
+
|
71
109
|
end
|
72
110
|
end
|
73
111
|
end
|
data/lib/pardot/version.rb
CHANGED
data/lib/ruby-pardot.rb
CHANGED
data/ruby-pardot.gemspec
CHANGED
@@ -14,11 +14,11 @@ Gem::Specification.new do |s|
|
|
14
14
|
s.required_rubygems_version = ">= 1.3.6"
|
15
15
|
s.rubyforge_project = "ruby-pardot"
|
16
16
|
|
17
|
-
s.add_dependency "crack"
|
18
|
-
s.add_dependency "httparty"
|
17
|
+
s.add_dependency "crack", "0.4.3"
|
18
|
+
s.add_dependency "httparty", "0.18.1"
|
19
19
|
|
20
|
-
s.add_development_dependency "bundler", ">= 1.
|
21
|
-
s.add_development_dependency "rspec"
|
20
|
+
s.add_development_dependency "bundler", ">= 1.10"
|
21
|
+
s.add_development_dependency "rspec", "3.5.0"
|
22
22
|
s.add_development_dependency "fakeweb"
|
23
23
|
|
24
24
|
s.files = `git ls-files`.split("\n")
|
@@ -11,26 +11,79 @@ describe Pardot::Authentication do
|
|
11
11
|
before do
|
12
12
|
@client = create_client
|
13
13
|
|
14
|
-
fake_post "/api/login/version/3
|
14
|
+
fake_post "/api/login/version/3",
|
15
15
|
%(<?xml version="1.0" encoding="UTF-8"?>\n<rsp stat="ok" version="1.0">\n <api_key>my_api_key</api_key>\n</rsp>\n)
|
16
16
|
end
|
17
17
|
|
18
18
|
def authenticate
|
19
19
|
@client.authenticate
|
20
20
|
end
|
21
|
+
|
22
|
+
def verifyBody
|
23
|
+
expect(FakeWeb.last_request.body).to eq('email=user%40test.com&password=foo&user_key=bar')
|
24
|
+
end
|
21
25
|
|
22
26
|
it "should return the api key" do
|
23
|
-
authenticate.
|
27
|
+
expect(authenticate).to eq("my_api_key")
|
24
28
|
end
|
25
29
|
|
26
30
|
it "should set the api key" do
|
27
31
|
authenticate
|
28
|
-
@client.api_key.
|
32
|
+
expect(@client.api_key).to eq("my_api_key")
|
33
|
+
verifyBody
|
29
34
|
end
|
30
35
|
|
31
36
|
it "should make authenticated? true" do
|
32
37
|
authenticate
|
33
|
-
@client.authenticated
|
38
|
+
expect(@client.authenticated?).to eq(true)
|
39
|
+
verifyBody
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should use version 3" do
|
43
|
+
authenticate
|
44
|
+
expect(@client.version.to_i).to eq(3)
|
45
|
+
verifyBody
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
describe "authenticateV4" do
|
51
|
+
|
52
|
+
before do
|
53
|
+
@client = create_client
|
54
|
+
|
55
|
+
fake_post "/api/login/version/3",
|
56
|
+
%(<?xml version="1.0" encoding="UTF-8"?>\n<rsp stat="ok" version="1.0">\n <api_key>my_api_key</api_key>\n<version>4</version>\n</rsp>\n)
|
57
|
+
end
|
58
|
+
|
59
|
+
def authenticate
|
60
|
+
@client.authenticate
|
61
|
+
end
|
62
|
+
|
63
|
+
def verifyBody
|
64
|
+
expect(FakeWeb.last_request.body).to eq('email=user%40test.com&password=foo&user_key=bar')
|
65
|
+
end
|
66
|
+
|
67
|
+
it "should return the api key" do
|
68
|
+
expect(authenticate).to eq("my_api_key")
|
69
|
+
end
|
70
|
+
|
71
|
+
it "should set the api key" do
|
72
|
+
authenticate
|
73
|
+
expect(@client.api_key).to eq("my_api_key")
|
74
|
+
verifyBody
|
75
|
+
end
|
76
|
+
|
77
|
+
it "should make authenticated? true" do
|
78
|
+
authenticate
|
79
|
+
expect(@client.authenticated?).to eq(true)
|
80
|
+
verifyBody
|
81
|
+
end
|
82
|
+
|
83
|
+
it "should use version 4" do
|
84
|
+
authenticate
|
85
|
+
expect(@client.version.to_i).to eq(4)
|
86
|
+
verifyBody
|
34
87
|
end
|
35
88
|
|
36
89
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe Pardot::Client do
|
4
|
+
|
5
|
+
def create_client
|
6
|
+
@client = Pardot::Client.new "user@test.com", "foo", "bar"
|
7
|
+
end
|
8
|
+
|
9
|
+
describe "client" do
|
10
|
+
after do
|
11
|
+
expect(@client.email).to eq("user@test.com")
|
12
|
+
expect(@client.password).to eq("password")
|
13
|
+
expect(@client.user_key).to eq("user_key")
|
14
|
+
expect(@client.format).to eq("simple")
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should set variables without version" do
|
18
|
+
@client = Pardot::Client.new "user@test.com", "password", "user_key"
|
19
|
+
expect(@client.version).to eq(3)
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should set variables with version" do
|
23
|
+
@client = Pardot::Client.new "user@test.com", "password", "user_key", 4
|
24
|
+
expect(@client.version).to eq(4)
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
data/spec/pardot/error_spec.rb
CHANGED
@@ -21,10 +21,10 @@ describe Pardot::ResponseError do
|
|
21
21
|
described_class.new(@res)
|
22
22
|
end
|
23
23
|
specify do
|
24
|
-
subject.to_s.
|
24
|
+
expect(subject.to_s).to eq(@res["__content__"])
|
25
25
|
end
|
26
26
|
specify do
|
27
|
-
subject.message.
|
27
|
+
expect(subject.message).to eq(@res["__content__"])
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
data/spec/pardot/http_spec.rb
CHANGED
@@ -18,23 +18,24 @@ describe Pardot::Http do
|
|
18
18
|
end
|
19
19
|
|
20
20
|
it "should notice errors and raise them as Pardot::ResponseError" do
|
21
|
-
fake_get "/api/foo/version/3/bar?
|
21
|
+
fake_get "/api/foo/version/3/bar?format=simple",
|
22
22
|
%(?xml version="1.0" encoding="UTF-8"?>\n<rsp stat="fail" version="1.0">\n <err code="15">Login failed</err>\n</rsp>\n)
|
23
23
|
|
24
|
-
|
24
|
+
|
25
|
+
expect(lambda { get }).to raise_error(Pardot::ResponseError)
|
25
26
|
end
|
26
27
|
|
27
28
|
it "should catch and reraise SocketErrors as Pardot::NetError" do
|
28
|
-
Pardot::Client.
|
29
|
+
expect(Pardot::Client).to receive(:get).and_raise(SocketError)
|
29
30
|
|
30
|
-
lambda { get }.
|
31
|
+
expect(lambda { get }).to raise_error(Pardot::NetError)
|
31
32
|
end
|
32
33
|
|
33
34
|
it "should call handle_expired_api_key when the api key expires" do
|
34
|
-
fake_get "/api/foo/version/3/bar?
|
35
|
+
fake_get "/api/foo/version/3/bar?format=simple",
|
35
36
|
%(?xml version="1.0" encoding="UTF-8"?>\n<rsp stat="fail" version="1.0">\n <err code="15">Invalid API key or user key</err>\n</rsp>\n)
|
36
37
|
|
37
|
-
@client.
|
38
|
+
expect(@client).to receive(:handle_expired_api_key)
|
38
39
|
get
|
39
40
|
end
|
40
41
|
|
@@ -47,23 +48,83 @@ describe Pardot::Http do
|
|
47
48
|
end
|
48
49
|
|
49
50
|
it "should notice errors and raise them as Pardot::ResponseError" do
|
50
|
-
fake_post "/api/foo/version/3/bar?
|
51
|
+
fake_post "/api/foo/version/3/bar?format=simple",
|
52
|
+
%(?xml version="1.0" encoding="UTF-8"?>\n<rsp stat="fail" version="1.0">\n <err code="15">Login failed</err>\n</rsp>\n)
|
53
|
+
|
54
|
+
expect(lambda { post }).to raise_error(Pardot::ResponseError)
|
55
|
+
end
|
56
|
+
|
57
|
+
it "should catch and reraise SocketErrors as Pardot::NetError" do
|
58
|
+
expect(Pardot::Client).to receive(:post).and_raise(SocketError)
|
59
|
+
|
60
|
+
expect(lambda { post }).to raise_error(Pardot::NetError)
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should call handle_expired_api_key when the api key expires" do
|
64
|
+
fake_post "/api/foo/version/3/bar?format=simple",
|
65
|
+
%(?xml version="1.0" encoding="UTF-8"?>\n<rsp stat="fail" version="1.0">\n <err code="15">Invalid API key or user key</err>\n</rsp>\n)
|
66
|
+
|
67
|
+
expect(@client).to receive(:handle_expired_api_key)
|
68
|
+
post
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
72
|
+
|
73
|
+
describe "getV4" do
|
74
|
+
|
75
|
+
def get object = "foo", path = "/bar", params = {}
|
76
|
+
@client.version = "4"
|
77
|
+
@client.get object, path, params
|
78
|
+
end
|
79
|
+
|
80
|
+
it "should notice errors and raise them as Pardot::ResponseError" do
|
81
|
+
fake_get "/api/foo/version/4/bar?format=simple",
|
82
|
+
%(?xml version="1.0" encoding="UTF-8"?>\n<rsp stat="fail" version="1.0">\n <err code="15">Login failed</err>\n</rsp>\n)
|
83
|
+
|
84
|
+
expect(lambda { get }).to raise_error(Pardot::ResponseError)
|
85
|
+
end
|
86
|
+
|
87
|
+
it "should catch and reraise SocketErrors as Pardot::NetError" do
|
88
|
+
expect(Pardot::Client).to receive(:get).and_raise(SocketError)
|
89
|
+
|
90
|
+
expect(lambda { get }).to raise_error(Pardot::NetError)
|
91
|
+
end
|
92
|
+
|
93
|
+
it "should call handle_expired_api_key when the api key expires" do
|
94
|
+
fake_get "/api/foo/version/4/bar?format=simple",
|
95
|
+
%(?xml version="1.0" encoding="UTF-8"?>\n<rsp stat="fail" version="1.0">\n <err code="15">Invalid API key or user key</err>\n</rsp>\n)
|
96
|
+
|
97
|
+
expect(@client).to receive(:handle_expired_api_key)
|
98
|
+
get
|
99
|
+
end
|
100
|
+
|
101
|
+
end
|
102
|
+
|
103
|
+
describe "postV4" do
|
104
|
+
|
105
|
+
def post object = "foo", path = "/bar", params = {}
|
106
|
+
@client.version = "4"
|
107
|
+
@client.post object, path, params
|
108
|
+
end
|
109
|
+
|
110
|
+
it "should notice errors and raise them as Pardot::ResponseError" do
|
111
|
+
fake_post "/api/foo/version/4/bar?format=simple",
|
51
112
|
%(?xml version="1.0" encoding="UTF-8"?>\n<rsp stat="fail" version="1.0">\n <err code="15">Login failed</err>\n</rsp>\n)
|
52
113
|
|
53
|
-
lambda { post }.
|
114
|
+
expect(lambda { post }).to raise_error(Pardot::ResponseError)
|
54
115
|
end
|
55
116
|
|
56
117
|
it "should catch and reraise SocketErrors as Pardot::NetError" do
|
57
|
-
Pardot::Client.
|
118
|
+
expect(Pardot::Client).to receive(:post).and_raise(SocketError)
|
58
119
|
|
59
|
-
lambda { post }.
|
120
|
+
expect(lambda { post }).to raise_error(Pardot::NetError)
|
60
121
|
end
|
61
122
|
|
62
123
|
it "should call handle_expired_api_key when the api key expires" do
|
63
|
-
fake_post "/api/foo/version/
|
124
|
+
fake_post "/api/foo/version/4/bar?format=simple",
|
64
125
|
%(?xml version="1.0" encoding="UTF-8"?>\n<rsp stat="fail" version="1.0">\n <err code="15">Invalid API key or user key</err>\n</rsp>\n)
|
65
126
|
|
66
|
-
@client.
|
127
|
+
expect(@client).to receive(:handle_expired_api_key)
|
67
128
|
post
|
68
129
|
end
|
69
130
|
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
describe Pardot::Objects::CustomFields do
|
4
|
+
|
5
|
+
before do
|
6
|
+
@client = create_client
|
7
|
+
end
|
8
|
+
|
9
|
+
describe "query" do
|
10
|
+
|
11
|
+
def sample_results
|
12
|
+
%(<?xml version="1.0" encoding="UTF-8"?>\n<rsp stat="ok" version="1.0">
|
13
|
+
<result>
|
14
|
+
<total_results>1</total_results>
|
15
|
+
<customField>
|
16
|
+
<created_at>2019-11-26 13:40:37</created_at>
|
17
|
+
<crm_id null="true" />
|
18
|
+
<field_id>CustomObject1574793618883</field_id>
|
19
|
+
<id>8932</id>
|
20
|
+
<is_record_multiple_responses>false</is_record_multiple_responses>
|
21
|
+
<is_use_values>false</is_use_values>
|
22
|
+
<name>Ω≈ç√∫˜µ≤≥÷</name>
|
23
|
+
<type>Text</type>
|
24
|
+
<type_id>1</type_id>
|
25
|
+
<updated_at>2019-11-26 13:40:37</updated_at>
|
26
|
+
</customField>
|
27
|
+
</result>
|
28
|
+
</rsp>)
|
29
|
+
end
|
30
|
+
|
31
|
+
before do
|
32
|
+
@client = create_client
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should take in some arguments" do
|
36
|
+
fake_get "/api/customField/version/3/do/query?id_greater_than=200&format=simple", sample_results
|
37
|
+
|
38
|
+
expect(@client.custom_fields.query(:id_greater_than => 200)).to eq({"total_results" => 1,
|
39
|
+
"customField"=>
|
40
|
+
{
|
41
|
+
"id"=>"8932",
|
42
|
+
"name"=>"Ω≈ç√∫˜µ≤≥÷",
|
43
|
+
"field_id"=>"CustomObject1574793618883",
|
44
|
+
"type"=>"Text",
|
45
|
+
"type_id"=>"1",
|
46
|
+
"crm_id"=>{"null"=>"true"},
|
47
|
+
"is_record_multiple_responses"=>"false",
|
48
|
+
"is_use_values"=>"false",
|
49
|
+
"created_at"=>"2019-11-26 13:40:37",
|
50
|
+
"updated_at"=>"2019-11-26 13:40:37"
|
51
|
+
}
|
52
|
+
})
|
53
|
+
assert_authorization_header
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
@@ -19,18 +19,21 @@ describe Pardot::Objects::Emails do
|
|
19
19
|
end
|
20
20
|
|
21
21
|
it "should take in the email ID" do
|
22
|
-
fake_get "/api/email/version/3/do/read/id/12?
|
23
|
-
@client.emails.read_by_id(12).
|
22
|
+
fake_get "/api/email/version/3/do/read/id/12?format=simple", sample_response
|
23
|
+
expect(@client.emails.read_by_id(12)).to eq({"name" => "My Email"})
|
24
|
+
assert_authorization_header
|
24
25
|
end
|
25
26
|
|
26
27
|
it 'should send to a prospect' do
|
27
|
-
fake_post '/api/email/version/3/do/send/prospect_id/42?campaign_id=765&email_template_id=86&
|
28
|
-
@client.emails.send_to_prospect(42, :campaign_id => 765, :email_template_id => 86).
|
28
|
+
fake_post '/api/email/version/3/do/send/prospect_id/42?campaign_id=765&email_template_id=86&format=simple', sample_response
|
29
|
+
expect(@client.emails.send_to_prospect(42, :campaign_id => 765, :email_template_id => 86)).to eq({"name" => "My Email"})
|
30
|
+
assert_authorization_header
|
29
31
|
end
|
30
32
|
|
31
33
|
it 'should send to a list' do
|
32
|
-
fake_post '/api/email/version/3/do/send?email_template_id=200&list_ids[]=235&campaign_id=654&
|
33
|
-
@client.emails.send_to_list(:email_template_id => 200, 'list_ids[]' => 235, :campaign_id => 654).
|
34
|
+
fake_post '/api/email/version/3/do/send?email_template_id=200&list_ids[]=235&campaign_id=654&format=simple', sample_response
|
35
|
+
expect(@client.emails.send_to_list(:email_template_id => 200, 'list_ids[]' => 235, :campaign_id => 654)).to eq({"name" => "My Email"})
|
36
|
+
assert_authorization_header
|
34
37
|
end
|
35
38
|
|
36
39
|
end
|
@@ -27,13 +27,14 @@ describe Pardot::Objects::Lists do
|
|
27
27
|
end
|
28
28
|
|
29
29
|
it "should take in some arguments" do
|
30
|
-
fake_get "/api/list/version/3/do/query?
|
30
|
+
fake_get "/api/list/version/3/do/query?id_greater_than=200&format=simple", sample_results
|
31
31
|
|
32
|
-
@client.lists.query(:id_greater_than => 200).
|
32
|
+
expect(@client.lists.query(:id_greater_than => 200)).to eq({"total_results" => 2,
|
33
33
|
"list"=>[
|
34
34
|
{"name"=>"Asdf List"},
|
35
35
|
{"name"=>"Qwerty List"}
|
36
|
-
]}
|
36
|
+
]})
|
37
|
+
assert_authorization_header
|
37
38
|
end
|
38
39
|
|
39
40
|
end
|
@@ -29,13 +29,14 @@ describe Pardot::Objects::Opportunities do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it "should take in some arguments" do
|
32
|
-
fake_get "/api/opportunity/version/3/do/query?
|
32
|
+
fake_get "/api/opportunity/version/3/do/query?id_greater_than=200&format=simple", sample_results
|
33
33
|
|
34
|
-
@client.opportunities.query(:id_greater_than => 200).
|
34
|
+
expect(@client.opportunities.query(:id_greater_than => 200)).to eq({"total_results" => 2,
|
35
35
|
"opportunity"=>[
|
36
36
|
{"type"=>"Great", "name"=>"Jim"},
|
37
37
|
{"type"=>"Good", "name"=>"Sue"}
|
38
|
-
]}
|
38
|
+
]})
|
39
|
+
assert_authorization_header
|
39
40
|
end
|
40
41
|
|
41
42
|
end
|
@@ -53,10 +54,11 @@ describe Pardot::Objects::Opportunities do
|
|
53
54
|
end
|
54
55
|
|
55
56
|
it "should return the prospect" do
|
56
|
-
fake_post "/api/opportunity/version/3/do/create/prospect_email/user@test.com?type=Good&
|
57
|
-
|
58
|
-
@client.opportunities.create_by_email("user@test.com", :name => "Jim", :type => "Good").should == {"name"=>"Jim", "type"=>"Good"}
|
57
|
+
fake_post "/api/opportunity/version/3/do/create/prospect_email/user@test.com?type=Good&format=simple&name=Jim", sample_results
|
59
58
|
|
59
|
+
expect(@client.opportunities.create_by_email("user@test.com", :name => "Jim", :type => "Good")).to eq({"name"=>"Jim", "type"=>"Good"})
|
60
|
+
|
61
|
+
assert_authorization_header
|
60
62
|
end
|
61
63
|
|
62
64
|
end
|
@@ -24,13 +24,14 @@ describe Pardot::Objects::ProspectAccounts do
|
|
24
24
|
end
|
25
25
|
|
26
26
|
it "should take in some arguments and respond with valid items" do
|
27
|
-
fake_get "/api/prospectAccount/version/3/do/query?assigned=true&format=simple
|
27
|
+
fake_get "/api/prospectAccount/version/3/do/query?assigned=true&format=simple", sample_results
|
28
28
|
|
29
|
-
@client.prospect_accounts.query(:assigned => true).
|
29
|
+
expect(@client.prospect_accounts.query(:assigned => true)).to eq({'total_results' => 2,
|
30
30
|
'prospectAccount'=>[
|
31
31
|
{'name'=>'Spaceships R Us'},
|
32
32
|
{'name'=>'Monsters Inc'}
|
33
|
-
]}
|
33
|
+
]})
|
34
|
+
assert_authorization_header
|
34
35
|
end
|
35
36
|
|
36
37
|
end
|
@@ -47,9 +48,10 @@ describe Pardot::Objects::ProspectAccounts do
|
|
47
48
|
end
|
48
49
|
|
49
50
|
it 'should return a valid account' do
|
50
|
-
fake_post '/api/prospectAccount/version/3/do/read/id/1234?assigned=true&format=simple
|
51
|
+
fake_post '/api/prospectAccount/version/3/do/read/id/1234?assigned=true&format=simple', sample_results
|
51
52
|
|
52
|
-
@client.prospect_accounts.read('1234', :assigned => true).
|
53
|
+
expect(@client.prospect_accounts.read('1234', :assigned => true)).to eq({'id' => '1234', 'name' => 'SupaDupaPanda' })
|
54
|
+
assert_authorization_header
|
53
55
|
end
|
54
56
|
|
55
57
|
end
|
@@ -67,10 +69,10 @@ describe Pardot::Objects::ProspectAccounts do
|
|
67
69
|
end
|
68
70
|
|
69
71
|
it 'should return the prospect account' do
|
70
|
-
fake_post '/api/prospectAccount/version/3/do/create?
|
71
|
-
|
72
|
-
@client.prospect_accounts.create(:name => 'SuperPanda').should == {"name"=>"SuperPanda"}
|
72
|
+
fake_post '/api/prospectAccount/version/3/do/create?format=simple&name=SuperPanda', sample_results
|
73
73
|
|
74
|
+
expect(@client.prospect_accounts.create(:name => 'SuperPanda')).to eq({"name"=>"SuperPanda"})
|
75
|
+
assert_authorization_header
|
74
76
|
end
|
75
77
|
|
76
78
|
end
|
@@ -26,13 +26,14 @@ describe Pardot::Objects::Prospects do
|
|
26
26
|
end
|
27
27
|
|
28
28
|
it "should take in some arguments" do
|
29
|
-
fake_get "/api/prospect/version/3/do/query?assigned=true&format=simple
|
29
|
+
fake_get "/api/prospect/version/3/do/query?assigned=true&format=simple", sample_results
|
30
30
|
|
31
|
-
@client.prospects.query(:assigned => true).
|
31
|
+
expect(@client.prospects.query(:assigned => true)).to eq({"total_results" => 2,
|
32
32
|
"prospect"=>[
|
33
33
|
{"last_name"=>"Smith", "first_name"=>"Jim"},
|
34
34
|
{"last_name"=>"Green", "first_name"=>"Sue"}
|
35
|
-
]}
|
35
|
+
]})
|
36
|
+
assert_authorization_header
|
36
37
|
end
|
37
38
|
|
38
39
|
end
|
@@ -50,12 +51,12 @@ describe Pardot::Objects::Prospects do
|
|
50
51
|
end
|
51
52
|
|
52
53
|
it "should return the prospect" do
|
53
|
-
fake_post "/api/prospect/version/3/do/create/email/user
|
54
|
-
|
55
|
-
@client.prospects.create("user@test.com", :first_name => "Jim").
|
56
|
-
|
54
|
+
fake_post "/api/prospect/version/3/do/create/email/user%40test.com?first_name=Jim&format=simple", sample_results
|
55
|
+
|
56
|
+
expect(@client.prospects.create("user@test.com", :first_name => "Jim")).to eq({"last_name"=>"Smith", "first_name"=>"Jim"})
|
57
|
+
assert_authorization_header
|
57
58
|
end
|
58
59
|
|
59
60
|
end
|
60
61
|
|
61
|
-
end
|
62
|
+
end
|
@@ -29,13 +29,14 @@ describe Pardot::Objects::Users do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it "should take in some arguments" do
|
32
|
-
fake_get "/api/user/version/3/do/query?
|
32
|
+
fake_get "/api/user/version/3/do/query?id_greater_than=200&format=simple", sample_results
|
33
33
|
|
34
|
-
@client.users.query(:id_greater_than => 200).
|
34
|
+
expect(@client.users.query(:id_greater_than => 200)).to eq({"total_results" => 2,
|
35
35
|
"user"=>[
|
36
36
|
{"email"=>"user@test.com", "first_name"=>"Jim"},
|
37
37
|
{"email"=>"user@example.com", "first_name"=>"Sue"}
|
38
|
-
]}
|
38
|
+
]})
|
39
|
+
assert_authorization_header
|
39
40
|
end
|
40
41
|
|
41
42
|
end
|
@@ -53,10 +54,10 @@ describe Pardot::Objects::Users do
|
|
53
54
|
end
|
54
55
|
|
55
56
|
it "should return the prospect" do
|
56
|
-
fake_post "/api/user/version/3/do/read/email/user@test.com?
|
57
|
-
|
58
|
-
@client.users.read_by_email("user@test.com").should == {"email"=>"user@example.com", "first_name"=>"Sue"}
|
57
|
+
fake_post "/api/user/version/3/do/read/email/user@test.com?format=simple", sample_results
|
59
58
|
|
59
|
+
expect(@client.users.read_by_email("user@test.com")).to eq({"email"=>"user@example.com", "first_name"=>"Sue"})
|
60
|
+
assert_authorization_header
|
60
61
|
end
|
61
62
|
|
62
63
|
end
|
@@ -29,13 +29,14 @@ describe Pardot::Objects::VisitorActivities do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it "should take in some arguments" do
|
32
|
-
fake_get "/api/visitorActivity/version/3/do/query?
|
32
|
+
fake_get "/api/visitorActivity/version/3/do/query?id_greater_than=200&format=simple", sample_results
|
33
33
|
|
34
|
-
@client.visitor_activities.query(:id_greater_than => 200).
|
34
|
+
expect(@client.visitor_activities.query(:id_greater_than => 200)).to eq({"total_results" => 2,
|
35
35
|
"visitorActivity"=>[
|
36
36
|
{"type_name"=>"Read", "details"=>"Some details"},
|
37
37
|
{"type_name"=>"Write", "details"=>"More details"}
|
38
|
-
]}
|
38
|
+
]})
|
39
|
+
assert_authorization_header
|
39
40
|
end
|
40
41
|
|
41
42
|
end
|
@@ -53,10 +54,10 @@ describe Pardot::Objects::VisitorActivities do
|
|
53
54
|
end
|
54
55
|
|
55
56
|
it "should return the prospect" do
|
56
|
-
fake_post "/api/visitorActivity/version/3/do/read/id/10?
|
57
|
-
|
58
|
-
@client.visitor_activities.read(10).should == {"details"=>"More details", "type_name"=>"Write"}
|
57
|
+
fake_post "/api/visitorActivity/version/3/do/read/id/10?format=simple", sample_results
|
59
58
|
|
59
|
+
expect(@client.visitor_activities.read(10)).to eq({"details"=>"More details", "type_name"=>"Write"})
|
60
|
+
assert_authorization_header
|
60
61
|
end
|
61
62
|
|
62
63
|
end
|
@@ -29,13 +29,14 @@ describe Pardot::Objects::Visitors do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it "should take in some arguments" do
|
32
|
-
fake_get "/api/visitor/version/3/do/query?
|
32
|
+
fake_get "/api/visitor/version/3/do/query?id_greater_than=200&format=simple", sample_results
|
33
33
|
|
34
|
-
@client.visitors.query(:id_greater_than => 200).
|
34
|
+
expect(@client.visitors.query(:id_greater_than => 200)).to eq({"total_results" => 2,
|
35
35
|
"visitor"=>[
|
36
36
|
{"browser"=>"Firefox", "language"=>"en"},
|
37
37
|
{"browser"=>"Chrome", "language"=>"es"}
|
38
|
-
]}
|
38
|
+
]})
|
39
|
+
assert_authorization_header
|
39
40
|
end
|
40
41
|
|
41
42
|
end
|
@@ -53,10 +54,10 @@ describe Pardot::Objects::Visitors do
|
|
53
54
|
end
|
54
55
|
|
55
56
|
it "should return the prospect" do
|
56
|
-
fake_post "/api/visitor/version/3/do/assign/id/10?type=Good&
|
57
|
-
|
58
|
-
@client.visitors.assign(10, :name => "Jim", :type => "Good").should == {"browser"=>"Chrome", "language"=>"es"}
|
57
|
+
fake_post "/api/visitor/version/3/do/assign/id/10?type=Good&format=simple&name=Jim", sample_results
|
59
58
|
|
59
|
+
expect(@client.visitors.assign(10, :name => "Jim", :type => "Good")).to eq({"browser"=>"Chrome", "language"=>"es"})
|
60
|
+
assert_authorization_header
|
60
61
|
end
|
61
62
|
|
62
63
|
end
|
@@ -29,13 +29,14 @@ describe Pardot::Objects::Visits do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it "should take in some arguments" do
|
32
|
-
fake_get "/api/visit/version/3/do/query?
|
32
|
+
fake_get "/api/visit/version/3/do/query?id_greater_than=200&format=simple", sample_results
|
33
33
|
|
34
|
-
@client.visits.query(:id_greater_than => 200).
|
34
|
+
expect(@client.visits.query(:id_greater_than => 200)).to eq({"total_results" => 2,
|
35
35
|
"visit"=>[
|
36
36
|
{"duration_in_seconds"=>"50", "visitor_page_view_count"=>"3"},
|
37
37
|
{"duration_in_seconds"=>"10", "visitor_page_view_count"=>"1"}
|
38
|
-
]}
|
38
|
+
]})
|
39
|
+
assert_authorization_header
|
39
40
|
end
|
40
41
|
|
41
42
|
end
|
@@ -53,10 +54,10 @@ describe Pardot::Objects::Visits do
|
|
53
54
|
end
|
54
55
|
|
55
56
|
it "should return the prospect" do
|
56
|
-
fake_post "/api/visit/version/3/do/read/id/10?
|
57
|
-
|
58
|
-
@client.visits.read(10).should == {"visitor_page_view_count"=>"1", "duration_in_seconds"=>"10"}
|
57
|
+
fake_post "/api/visit/version/3/do/read/id/10?format=simple", sample_results
|
59
58
|
|
59
|
+
expect(@client.visits.read(10)).to eq({"visitor_page_view_count"=>"1", "duration_in_seconds"=>"10"})
|
60
|
+
assert_authorization_header
|
60
61
|
end
|
61
62
|
|
62
63
|
end
|
data/spec/support/fakeweb.rb
CHANGED
metadata
CHANGED
@@ -1,71 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-pardot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Cunning
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-08-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: crack
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.4.3
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 0.4.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: httparty
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.18.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 0.18.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 1.
|
47
|
+
version: '1.10'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.
|
54
|
+
version: '1.10'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 3.5.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 3.5.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: fakeweb
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -97,6 +97,7 @@ files:
|
|
97
97
|
- lib/pardot/client.rb
|
98
98
|
- lib/pardot/error.rb
|
99
99
|
- lib/pardot/http.rb
|
100
|
+
- lib/pardot/objects/custom_fields.rb
|
100
101
|
- lib/pardot/objects/emails.rb
|
101
102
|
- lib/pardot/objects/list_memberships.rb
|
102
103
|
- lib/pardot/objects/lists.rb
|
@@ -111,8 +112,10 @@ files:
|
|
111
112
|
- lib/ruby-pardot.rb
|
112
113
|
- ruby-pardot.gemspec
|
113
114
|
- spec/pardot/authentication_spec.rb
|
115
|
+
- spec/pardot/client_spec.rb
|
114
116
|
- spec/pardot/error_spec.rb
|
115
117
|
- spec/pardot/http_spec.rb
|
118
|
+
- spec/pardot/objects/custom_fields_spec.rb
|
116
119
|
- spec/pardot/objects/emails_spec.rb
|
117
120
|
- spec/pardot/objects/lists_spec.rb
|
118
121
|
- spec/pardot/objects/opportunities_spec.rb
|
@@ -143,8 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
143
146
|
- !ruby/object:Gem::Version
|
144
147
|
version: 1.3.6
|
145
148
|
requirements: []
|
146
|
-
|
147
|
-
rubygems_version: 2.4.6
|
149
|
+
rubygems_version: 3.0.3
|
148
150
|
signing_key:
|
149
151
|
specification_version: 4
|
150
152
|
summary: Library for interacting with the Pardot API
|