Module: GPGME::Engine

Defined in:
lib/gpgme/engine.rb

Overview

Convenience methods to check different aspects of the gpg system installation.

Class Method Summary (collapse)

Class Method Details

+ (Boolean) check_version(proto)

Verify that the engine implementing the protocol proto is installed in the system. Can be one of PROTOCOL_OpenPGP or PROTOCOL_CMS.

Examples:

GPGME::Engine.check_version(GPGME::PROTOCOL_OpenPGP) # => true


18
19
20
21
22
# File 'lib/gpgme/engine.rb', line 18

def check_version(proto)
  err = GPGME::gpgme_engine_check_version(proto)
  exc = GPGME::error_to_exception(err)
  !exc
end

+ (Object) home_dir=(home_dir)

Sets the home dir for the configuration options. This way one could, for example, load the keys from a customized keychain.

Examples:

GPGME::Engine.home_dir = '/tmp'


70
71
72
73
# File 'lib/gpgme/engine.rb', line 70

def home_dir=(home_dir)
  current = info.first
  set_info current.protocol, current.file_name, home_dir
end

+ (Object) info

Return an array of GPGME::EngineInfo structures of enabled engines.

Examples:

GPGME::Engine.info.first
# => #<GPGME::EngineInfo:0x00000100d4fbd8
       @file_name="/usr/local/bin/gpg",
       @protocol=0,
       @req_version="1.3.0",
       @version="1.4.11">


35
36
37
38
39
# File 'lib/gpgme/engine.rb', line 35

def info
  rinfo = []
  GPGME::gpgme_get_engine_info(rinfo)
  rinfo
end

+ (Object) set_info(proto, file_name, home_dir)

Change the default configuration of the crypto engine implementing protocol proto.

Examples:

GPGME::Engine.set


57
58
59
60
61
# File 'lib/gpgme/engine.rb', line 57

def set_info(proto, file_name, home_dir)
  err = GPGME::gpgme_set_engine_info(proto, file_name, home_dir)
  exc = GPGME::error_to_exception(err)
  raise exc if exc
end