landslider 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -0
- data/VERSION.yml +1 -1
- data/landslider.gemspec +5 -2
- data/lib/landslider.rb +71 -12
- data/test/landslider_test.rb +20 -0
- metadata +13 -2
data/Gemfile
CHANGED
data/VERSION.yml
CHANGED
data/landslider.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{landslider}
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jay Prall"]
|
12
|
-
s.date = %q{2011-04-
|
12
|
+
s.date = %q{2011-04-28}
|
13
13
|
s.description = %q{Landslider is a ruby interface to the Landslide SOAP-based API}
|
14
14
|
s.email = %q{jay@j4y.net}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -46,15 +46,18 @@ Gem::Specification.new do |s|
|
|
46
46
|
s.add_runtime_dependency(%q<jeweler>, [">= 0"])
|
47
47
|
s.add_runtime_dependency(%q<handsoap>, [">= 1.1.8"])
|
48
48
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
49
|
+
s.add_development_dependency(%q<rcov>, [">= 0"])
|
49
50
|
else
|
50
51
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
51
52
|
s.add_dependency(%q<handsoap>, [">= 1.1.8"])
|
52
53
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
54
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
53
55
|
end
|
54
56
|
else
|
55
57
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
56
58
|
s.add_dependency(%q<handsoap>, [">= 1.1.8"])
|
57
59
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
60
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
58
61
|
end
|
59
62
|
end
|
60
63
|
|
data/lib/landslider.rb
CHANGED
@@ -132,23 +132,19 @@ class Landslider < Handsoap::Service
|
|
132
132
|
end
|
133
133
|
node = response.document.xpath('//ns:getContactNotesResponse', ns)
|
134
134
|
parse_get_contact_notes_result(node)
|
135
|
+
|
135
136
|
end
|
136
|
-
|
137
|
-
def
|
137
|
+
|
138
|
+
def get_instance_information(session_id, user_id)
|
138
139
|
self.session_id = session_id
|
139
|
-
|
140
|
-
response = invoke("getOpportunityNotes", :soap_action => :none) do |message|
|
141
|
-
message.add('opportunityNote') { |ans|
|
142
140
|
|
143
|
-
|
144
|
-
|
145
|
-
ans.add 'totalResultsRequested', 10
|
146
|
-
}
|
141
|
+
response = invoke("getInstanceInformation", :soap_action => :none) do |message|
|
142
|
+
message.add 'userId', user_id
|
147
143
|
end
|
148
|
-
node = response.document.xpath('//ns:
|
149
|
-
|
144
|
+
node = response.document.xpath('//ns:getInstanceInformationResponse', ns)
|
145
|
+
parse_get_instance_information_result(node)
|
150
146
|
end
|
151
|
-
|
147
|
+
|
152
148
|
def get_leads(session_id, account_id)
|
153
149
|
self.session_id = session_id
|
154
150
|
|
@@ -177,6 +173,33 @@ class Landslider < Handsoap::Service
|
|
177
173
|
node = response.document.xpath('//ns:getLeadNotesResponse', ns)
|
178
174
|
parse_get_lead_notes_result(node)
|
179
175
|
end
|
176
|
+
|
177
|
+
|
178
|
+
def get_opportunity_notes(session_id, opportunity_id)
|
179
|
+
self.session_id = session_id
|
180
|
+
|
181
|
+
response = invoke("getOpportunityNotes", :soap_action => :none) do |message|
|
182
|
+
message.add('opportunityNote') { |ans|
|
183
|
+
|
184
|
+
ans.add 'opportunityId', opportunity_id
|
185
|
+
ans.add 'firstResultPosition', 1
|
186
|
+
ans.add 'totalResultsRequested', 10
|
187
|
+
}
|
188
|
+
end
|
189
|
+
node = response.document.xpath('//ns:getOpportunityNotesResponse', ns)
|
190
|
+
parse_get_opportunity_notes_result(node)
|
191
|
+
end
|
192
|
+
|
193
|
+
|
194
|
+
def get_user_information_by_id(session_id, user_id)
|
195
|
+
self.session_id = session_id
|
196
|
+
|
197
|
+
response = invoke("getUserInformationById", :soap_action => :none) do |message|
|
198
|
+
message.add 'userId', user_id
|
199
|
+
end
|
200
|
+
node = response.document.xpath('//ns:getUserInformationByIdResponse', ns)
|
201
|
+
parse_get_user_information_by_id_result(node)
|
202
|
+
end
|
180
203
|
|
181
204
|
private
|
182
205
|
|
@@ -272,6 +295,15 @@ class Landslider < Handsoap::Service
|
|
272
295
|
|
273
296
|
}
|
274
297
|
end
|
298
|
+
|
299
|
+
def parse_get_instance_information_result(node)
|
300
|
+
{
|
301
|
+
:error => xml_to_bool(node, './*/error/text()'),
|
302
|
+
:error_code => xml_to_int(node, './*/errorCode/text()')
|
303
|
+
}
|
304
|
+
end
|
305
|
+
|
306
|
+
|
275
307
|
def parse_get_leads_result(node)
|
276
308
|
{
|
277
309
|
:leads => parse_leads(node),
|
@@ -310,6 +342,18 @@ class Landslider < Handsoap::Service
|
|
310
342
|
:total_results_available => xml_to_int(node, './*/totalResultsAvailable/text()')
|
311
343
|
}
|
312
344
|
end
|
345
|
+
|
346
|
+
def parse_get_user_information_by_id_result(node)
|
347
|
+
{
|
348
|
+
:employee => parse_employee(node.xpath('./WsEmployee/employee')),
|
349
|
+
|
350
|
+
:error => xml_to_bool(node, './*/error/text()'),
|
351
|
+
:error_code => xml_to_int(node, './*/errorCode/text()'),
|
352
|
+
:result_msg => xml_to_str(node, './*/resultMsg/text()'),
|
353
|
+
:status_code => xml_to_int(node, './*/statusCode/text()')
|
354
|
+
}
|
355
|
+
end
|
356
|
+
|
313
357
|
|
314
358
|
# WsAccount
|
315
359
|
def parse_account(node)
|
@@ -373,6 +417,21 @@ class Landslider < Handsoap::Service
|
|
373
417
|
}
|
374
418
|
end
|
375
419
|
|
420
|
+
# WsEmployee
|
421
|
+
def parse_employee(node)
|
422
|
+
{
|
423
|
+
:employee_id => xml_to_int(node, './employeeId/text()'),
|
424
|
+
:company_name => xml_to_str(node, './companyName/text()'),
|
425
|
+
:first_name => xml_to_str(node, './firstName/text()'),
|
426
|
+
:last_name => xml_to_str(node, './lastName/text()'),
|
427
|
+
:email_address => xml_to_str(node, './emailAddress/text()'),
|
428
|
+
:is_administrator => xml_to_bool(node, './isAdministrator/text()'),
|
429
|
+
:office_phone => xml_to_str(node, './officePhone/text()'),
|
430
|
+
:title => xml_to_str(node, './title/text()'),
|
431
|
+
:user_id => xml_to_str(node, './userId/text()')
|
432
|
+
}
|
433
|
+
end
|
434
|
+
|
376
435
|
def parse_notes(node)
|
377
436
|
{
|
378
437
|
:notes => node.xpath('./*/notes', ns).map { |child| parse_note(child) }
|
data/test/landslider_test.rb
CHANGED
@@ -86,6 +86,15 @@ class LandsliderTest < Test::Unit::TestCase
|
|
86
86
|
validate_at_least_one_note_returned result
|
87
87
|
end
|
88
88
|
|
89
|
+
def test_landslider_get_instance_information
|
90
|
+
|
91
|
+
result = Landslider.get_instance_information($sid, 12640894)
|
92
|
+
|
93
|
+
assert_not_nil result
|
94
|
+
assert_equal false, result[:error]
|
95
|
+
|
96
|
+
end
|
97
|
+
|
89
98
|
def test_landslider_get_leads
|
90
99
|
result = Landslider.get_leads($sid, 51857822)
|
91
100
|
|
@@ -111,6 +120,17 @@ class LandsliderTest < Test::Unit::TestCase
|
|
111
120
|
validate_at_least_one_note_returned result
|
112
121
|
end
|
113
122
|
|
123
|
+
|
124
|
+
def test_landslider_get_user_information_by_id
|
125
|
+
|
126
|
+
result = Landslider.get_user_information_by_id($sid, 12640894)
|
127
|
+
|
128
|
+
assert_not_nil result
|
129
|
+
assert_equal false, result[:error]
|
130
|
+
assert_not_nil result[:employee]
|
131
|
+
assert_not_nil result[:employee][:user_id]
|
132
|
+
end
|
133
|
+
|
114
134
|
private
|
115
135
|
|
116
136
|
def validate_standard_api_result(result)
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: landslider
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.3.
|
5
|
+
version: 0.3.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Jay Prall
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-04-
|
13
|
+
date: 2011-04-28 00:00:00 -04:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -46,6 +46,17 @@ dependencies:
|
|
46
46
|
type: :development
|
47
47
|
prerelease: false
|
48
48
|
version_requirements: *id003
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: rcov
|
51
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: "0"
|
57
|
+
type: :development
|
58
|
+
prerelease: false
|
59
|
+
version_requirements: *id004
|
49
60
|
description: Landslider is a ruby interface to the Landslide SOAP-based API
|
50
61
|
email: jay@j4y.net
|
51
62
|
executables: []
|