Class: Inforouter::Responses::Users

Inherits:
Base
  • Object
show all
Defined in:
lib/inforouter/responses/users.rb

Overview

Response to an infoRouter Get All Users API call.

See www.inforouter.com/web-services-80/default.aspx?op=GetAllUsers

Instance Attribute Summary

Attributes inherited from Base

#raw

Class Method Summary collapse

Methods inherited from Base

error_message, #initialize, #match, parse_datetime, response_success, set_dsl

Constructor Details

This class inherits a constructor from Inforouter::Responses::Base

Class Method Details

.parse(savon_response) ⇒ Array

Parse an infoRouter response.

Parameters:

  • savon_response (Savon::Response)

    SOAP response.

Returns:

  • (Array)


16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/inforouter/responses/users.rb', line 16

def parse(savon_response)
  response = new(savon_response)
  users = response.match('get_all_users_response/get_all_users_result/response/users/user')
  users.map do |user|
    Inforouter::User.new(
      id: user[:@user_id].to_i,
      domain: user[:@domain].strip,
      user_name: user[:@user_name].strip,
      first_name: user[:@first_name].strip,
      last_name: user[:@last_name].strip,
      last_logon: DateTime.strptime(user[:@last_logon_date], '%Y-%m-%d %H:%M:%S'),
      last_password_change: DateTime.strptime(user[:@last_password_change_date], '%Y-%m-%d %H:%M:%S'),
      authentication_authority: user[:@authentication_authority].strip,
      read_only: user[:@read_only_user] == 'TRUE',
      email: user[:@email].strip,
      enabled: user[:@enabled] == 'TRUE'
    )
  end
end