summaryrefslogtreecommitdiff
path: root/lib/nickserver/hkp/v_index_response.rb
diff options
context:
space:
mode:
authorAzul <azul@riseup.net>2017-09-23 15:10:11 +0200
committerAzul <azul@riseup.net>2017-09-23 16:53:27 +0200
commitb2543051d0629ab11adae1a64a1aed2105a1b9d9 (patch)
tree855e042cdac61296e2386ff1f7643174ecbdafbb /lib/nickserver/hkp/v_index_response.rb
parentf40ef14010af08c49810c0a6a2349072948170e6 (diff)
refactor: move error detection into key_info
Still needs something better than all these elsifs though
Diffstat (limited to 'lib/nickserver/hkp/v_index_response.rb')
-rw-r--r--lib/nickserver/hkp/v_index_response.rb23
1 files changed, 4 insertions, 19 deletions
diff --git a/lib/nickserver/hkp/v_index_response.rb b/lib/nickserver/hkp/v_index_response.rb
index a2a7b0d..a44af51 100644
--- a/lib/nickserver/hkp/v_index_response.rb
+++ b/lib/nickserver/hkp/v_index_response.rb
@@ -28,7 +28,7 @@ module Nickserver::Hkp
end
def keys
- key_infos.reject { |key| error_for_key(key) }
+ key_infos.reject &:error
end
def msg
@@ -57,8 +57,7 @@ module Nickserver::Hkp
def error_messages
key_infos.map do |key|
- err = error_for_key(key)
- error_message(key, err)
+ error_message(key)
end.compact
end
@@ -74,22 +73,8 @@ module Nickserver::Hkp
end
end
- def error_message(key, err)
- "Ignoring key #{key.keyid} for #{nick}: #{err}" if err
- end
-
- def error_for_key(key)
- if key.keylen < 2048
- 'key length is too short.'
- elsif key.expired?
- 'key expired.'
- elsif key.revoked?
- 'key revoked.'
- elsif key.disabled?
- 'key disabled.'
- elsif key.expirationdate && key.expirationdate < Time.now
- 'key expired'
- end
+ def error_message(key)
+ "Ignoring key #{key.keyid} for #{nick}: #{key.error}" if key.error
end
end
end