Class: Heirloom::Cipher::Data

Inherits:
Object
  • Object
show all
Includes:
Shared
Defined in:
lib/heirloom/cipher/data.rb

Instance Method Summary collapse

Methods included from Shared

#gpg_in_path?

Methods included from Utils::File

#path, #path_separator, #pathext, #which

Constructor Details

#initialize(args) ⇒ Data

Returns a new instance of Data.



9
10
11
12
# File 'lib/heirloom/cipher/data.rb', line 9

def initialize(args)
  @config = args[:config]
  @logger = @config.logger
end

Instance Method Details

#decrypt_data(args) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/heirloom/cipher/data.rb', line 14

def decrypt_data(args)
  @data   = args[:data]
  @secret = args[:secret]

  return @data unless args[:secret]
  return false unless gpg_in_path?

  @encrypted_file = Tempfile.new('archive.tar.gz.gpg')
  @decrypted_file = Tempfile.new('archive.tar.gz')

  ::File.open(@encrypted_file, 'w') { |f| f.write @data }

  decrypt
end