main
 1# frozen_string_literal: true
 2
 3require 'saml/kit/version'
 4
 5require 'active_model'
 6require 'active_support/core_ext/date/calculations'
 7require 'active_support/core_ext/hash/conversions'
 8require 'active_support/core_ext/hash/indifferent_access'
 9require 'active_support/core_ext/numeric/time'
10require 'active_support/deprecation'
11require 'active_support/duration'
12require 'forwardable'
13require 'logger'
14require 'net/hippie'
15require 'nokogiri'
16require 'securerandom'
17require 'uri'
18require 'xml/kit'
19
20require 'saml/kit/concerns/buildable'
21require 'saml/kit/concerns/requestable'
22require 'saml/kit/concerns/respondable'
23require 'saml/kit/concerns/serializable'
24require 'saml/kit/concerns/translatable'
25require 'saml/kit/concerns/trustable'
26require 'saml/kit/concerns/validatable'
27require 'saml/kit/concerns/xml_parseable'
28require 'saml/kit/concerns/xml_templatable'
29require 'saml/kit/concerns/xsd_validatable'
30
31require 'saml/kit/builders'
32require 'saml/kit/namespaces'
33require 'saml/kit/document'
34
35require 'saml/kit/assertion'
36require 'saml/kit/attribute_statement'
37require 'saml/kit/authentication_request'
38require 'saml/kit/bindings'
39require 'saml/kit/conditions'
40require 'saml/kit/configuration'
41require 'saml/kit/default_registry'
42require 'saml/kit/logout_response'
43require 'saml/kit/logout_request'
44require 'saml/kit/metadata'
45require 'saml/kit/deprecated/metadata'
46require 'saml/kit/null_assertion'
47require 'saml/kit/signature_reference'
48require 'saml/kit/organization'
49require 'saml/kit/parser'
50require 'saml/kit/composite_metadata'
51require 'saml/kit/response'
52require 'saml/kit/identity_provider_metadata'
53require 'saml/kit/invalid_document'
54require 'saml/kit/service_provider_metadata'
55require 'saml/kit/signature'
56
57I18n.load_path +=
58  Dir[File.expand_path('kit/locales/*.yml', File.dirname(__FILE__))]
59
60module Saml
61  # This module is the container for all classes/modules in this gem.
62  module Kit
63    # This class provides a global access to the
64    # default SAML configuration. This is useful
65    # for long running processes.
66    class << self
67      def configuration
68        @configuration ||= Saml::Kit::Configuration.new
69      end
70
71      def configure
72        yield configuration
73      end
74
75      def logger
76        configuration.logger
77      end
78
79      def registry
80        configuration.registry
81      end
82
83      def deprecate(message)
84        @deprecation ||= ActiveSupport::Deprecation.new('2.0.0', 'saml-kit')
85        @deprecation.deprecation_warning(message)
86      end
87    end
88  end
89end