landslider 0.3.0 → 0.3.1

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.
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: []