module GPGME::KeyCommon

def usable_for?(purposes)

Returns false if the keys trust has been invalidated.

is passed then will return true.
Checks if the key is capable of all of these actions. If empty array
#
def usable_for?(purposes)
  unless purposes.kind_of? Array
    purposes = [purposes]
  end
  return false if [:revoked, :expired, :disabled, :invalid].include? trust
  return (purposes - capability).empty?
end