Commit 135b52b

mo <mo.khan@gmail.com>
2017-12-15 18:48:53
move .sign interface to Signatures.
1 parent 93c8c90
lib/saml/kit/signature.rb
@@ -1,23 +1,4 @@
 module Saml
   module Kit
-    class Signature
-      attr_reader :signatures
-      attr_reader :xml
-
-      def initialize(xml, signatures)
-        @signatures = signatures
-        @xml = xml
-      end
-
-      def template(reference_id)
-        Template.new(signatures.build(reference_id)).to_xml(xml: xml)
-      end
-
-      def self.sign(xml: ::Builder::XmlMarkup.new, configuration: Saml::Kit.configuration)
-        signatures = Saml::Kit::Signatures.new(configuration: configuration)
-        yield xml, new(xml, signatures)
-        signatures.complete(xml.target!)
-      end
-    end
   end
 end
lib/saml/kit/signatures.rb
@@ -17,6 +17,26 @@ module Saml
         private_key = configuration.private_keys(use: :signing).last
         Xmldsig::SignedDocument.new(raw_xml).sign(private_key)
       end
+
+      def self.sign(xml: ::Builder::XmlMarkup.new, configuration: Saml::Kit.configuration)
+        signatures = Saml::Kit::Signatures.new(configuration: configuration)
+        yield xml, Signature.new(xml, signatures)
+        signatures.complete(xml.target!)
+      end
+
+      class Signature
+        attr_reader :signatures
+        attr_reader :xml
+
+        def initialize(xml, signatures)
+          @signatures = signatures
+          @xml = xml
+        end
+
+        def template(reference_id)
+          Template.new(signatures.build(reference_id)).to_xml(xml: xml)
+        end
+      end
     end
   end
 end
spec/saml/authentication_request_spec.rb
@@ -84,7 +84,7 @@ RSpec.describe Saml::Kit::AuthenticationRequest do
       id = Saml::Kit::Id.generate
       configuration = Saml::Kit::Configuration.new
       configuration.generate_key_pair_for(use: :signing)
-      signed_xml = Saml::Kit::Signature.sign(configuration: configuration) do |xml, signature|
+      signed_xml = Saml::Kit::Signatures.sign(configuration: configuration) do |xml, signature|
         xml.tag!('samlp:AuthnRequest', "xmlns:samlp" => Saml::Kit::Namespaces::PROTOCOL, AssertionConsumerServiceURL: assertion_consumer_service_url, ID: id) do
           signature.template(id)
           xml.Fake do
spec/saml/logout_request_spec.rb
@@ -117,7 +117,7 @@ RSpec.describe Saml::Kit::LogoutRequest do
       id = Saml::Kit::Id.generate
       configuration = Saml::Kit::Configuration.new
       configuration.generate_key_pair_for(use: :signing)
-      signed_xml = Saml::Kit::Signature.sign(configuration: configuration) do |xml, signature|
+      signed_xml = Saml::Kit::Signatures.sign(configuration: configuration) do |xml, signature|
         xml.LogoutRequest ID: id do
           signature.template(id)
           xml.Fake do
spec/saml/response_spec.rb
@@ -59,7 +59,7 @@ RSpec.describe Saml::Kit::Response do
       id = Saml::Kit::Id.generate
       configuration = Saml::Kit::Configuration.new
       configuration.generate_key_pair_for(use: :signing)
-      signed_xml = Saml::Kit::Signature.sign(configuration: configuration) do |xml, signature|
+      signed_xml = Saml::Kit::Signatures.sign(configuration: configuration) do |xml, signature|
         xml.tag! "samlp:Response", "xmlns:samlp" => Saml::Kit::Namespaces::PROTOCOL, ID: id do
           signature.template(id)
           xml.Fake do
spec/saml/signature_spec.rb → spec/saml/signatures_spec.rb
@@ -1,6 +1,6 @@
 require "spec_helper"
 
-RSpec.describe Saml::Kit::Signature do
+RSpec.describe Saml::Kit::Signatures do
   let(:configuration) do
     config = Saml::Kit::Configuration.new
     config.add_key_pair(certificate, private_key, password: password, use: :signing)