class Croudia::Client

Public Class Methods

new(params = {}) click to toggle source

Initializes a new Client object

@param options [Hash] @return [Croudia::Client]

# File lib/croudia/client.rb, line 41
def initialize(params = {})
  params.each do |key, value|
    instance_variable_set("@#{key}", value)
  end   
end

Public Instance Methods

get(endpoint, params = {}) click to toggle source
# File lib/croudia/client.rb, line 54
def get(endpoint, params = {})
  request = Typhoeus::Request.new(
    "https://api.croudia.com/#{endpoint}",
    method: :get,
    params: params,
    headers: {Authorization: "Bearer #{@access_token}"}
  )
  request.run
  response = request.response
    
  if(response.code != 200)
    raise Croudia::Error.from_response(response)
  end
  JSON.parse(response.body)
end
post(endpoint, params = {}) click to toggle source
# File lib/croudia/client.rb, line 70
def post(endpoint, params = {})
  request = Typhoeus::Request.new(
    "https://api.croudia.com/#{endpoint}",
    method: :post,
    body: params,
    headers: {Authorization: "Bearer #{@access_token}"}
  )
  request.run
  response = request.response

  if(response.code != 200)
    raise Croudia::Error.from_response(response)
  end
  JSON.parse(response.body)
end
update_access_token!(access_token) click to toggle source

Updates access token.

@param access_token [String] Access token.

# File lib/croudia/client.rb, line 50
def update_access_token!(access_token)
  @access_token = access_token
end