Class: IOStreams::SymmetricEncryption::Writer
- Inherits:
-
Object
- Object
- IOStreams::SymmetricEncryption::Writer
- Defined in:
- lib/io_streams/symmetric_encryption/writer.rb
Class Method Summary collapse
-
.open(file_name_or_io, compress: nil, **args, &block) ⇒ Object
Write to file/stream using Symmetric Encryption.
Class Method Details
.open(file_name_or_io, compress: nil, **args, &block) ⇒ Object
Write to file/stream using Symmetric Encryption
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/io_streams/symmetric_encryption/writer.rb', line 5 def self.open(file_name_or_io, compress: nil, **args, &block) begin require 'symmetric-encryption' unless defined?(SymmetricEncryption) rescue LoadError => e raise(LoadError, "Please install the 'symmetric-encryption' gem for .enc streaming support. #{e.}") end if IOStreams.writer_stream?(file_name_or_io) compress = true if compress.nil? ::SymmetricEncryption::Writer.open(file_name_or_io, compress: compress, **args, &block) else compress = !IOStreams.compressed?(file_name_or_io) if compress.nil? IOStreams::File::Writer.open(file_name_or_io) do |file| ::SymmetricEncryption::Writer.open(file, compress: compress, **args, &block) end end end |