class ODisk::Crypter

Encrypts and decrypts file using GnuPG.

Public Class Methods

new(options={}) click to toggle source
Calls superclass method
# File lib/odisk/crypter.rb, line 6
def initialize(options={})
  super(options)
  @crypt_queue.ask(:ready, self)
end

Public Instance Methods

set_options(options) click to toggle source
Calls superclass method
# File lib/odisk/crypter.rb, line 11
def set_options(options)
  super(options)
  @crypt_queue = options[:crypt_queue]
  @copy_queue = options[:copy_queue]
  @fixer = options[:fixer]
end

Private Instance Methods

decrypt(src, dest) click to toggle source
# File lib/odisk/crypter.rb, line 29
def decrypt(src, dest)
  ::Opee::Env.info("decrypt \"#{src}\" into \"#{dest}\"")
  unless $dry_run
    `gpg -d --batch --yes -q --passphrase-file "#{$remote.pass_file}" -o "#{dest}" "#{src}"`
    ::File.delete(src)
    ::Opee::Env.warn("Downloaded and decrypted \"#{dest}\"")
  end
  @fixer.ask(:collect, dest, :crypter) unless @fixer.nil?
  @crypt_queue.ask(:ready, self)
end
encrypt(src, dest, remote) click to toggle source
# File lib/odisk/crypter.rb, line 20
def encrypt(src, dest, remote)
  ::Opee::Env.info("encrypt \"#{src}\" into \"#{dest}\"")
  unless $dry_run
    `gpg -c --batch --yes --force-mdc --passphrase-file "#{$remote.pass_file}" -o "#{dest}" "#{src}"`
    @copy_queue.add_method(:upload, dest, remote, true)
  end
  @crypt_queue.ask(:ready, self)
end