diff options
Diffstat (limited to 'lib/nickserver/hkp/source.rb')
-rw-r--r-- | lib/nickserver/hkp/source.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/nickserver/hkp/source.rb b/lib/nickserver/hkp/source.rb index cbff91a..cae3e01 100644 --- a/lib/nickserver/hkp/source.rb +++ b/lib/nickserver/hkp/source.rb @@ -1,6 +1,9 @@ require 'nickserver/response' require 'nickserver/hkp/response' require 'nickserver/hkp/client' +require "nickserver/hkp/parse_key_info" +require "nickserver/hkp/key_info" + # # Fetch keys via HKP @@ -15,7 +18,7 @@ module Nickserver; module Hkp end def query(nick, &block) - FetchKeyInfo.new(adapter).search(nick) do |status, response| + search(nick) do |status, response| if status == 200 best = pick_best_key(response) get_key_by_fingerprint(nick, best.keyid, &block) @@ -25,6 +28,13 @@ module Nickserver; module Hkp end end + def search(nick, &block) + client.get_key_infos_by_email(nick) do |status, response| + parser = ParseKeyInfo.new status, response + yield parser.status_for(nick), parser.response_for(nick) + end + end + protected attr_reader :adapter |