main
 1# frozen_string_literal: true
 2
 3module Saml
 4  module Kit
 5    # This class is an implementation of the
 6    # Null Object pattern for when a Response
 7    # is missing an Assertion.
 8    class NullAssertion
 9      include Validatable
10      include Translatable
11      validate :invalid
12
13      def issuer; end
14
15      def name_id; end
16
17      def signed?
18        false
19      end
20
21      def signature; end
22
23      def attributes
24        []
25      end
26
27      def started_at
28        Time.at(0)
29      end
30
31      def expired_at
32        Time.at(0)
33      end
34
35      def audiences
36        []
37      end
38
39      def encrypted?
40        false
41      end
42
43      def decryptable?
44        false
45      end
46
47      def present?
48        false
49      end
50
51      def to_xml(*_args)
52        ''
53      end
54
55      def invalid
56        errors.add(:assertion, error_message(:invalid))
57      end
58
59      def name
60        'NullAssertion'
61      end
62    end
63  end
64end