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/organization'
48require 'saml/kit/parser'
49require 'saml/kit/composite_metadata'
50require 'saml/kit/response'
51require 'saml/kit/identity_provider_metadata'
52require 'saml/kit/invalid_document'
53require 'saml/kit/service_provider_metadata'
54require 'saml/kit/signature'
55
56I18n.load_path +=
57  Dir[File.expand_path('kit/locales/*.yml', File.dirname(__FILE__))]
58
59module Saml
60  # This module is the container for all classes/modules in this gem.
61  module Kit
62    # This class provides a global access to the
63    # default SAML configuration. This is useful
64    # for long running processes.
65    class << self
66      def configuration
67        @configuration ||= Saml::Kit::Configuration.new
68      end
69
70      def configure
71        yield configuration
72      end
73
74      def logger
75        configuration.logger
76      end
77
78      def registry
79        configuration.registry
80      end
81
82      def deprecate(message)
83        @deprecation ||= ActiveSupport::Deprecation.new('2.0.0', 'saml-kit')
84        @deprecation.deprecation_warning(message)
85      end
86    end
87  end
88end