diff options
author | Azul <azul@riseup.net> | 2016-07-02 12:03:46 +0200 |
---|---|---|
committer | Azul <azul@riseup.net> | 2016-07-02 12:03:46 +0200 |
commit | fb2d7e6f8f1fceefbc8964d34369a867eb8f25bb (patch) | |
tree | 672ea8bbf03876d65c90ecb1ed152424e74939e1 /lib/nickserver/hkp/source.rb | |
parent | 8a664a39bc3dd77a9c53fa5931f81c2b2b8b7295 (diff) |
refactor: replace blocks/yields with returns
This became possible because we now use celluloid.
Celluloid handles asynchronity without the need for callbacks
or blocks.
Diffstat (limited to 'lib/nickserver/hkp/source.rb')
-rw-r--r-- | lib/nickserver/hkp/source.rb | 35 |
1 files changed, 16 insertions, 19 deletions
diff --git a/lib/nickserver/hkp/source.rb b/lib/nickserver/hkp/source.rb index 9c79546..0d79856 100644 --- a/lib/nickserver/hkp/source.rb +++ b/lib/nickserver/hkp/source.rb @@ -14,22 +14,20 @@ require "nickserver/hkp/key_info" module Nickserver; module Hkp class Source < Nickserver::Source - def query(nick, &block) - search(nick) do |status, response| - if status == 200 - best = pick_best_key(response) - get_key_by_fingerprint(nick, best.keyid, &block) - else - yield Nickserver::Response.new(status, response) - end + def query(nick) + status, response = search(nick) + if status == 200 + best = pick_best_key(response) + get_key_by_fingerprint(nick, best.keyid) + else + Nickserver::Response.new(status, response) 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 + def search(nick) + status, response = client.get_key_infos_by_email(nick) + parser = ParseKeyInfo.new status, response + return parser.status_for(nick), parser.response_for(nick) end protected @@ -45,12 +43,11 @@ module Nickserver; module Hkp end def get_key_by_fingerprint(nick, fingerprint) - client.get_key_by_fingerprint fingerprint do |status, response| - if status == 200 - yield Response.new nick, response - else - yield Nickserver::Response.new status, "HKP Request failed" - end + status, response = client.get_key_by_fingerprint fingerprint + if status == 200 + Response.new nick, response + else + Nickserver::Response.new status, "HKP Request failed" end end |