Sha256: 5122ef7b67b295cd0cb887557e6ebcb128de64a255f8e389a46d22d212ef3f7f
Contents?: true
Size: 822 Bytes
Versions: 4
Compression:
Stored size: 822 Bytes
Contents
# frozen_string_literal: true module Cased module CLI class Identity def initialize @timeout = 30 end def identify response = Cased.clients.cli.post('cli/applications/users/identify') case response.status when 201 # Created url = response.body.fetch('url') Cased::CLI::Log.log 'To login, please visit:' puts url poll(response.body['api_url']) when 401 # Unauthorized false end end def poll(poll_url) count = 0 user_id = nil while user_id.nil? count += 1 response = Cased.clients.cli.get(poll_url) user_id = response.body.dig('user', 'id') sleep 1 if user_id.nil? end user_id end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
cased-ruby-0.4.3 | lib/cased/cli/identity.rb |
cased-ruby-0.4.2 | lib/cased/cli/identity.rb |
cased-ruby-0.4.1 | lib/cased/cli/identity.rb |
cased-ruby-0.4.0 | lib/cased/cli/identity.rb |