class Splinter::API

Constants

BASE_URL

Public Class Methods

build_url(endpoint, params = {}) click to toggle source
# File lib/splinter/api.rb, line 35
def self.build_url(endpoint, params = {})
  url = "#{BASE_URL}/#{endpoint}"
  url += "?#{URI.encode_www_form(params)}" unless params.empty?

  url
end
get(endpoint) click to toggle source
# File lib/splinter/api.rb, line 11
def self.get(endpoint)
  response = RestClient.get(build_url(endpoint), headers)
  JSON.parse(response.body)
end
headers() click to toggle source
# File lib/splinter/api.rb, line 31
def self.headers
  { 'Authorization': "Token #{Splinter.configuration.api_key}" }
end
paginated_get(endpoint, params = {}) click to toggle source
# File lib/splinter/api.rb, line 16
def self.paginated_get(endpoint, params = {})
  url = build_url(endpoint, params)
  results = []

  loop do
    result = RestClient.get(url, headers)
    parsed_result = JSON.parse(result.body)
    results.concat(parsed_result['results'])
    url = parsed_result.dig('next')
    break if url.nil?
  end

  results
end