Sha256: 3da0374857a01084932055fd4fe8edef6dd23b39d93ce5807c5e2dc261ddcf42
Contents?: true
Size: 797 Bytes
Versions: 1
Compression:
Stored size: 797 Bytes
Contents
# typed: strict # frozen_string_literal: true module Etwin module Client # HTTP Etwin client interface class HttpEtwinClient extend T::Helpers extend T::Sig include EtwinClient final! sig(:final) { params(base_uri: URI::HTTP).void } def initialize(base_uri) @base_uri = T.let(base_uri.freeze, URI::HTTP) freeze end sig(:final) { params(auth: Auth, user_id: UserId).returns(User) } def get_user(auth, user_id) uri = resolve(['users', user_id.to_s]) res = Faraday.get uri pp res end private sig(:final) { params(segments: T::Array[String]).returns(URI::HTTP) } def resolve(segments) @base_uri.merge("api/v1/#{ segments * '/'}") end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
etwin-0.0.1 | lib/etwin/client/http_etwin_client.rb |