Class: LeapSalesforce::Session

Inherits:
Object
  • Object
show all
Defined in:
lib/leap_salesforce/session.rb

Overview

Holds information about a login session

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(username, password, security_token = '') ⇒ Session

Returns a new instance of Session.



15
16
17
18
19
20
21
# File 'lib/leap_salesforce/session.rb', line 15

def initialize(username, password, security_token = '')
   = LeapSalesforce::Session. username, password, security_token

  self.session_id = [:login_response][:result][:session_id]
  self.user_id = [:login_response][:result][:user_id]
  self. = [:login_response]
end

Instance Attribute Details

#login_responseHash

Returns Login response.

Returns:

  • (Hash)

    Login response



13
14
15
# File 'lib/leap_salesforce/session.rb', line 13

def 
  @login_response
end

#session_idString

Returns Session id returned from SOAP API.

Returns:

  • (String)

    Session id returned from SOAP API



9
10
11
# File 'lib/leap_salesforce/session.rb', line 9

def session_id
  @session_id
end

#user_idString

Returns User id returned from SOAP API.

Returns:

  • (String)

    User id returned from SOAP API



11
12
13
# File 'lib/leap_salesforce/session.rb', line 11

def user_id
  @user_id
end

Class Method Details

.soap_login(username, password, security_token) ⇒ Object

Login via SOAP API



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/leap_salesforce/session.rb', line 26

def (username, password, security_token)
  client = Savon.client do
    endpoint "#{SoqlHandler.instance_url}/services/Soap/u/51.0"
    namespace "urn:partner.soap.sforce.com"
    log true # See request and response. (Put this in traffic file)
    log_level :debug
    logger Soaspec::SpecLogger.create
    pretty_print_xml true # Prints XML pretty
  end

  response = client.call(:login, message:
      {
        username: username,
        password: password + security_token.to_s
      })
  response.body
end