lib/xml/kit/encrypted_data.rb in xml-kit-0.3.1 vs lib/xml/kit/encrypted_data.rb in xml-kit-0.4.0

- old
+ new

@@ -10,25 +10,23 @@ attr_reader :id attr_reader :key_info attr_reader :symmetric_cipher attr_reader :symmetric_cipher_value - def initialize( - raw_xml, - id: Id.generate, - symmetric_cipher: Xml::Kit::Crypto::SymmetricCipher.new, - asymmetric_cipher:, - key_info: nil - ) + def initialize(raw_xml, + id: Id.generate, + symmetric_cipher: nil, + asymmetric_cipher: nil, + key_info: nil) @id = id - @symmetric_cipher = symmetric_cipher + @symmetric_cipher = symmetric_cipher || + key_info.try(:symmetric_cipher) || + Xml::Kit::Crypto::SymmetricCipher.new @symmetric_cipher_value = Base64.strict_encode64( - symmetric_cipher.encrypt(raw_xml) + @symmetric_cipher.encrypt(raw_xml) ) - @key_info = key_info || create_key_info_for( - symmetric_cipher, - asymmetric_cipher - ) + @key_info = key_info || + create_key_info_for(@symmetric_cipher, asymmetric_cipher) end def to_xml(xml: ::Builder::XmlMarkup.new) ::Xml::Kit::Template.new(self).to_xml(xml: xml) end