class VIISP::Auth::Identity
Attributes
doc[R]
Public Class Methods
new(doc)
click to toggle source
# File lib/viisp/auth/identity.rb, line 8 def initialize(doc) @doc = doc end
Public Instance Methods
to_hash()
click to toggle source
# File lib/viisp/auth/identity.rb, line 12 def to_hash { 'authentication_provider' => element_text('authenticationProvider'), 'attributes' => attributes, 'user_information' => user_information, 'custom_data' => element_text('customData'), 'source_data' => source_data, } end
Private Instance Methods
attributes()
click to toggle source
# File lib/viisp/auth/identity.rb, line 24 def attributes pairs = doc.css('authenticationAttribute').map do |el| [el.at('attribute').text, el.at('value').text] end Hash[pairs] end
element_text(element_name)
click to toggle source
# File lib/viisp/auth/identity.rb, line 62 def element_text(element_name) doc.at(element_name)&.text end
source_data()
click to toggle source
# File lib/viisp/auth/identity.rb, line 41 def source_data return unless source_data_element { 'type' => source_data_element.at('type').text, 'parameters' => source_data_parameters, } end
source_data_element()
click to toggle source
# File lib/viisp/auth/identity.rb, line 50 def source_data_element @source_data_element ||= doc.at('sourceData') end
source_data_parameters()
click to toggle source
# File lib/viisp/auth/identity.rb, line 54 def source_data_parameters pairs = source_data_element.css('parameter').map do |el| [el.attr('name'), el.text] end Hash[pairs] end
user_information()
click to toggle source
# File lib/viisp/auth/identity.rb, line 32 def user_information pairs = doc.css('userInformation').map do |el| value = el.at('stringValue')&.text || el.at('dateValue')&.text [el.at('information').text, value] end Hash[pairs] end