Sha256: 9ec8ad159450ea7db156d76f8b654473782613df4d1670bb10e5852972180d38

Contents?: true

Size: 1 KB

Versions: 4

Compression:

Stored size: 1 KB

Contents

require "httparty"

module Tsks
  class Request
    @base_uri = "https://tsks-api.herokuapp.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

4 entries across 4 versions & 1 rubygems

Version Path
tsks-0.0.8 lib/tsks/request.rb
tsks-0.0.7 lib/tsks/request.rb
tsks-0.0.6 lib/tsks/request.rb
tsks-0.0.5 lib/tsks/request.rb