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 CHANGED
@@ -5,5 +5,6 @@ gem "handsoap", ">= 1.1.8"
5
5
 
6
6
  group :development do
7
7
  gem "shoulda"
8
+ gem "rcov"
8
9
  end
9
10
 
data/VERSION.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 3
4
- :patch: 0
4
+ :patch: 1
5
5
  :build:
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.0"
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-27}
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 get_opportunity_notes(session_id, opportunity_id)
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
- ans.add 'opportunityId', opportunity_id
144
- ans.add 'firstResultPosition', 1
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:getOpportunityNotesResponse', ns)
149
- parse_get_opportunity_notes_result(node)
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) }
@@ -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.0
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-27 00:00:00 -04:00
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: []