lib/gpgme/key_common.rb
module GPGME module KeyCommon ## # Returns nil if the trust is valid. # Returns one of +:revoked+, +:expired+, +:disabled+, +:invalid+ def trust return :revoked if @revoked == 1 return :expired if @expired == 1 return :disabled if @disabled == 1 return :invalid if @invalid == 1 end ## # Array of capabilities for this key. It can contain any combination of # +:encrypt+, +:sign+, +:certify+ or +:authenticate+ def capability caps = [] caps << :encrypt if @can_encrypt == 1 caps << :sign if @can_sign == 1 caps << :certify if @can_certify == 1 caps << :authenticate if @can_authenticate == 1 caps end ## # Checks if the key is capable of all of these actions. If empty array # is passed then will return true. # # Returns false if the keys trust has been invalidated. 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 def secret? @secret == 1 end end end