leadsquared 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 2f6b501ce8ab4dd1adaabda63f2751574be73d7e
4
- data.tar.gz: 27531c051ac257780361ed40225c0e2b35a4d21c
2
+ SHA256:
3
+ metadata.gz: e1f927850a877b103d662a6f8e7008112c1c12b06f56a0e8458128fadaf3a6f9
4
+ data.tar.gz: 70f6bda2e7355a28696261e67bf52d3ff382e93226f348b98db547f3054ae3df
5
5
  SHA512:
6
- metadata.gz: ceccfe9f88311e7137cc9a325eb111af74c09daab7a4a7101511d23f3028b196ee57671ac334bd877e42a06268517e1f225f8c124864481af5a7322eb5ad80e4
7
- data.tar.gz: 69a6a08f3f3897f2f6f50b24e0d509e12f0d548076a50edcaed6de2ba4b89008b1972743b7924558e8aa606de0799174468782104f59890f0fbe884930a72616
6
+ metadata.gz: df14b396f0f2510763509809b6c850da80c7743229f5142522974d6045ed7032ba73ff2b2e8309846a88bdbdae6a12cb5b1ab6c8b8c4dd13982a1c3f76ed89cd
7
+ data.tar.gz: 0e41dc23cdd63d06fee7f0a930fe8ed898894835621d857c29e2864197b9627f0250ca76675c08642f7eff18fb745212df8166a85c1b5fb8a72c015522be0ae6
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.5.0
@@ -6,7 +6,7 @@
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "leadsquared"
9
- s.version = "0.4.0"
9
+ s.version = "0.5.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
@@ -90,4 +90,3 @@ Gem::Specification.new do |s|
90
90
  s.add_dependency(%q<codeclimate-test-reporter>, [">= 0"])
91
91
  end
92
92
  end
93
-
@@ -17,14 +17,14 @@ module Leadsquared
17
17
 
18
18
  def get_lead_by_id(lead_id)
19
19
  url = url_with_service("Leads.GetById")
20
- response = connection.get(url, {id: lead_id})
20
+ response = connection.get(url, { id: lead_id })
21
21
  parsed_response = handle_response response
22
22
  parsed_response.first
23
23
  end
24
24
 
25
25
  def get_lead_by_email(email)
26
26
  url = url_with_service("Leads.GetByEmailaddress")
27
- response = connection.get(url, {emailaddress: email})
27
+ response = connection.get(url, { emailaddress: email })
28
28
  parsed_response = handle_response response
29
29
  parsed_response.first
30
30
  end
@@ -69,24 +69,32 @@ module Leadsquared
69
69
  "Value": "EmailAddress"
70
70
  }
71
71
  ]
72
- body += build_attributes(values_hash)
72
+ body += build_attributes values_hash
73
73
  response = connection.post(url, {}, body.to_json)
74
74
  parsed_response = handle_response response
75
75
  parsed_response["Message"]["Id"]
76
76
  end
77
77
 
78
78
  def visitor_to_lead(prospect_id, values_hash = {})
79
- url = url_with_service("Lead.Convert")
80
- body = build_attributes(values_hash)
79
+ url = url_with_service('Lead.Convert')
80
+ body = build_attributes values_hash
81
81
  response = connection.post(url, {leadId: prospect_id}, body.to_json)
82
82
  parsed_response = handle_response response
83
83
  parsed_response["Status"]
84
84
  end
85
85
 
86
+ def capture_lead(values_hash = {})
87
+ url = url_with_service('Lead.Capture')
88
+ body = build_attributes values_hash
89
+ response = connection.post(url, body.to_json)
90
+ parsed_response = handle_response response
91
+ parsed_response['Status']
92
+ end
93
+
86
94
  private
87
95
 
88
96
  def build_attributes(values_hash)
89
- values_hash.map {|key, val| {"Attribute" => key, "Value" => val} }
97
+ values_hash.map { |key, val| { 'Attribute' => key, 'Value' => val } }
90
98
  end
91
99
  end
92
100
 
@@ -152,6 +152,34 @@ describe Leadsquared::Lead do
152
152
  end
153
153
  end
154
154
 
155
+ describe '#capture_lead' do
156
+ let(:url) { "#{service}Lead.Capture" }
157
+ let(:values_hash) do
158
+ { 'OwnerId' => '1234567', 'ProspectID' => lead_id }
159
+ end
160
+ let(:success_response) do
161
+ { "Status" => "Success", "Message" => { "AffectedRows" => 1 } }
162
+ end
163
+ let(:body) do
164
+ [
165
+ { "Attribute": "OwnerId", "Value": "1234567" },
166
+ { "Attribute": "ProspectID", "Value": lead_id }
167
+ ]
168
+ end
169
+ let(:valid_response) do
170
+ double('response',
171
+ status: 200,
172
+ body: success_response.to_json)
173
+ end
174
+
175
+ it 'capture valid user' do
176
+ expect(mock_connection).to receive(:post).with(url, body.to_json).and_return valid_response
177
+ response = subject.capture_lead(values_hash)
178
+ expect(response).to eq(success_response['Status'])
179
+ end
180
+
181
+ end
182
+
155
183
  describe "#update" do
156
184
  let(:url) { "#{service}Lead.Update" }
157
185
  let(:new_values) do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leadsquared
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Paluy
@@ -214,8 +214,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
214
214
  - !ruby/object:Gem::Version
215
215
  version: '0'
216
216
  requirements: []
217
- rubyforge_project:
218
- rubygems_version: 2.4.5.1
217
+ rubygems_version: 3.0.2
219
218
  signing_key:
220
219
  specification_version: 4
221
220
  summary: Ruby framework for integration with Leadsquared API