Sha256: bec843aac180447d8bcb8d1eb2eb0d4644b0cb256195d1385c848489f1b4de78

Contents?: true

Size: 1.14 KB

Versions: 12

Compression:

Stored size: 1.14 KB

Contents

module Saml
  module Elements
    class StatusCode
      include Saml::Base

      tag "StatusCode"
      namespace 'samlp'

      attribute :value, String, :tag => "Value"

      has_one :sub_status_code, Saml::Elements::SubStatusCode

      validates :value, :presence => true, :inclusion => TopLevelCodes::ALL

      def initialize(*args)
        options          = args.extract_options!
        @sub_status_code = Saml::Elements::SubStatusCode.new(:value => options.delete(:sub_status_value)) if options[:sub_status_value]
        super(*(args << options))
      end

      def success?
        value == TopLevelCodes::SUCCESS
      end

      def authn_failed?
        sub_status_code.value == SubStatusCodes::AUTHN_FAILED
      end

      def request_denied?
        sub_status_code.value == SubStatusCodes::REQUEST_DENIED
      end

      def no_authn_context?
        sub_status_code.value == SubStatusCodes::NO_AUTHN_CONTEXT
      end

      def partial_logout?
        sub_status_code.value == SubStatusCodes::PARTIAL_LOGOUT
      end

      def unknown_principal?
        sub_status_code.value == SubStatusCodes::UNKNOWN_PRINCIPAL
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
libsaml-2.15.6 lib/saml/elements/status_code.rb
libsaml-2.15.5 lib/saml/elements/status_code.rb
libsaml-2.15.4 lib/saml/elements/status_code.rb
libsaml-2.15.3 lib/saml/elements/status_code.rb
libsaml-2.15.2 lib/saml/elements/status_code.rb
libsaml-2.15.1 lib/saml/elements/status_code.rb
libsaml-2.14.0 lib/saml/elements/status_code.rb
libsaml-2.13.1 lib/saml/elements/status_code.rb
libsaml-2.12.1 lib/saml/elements/status_code.rb
libsaml-2.12.0 lib/saml/elements/status_code.rb
libsaml-2.11.2 lib/saml/elements/status_code.rb
libsaml-2.11.1 lib/saml/elements/status_code.rb