class Tikkie::Api::V1::Request
Make authenticated HTTP requests to the Tikkie
API.
Public Class Methods
new(config)
click to toggle source
# File lib/tikkie/api/v1/request.rb, line 11 def initialize(config) @config = config end
Public Instance Methods
get(path, params = {})
click to toggle source
# File lib/tikkie/api/v1/request.rb, line 15 def get(path, params = {}) uri = URI.parse(File.join(@config.api_url, path)) uri.query = URI.encode_www_form(params) unless params.empty? request = Net::HTTP::Get.new(uri) request["Api-Key"] = @config.api_key request["Authorization"] = "Bearer #{access_token}" response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end response end
post(path, params = {})
click to toggle source
# File lib/tikkie/api/v1/request.rb, line 30 def post(path, params = {}) uri = URI.parse(File.join(@config.api_url, path)) request = Net::HTTP::Post.new(uri) request["Api-Key"] = @config.api_key request["Authorization"] = "Bearer #{access_token}" request["Content-Type"] = "application/json" request.body = params.to_json response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end response end
Private Instance Methods
access_token()
click to toggle source
# File lib/tikkie/api/v1/request.rb, line 48 def access_token if @access_token.nil? || @access_token.expired? @authentication ||= Tikkie::Api::V1::Authentication.new(@config) @access_token = @authentication.authenticate end @access_token.token end