Module: Onfleet

Defined in:
lib/onfleet-ruby.rb,
lib/onfleet-ruby/task.rb,
lib/onfleet-ruby/team.rb,
lib/onfleet-ruby/util.rb,
lib/onfleet-ruby/admin.rb,
lib/onfleet-ruby/worker.rb,
lib/onfleet-ruby/address.rb,
lib/onfleet-ruby/vehicle.rb,
lib/onfleet-ruby/webhook.rb,
lib/onfleet-ruby/recipient.rb,
lib/onfleet-ruby/actions/get.rb,
lib/onfleet-ruby/destination.rb,
lib/onfleet-ruby/actions/find.rb,
lib/onfleet-ruby/actions/list.rb,
lib/onfleet-ruby/actions/save.rb,
lib/onfleet-ruby/organization.rb,
lib/onfleet-ruby/actions/create.rb,
lib/onfleet-ruby/actions/delete.rb,
lib/onfleet-ruby/actions/update.rb,
lib/onfleet-ruby/onfleet_object.rb,
lib/onfleet-ruby/errors/onfleet_error.rb,
lib/onfleet-ruby/actions/query_metadata.rb,
lib/onfleet-ruby/errors/connection_error.rb,
lib/onfleet-ruby/errors/authentication_error.rb,
lib/onfleet-ruby/errors/invalid_request_error.rb

Defined Under Namespace

Modules: Actions Classes: Address, Admin, AuthenticationError, ConnectionError, Destination, InvalidRequestError, OnfleetError, OnfleetObject, Organization, Recipient, Task, Team, Util, Vehicle, Webhook, Worker

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.api_keyObject

Returns the value of attribute api_key.



42
43
44
# File 'lib/onfleet-ruby.rb', line 42

def api_key
  @api_key
end

.base_urlObject

Returns the value of attribute base_url.



42
43
44
# File 'lib/onfleet-ruby.rb', line 42

def base_url
  @base_url
end

Class Method Details

.request(api_url, method, params = {}) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/onfleet-ruby.rb', line 44

def request(api_url, method, params = {})
  raise(AuthenticationError, 'Set your API Key using Onfleet.api_key = <API_KEY>') unless api_key

  begin
    url = URI.join(base_url, api_url).to_s
    response = RestClient::Request.execute(method: method, url: url, payload: params.to_json, headers: request_headers)
    JSON.parse(response) unless response.empty?
  rescue RestClient::ExceptionWithResponse => e
    if (response_code = e.http_code) && (response_body = e.http_body)
      handle_api_error(response_code, JSON.parse(response_body))
    else
      handle_restclient_error(e)
    end
  rescue RestClient::Exception, Errno::ECONNREFUSED => e
    handle_restclient_error(e)
  end
end