Sha256: 2cfd93778e7431e73099d952a884535ed5b2176d2fd2e34798f1208c2910f420

Contents?: true

Size: 1009 Bytes

Versions: 32

Compression:

Stored size: 1009 Bytes

Contents

module PlatformSdk
  module Central
    class Client
      attr_reader :access_token, :base_url, :conn

      def initialize(base_url, access_token, conn: nil)
        @access_token = access_token
        @base_url = base_url
        @conn = conn || build_connection
      end

      def user(uid)
        resource_path = "/api/users/#{uid}"
        response = get(resource_path)
        response.body
      end

      private

      def build_connection
        Faraday.new(@base_url) do |faraday|
          faraday.headers = default_headers
          faraday.adapter Faraday.default_adapter
          faraday.response :json, content_type: /\bjson$/, parser_options: { symbolize_names: true }
          faraday.response :raise_error
        end
      end

      def default_headers
        {
          "Content-Type" => "application/json",
          "Authorization" => "Bearer #{access_token}"
        }
      end

      def get(path, params = {})
        @conn.get(path, params)
      end

    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
strongmind-platform-sdk-3.20.0 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.40 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.39 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.38 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.37 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.36 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.35 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.34 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.33 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.32 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.31 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.30 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.29 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.28 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.27 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.26 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.25 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.24 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.23 lib/platform_sdk/central/client.rb
strongmind-platform-sdk-3.19.22 lib/platform_sdk/central/client.rb