class Etwin::Client::HttpEtwinClient
HTTP Etwin
client interface
Public Class Methods
new(base_uri)
click to toggle source
# File lib/etwin/client/http_etwin_client.rb, line 16 def initialize(base_uri) # @type [URI::HTTP] @base_uri = T.let(base_uri.freeze, URI::HTTP) # @type [Faraday::Connection] @client = T.let(Faraday::Connection.new.freeze, Faraday::Connection) freeze end
Public Instance Methods
get_user(auth, user_id)
click to toggle source
# File lib/etwin/client/http_etwin_client.rb, line 25 def get_user(auth, user_id) uri = resolve(['users', user_id.to_s]) # @type [Faraday::Request] req # @type [Faraday::Response] res res = @client.get uri do |req| req.headers['Authorization'] = auth.authorization_header end Etwin::User::User.from_json res.body end
Private Instance Methods
resolve(segments)
click to toggle source
# File lib/etwin/client/http_etwin_client.rb, line 38 def resolve(segments) T.cast(@base_uri.merge("api/v1/#{ segments * '/'}"), URI::HTTP) end