Sha256: f436f45f7cd0840eab73b3e9341ddbe61bab13956b5c75ce7e9ead1ffa6ba9e6

Contents?: true

Size: 444 Bytes

Versions: 4

Compression:

Stored size: 444 Bytes

Contents

module Xmldsign
  class Transforms < DelegateClass(XML::Node)
    def execute(document=self.doc)
      doc = LibXML::XML::Document.new
      doc.root = document.root.copy(true)
      algorithms.inject(doc) { |d, algorithm| algorithm.execute d }
    end

    def algorithms
      find('.//ds:Transform').map { |t| factory(t['Algorithm'], t) }
    end

    def factory(algorithm, node)
      Algorithms.factory(algorithm, node)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
xmldsign-0.1.6 lib/xmldsign/transforms.rb
xmldsign-0.1.5 lib/xmldsign/transforms.rb
xmldsign-0.1.1 lib/xmldsign/transforms.rb
xmldsign-0.1.0 lib/xmldsign/transforms.rb