Ошибка ввода-вывода GPGME при попытке расшифровать файл с помощью ключа gpg
class PassphraseCallback
def initialize(passphrase)
@passphrase = passphrase
end
def call(*args)
fd = args.last
io = IO.for_fd(fd, 'w')
io.puts(@passphrase)
io.flush
end
end
crypto = GPGME::Crypto.new
options = {:recipients => 'dev@example.com.my', :passphrase_callback => PassphraseCallback.new('my_passphrase_string'), output: decrypted_file_path}
cipthertext = GPGME::Data.new(File.open(file))
crypto.decrypt cipthertext, options
Я использую gem gpgme, чтобы попытаться расшифровать файл. Я следовал за турбулентностью, найденной в этом https://github.com/ueno/ruby-gpgme но продолжаю получать ошибку, когда он пытается выполнить этот метод PassphraseCallback.new('my_passphrase_key')
Ошибка, которую я получаю это TypeError: no implicit conversion from nil to integer
потому что это говорит о том, что fd is nil
но не уверен, какое значение мне нужно передать при инициализации и при вызове моего метода.
Любая помощь будет оценена. Спасибо