Class: ProveKeybase::KeybaseClient
- Inherits:
-
Object
- Object
- ProveKeybase::KeybaseClient
- Defined in:
- lib/prove_keybase/keybase_client.rb
Instance Method Summary collapse
-
#initialize(proof_params, base_url) ⇒ KeybaseClient
constructor
A new instance of KeybaseClient.
- #pic_url ⇒ Object
- #proof_live? ⇒ Boolean
- #proof_valid? ⇒ Boolean
- #remote_status ⇒ Object
Constructor Details
#initialize(proof_params, base_url) ⇒ KeybaseClient
Returns a new instance of KeybaseClient.
2 3 4 5 6 7 8 9 |
# 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 |
Instance Method Details
#pic_url ⇒ Object
11 12 13 14 15 16 |
# 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? ⇒ Boolean
25 26 27 28 29 30 |
# 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? ⇒ Boolean
18 19 20 21 22 23 |
# 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 ⇒ Object
32 33 34 35 36 37 |
# 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 |