class VIISP::Auth::Requests::Ticket

Constants

NODE_ID

Public Class Methods

new(providers: nil, attributes: nil, user_information: nil, postback_url: nil, custom_data: '') click to toggle source
# File lib/viisp/auth/requests/ticket.rb, line 12
def initialize(providers: nil, attributes: nil, user_information: nil, postback_url: nil,
               custom_data: '')
  @providers = providers || configuration.providers
  @attributes = attributes || configuration.attributes
  @user_information = user_information || configuration.user_information
  @postback_url = postback_url || configuration.postback_url
  @custom_data = custom_data
end

Public Instance Methods

build() click to toggle source
# File lib/viisp/auth/requests/ticket.rb, line 21
def build
  builder = Nokogiri::XML::Builder.new do |builder|
    soap_envelope(builder) do
      build_request(builder)
    end
  end

  builder.doc
end

Private Instance Methods

build_request(builder) click to toggle source
# File lib/viisp/auth/requests/ticket.rb, line 33
def build_request(builder)
  builder[:authentication].authenticationRequest(id: NODE_ID) do
    builder.pid(configuration.pid)

    @providers.each do |provider|
      builder.authenticationProvider(provider)
    end

    @attributes.each do |attribute|
      builder.authenticationAttribute(attribute)
    end

    @user_information.each do |val|
      builder.userInformation(val)
    end

    builder.postbackUrl(@postback_url)
    builder.customData(@custom_data)

    build_signature(builder, NODE_ID)
  end
end
configuration() click to toggle source
# File lib/viisp/auth/requests/ticket.rb, line 56
def configuration
  Auth.configuration
end