Sha256: b0e5b341ddb9982efea40a440089940e84a72f74b8a8d8e1544def4e7ef85be3

Contents?: true

Size: 749 Bytes

Versions: 13

Compression:

Stored size: 749 Bytes

Contents

module Lipseys
  class User < SoapClient

    API_URL = 'https://www.lipseys.com/API/validate.asmx?WSDL'

    def initialize(options = {})
      requires!(options, :username, :password)
      @options = options
    end

    def authenticated?
      validate[:success]
    end

    def validate
      body = { Credentials: { EmailAddress: @options[:username], Password: @options[:password] } }
      response = soap_client(API_URL).call(:validate_dealer, message: body)

      result = response.body[:validate_dealer_response][:validate_dealer_result]

      {
        success: (result[:success] == 'Y'),
        description: result[:return_desc],
      }
    rescue Savon::Error => e
      { success: false, description: e.to_s }
    end

  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
lipseys-5.0.0 lib/lipseys/user.rb
lipseys-4.0.0 lib/lipseys/user.rb
lipseys-3.0.1 lib/lipseys/user.rb
lipseys-3.0.0 lib/lipseys/user.rb
lipseys-2.1.0 lib/lipseys/user.rb
lipseys-2.0.9 lib/lipseys/user.rb
lipseys-2.0.8 lib/lipseys/user.rb
lipseys-2.0.7 lib/lipseys/user.rb
lipseys-2.0.6 lib/lipseys/user.rb
lipseys-2.0.5 lib/lipseys/user.rb
lipseys-2.0.4 lib/lipseys/user.rb
lipseys-2.0.3 lib/lipseys/user.rb
lipseys-2.0.2 lib/lipseys/user.rb