Sha256: 27b1716cbfe0775ac0f2ef5b04a8b09df7e20e27e7ff554f08bb841265a5d050

Contents?: true

Size: 713 Bytes

Versions: 16

Compression:

Stored size: 713 Bytes

Contents

module Xmldsig
  class Transforms < Array

    def apply(node)
      @node = node
      each do |transform_node|
        @node = get_transform(@node, transform_node).transform
      end
      @node
    end

    private

    def get_transform(node, transform_node)
      case transform_node.get_attribute("Algorithm")
        when "http://www.w3.org/2000/09/xmldsig#enveloped-signature"
          Transforms::EnvelopedSignature.new(node, transform_node)
        when "http://www.w3.org/2001/10/xml-exc-c14n#",
            "http://www.w3.org/TR/2001/REC-xml-c14n-20010315",
            "http://www.w3.org/2006/12/xml-c14n11"
          Transforms::Canonicalize.new(node, transform_node)
      end
    end

  end
end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
xmldsig-0.2.9 lib/xmldsig/transforms.rb
xmldsig-0.2.8 lib/xmldsig/transforms.rb
xmldsig-0.2.7 lib/xmldsig/transforms.rb
xmldsig-0.2.6 lib/xmldsig/transforms.rb
xmldsig-0.2.5 lib/xmldsig/transforms.rb
xmldsig-fiscalizer-0.2.4 lib/xmldsig/transforms.rb
xmldsig-0.2.4 lib/xmldsig/transforms.rb
xmldsig-0.2.3 lib/xmldsig/transforms.rb
xmldsig-0.2.2 lib/xmldsig/transforms.rb
xmldsig-0.2.1 lib/xmldsig/transforms.rb
xmldsig-0.2.0 lib/xmldsig/transforms.rb
xmldsig-0.1.0 lib/xmldsig/transforms.rb
xmldsig-0.0.4 lib/xmldsig/transforms.rb
xmldsig-0.0.3 lib/xmldsig/transforms.rb
xmldsig-0.0.2 lib/xmldsig/transforms.rb
xmldsig-0.0.1 lib/xmldsig/transforms.rb