lib/saml2/status.rb in saml2-2.0.2 vs lib/saml2/status.rb in saml2-2.1.0
- old
+ new
@@ -1,26 +1,33 @@
+# frozen_string_literal: true
+
require 'saml2/base'
module SAML2
class Status < Base
- SUCCESS = "urn:oasis:names:tc:SAML:2.0:status:Success".freeze
+ SUCCESS = "urn:oasis:names:tc:SAML:2.0:status:Success"
+ # @return [String]
attr_accessor :code, :message
+ # @param code [String]
+ # @param message [String, nil]
def initialize(code = SUCCESS, message = nil)
@code, @message = code, message
end
+ # (see Base#from_xml)
def from_xml(node)
super
self.code = node.at_xpath('samlp:StatusCode', Namespaces::ALL)['Value']
self.message = load_string_array(xml, 'samlp:StatusMessage')
end
def success?
code == SUCCESS
end
+ # (see Base#build)
def build(builder)
builder['samlp'].Status do |status|
status['samlp'].StatusCode(Value: code)
Array(message).each do |m|
status['samlp'].StatusMessage(m)