class ProveKeybase::KeybaseClient
Public Class Methods
new(proof_params, base_url)
click to toggle source
# File lib/prove_keybase/keybase_client.rb, line 2 def initialize(proof_params, base_url) @proof_params = proof_params api_url = File.join(base_url, '/_/api/1.0/') @api_conn = Faraday::Connection.new(url: api_url) do |faraday| faraday.response :json faraday.adapter :net_http end end
Public Instance Methods
pic_url()
click to toggle source
# File lib/prove_keybase/keybase_client.rb, line 11 def pic_url res = @api_conn.get('user/pic_url.json', username: @proof_params[:kb_username]).body res.fetch('pic_url') rescue NoMethodError, KeyError, Faraday::Error ProveKeybase.configuration.default_keybase_avatar_url end
proof_live?()
click to toggle source
# File lib/prove_keybase/keybase_client.rb, line 25 def proof_live? res = @api_conn.get('sig/proof_live.json', @proof_params).body res.fetch('proof_live', false) rescue Faraday::Error false end
proof_valid?()
click to toggle source
# File lib/prove_keybase/keybase_client.rb, line 18 def proof_valid? res = @api_conn.get('sig/proof_valid.json', @proof_params).body res.fetch('proof_valid', false) rescue Faraday::Error false end
remote_status()
click to toggle source
# File lib/prove_keybase/keybase_client.rb, line 32 def remote_status # allow network and unexpected response errors to bubble up res = @api_conn.get('sig/proof_live.json', @proof_params).body { proof_valid: res.fetch('proof_valid'), proof_live: res.fetch('proof_live') } end