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