Sha256: e0df99d6e78721213dbcc39401f22a5103142216f5acc6e1165cc5f1ab17ba3e

Contents?: true

Size: 1.05 KB

Versions: 3

Compression:

Stored size: 1.05 KB

Contents

require "httparty"

module Tsks
  class Request
    @base_uri = "http://localhost:5000/v1"
    #@base_uri = "https://tsks-api.onrender.com/v1"

    def self.base_uri
      @base_uri
    end

    def self.post endpoint, token=nil, body
      uri = URI "#{Request.base_uri}#{endpoint}"

      if token
        res = HTTParty.post uri, body: body,
                                 headers: {authorization: "Bearer #{token}"}
      else
        res = HTTParty.post uri, body: body
      end

      parsed_res = parse_response res.body
    end

    def self.get endpoint, token
      uri = URI "#{Request.base_uri}#{endpoint}"
      res = HTTParty.get uri, headers: {authorization: "Bearer #{token}"}
      parsed_res = parse_response res.body
    end

    def self.delete endpoint, token
      uri = URI "#{Request.base_uri}#{endpoint}"
      res = HTTParty.delete uri, headers: {authorization: "Bearer #{token}"}
      parsed_res = parse_response res.body
    end

    private

    def self.parse_response body
      JSON.parse body, symbolize_names: true
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
tsks-0.0.16 lib/tsks/request.rb
tsks-0.0.15 lib/tsks/request.rb
tsks-0.0.14 lib/tsks/request.rb