class CommaAPI::API

Public Class Methods

args() click to toggle source
# File lib/comma_api.rb, line 87
def args
  defaultArgs # alias (alias :args :defaultArgs)
end
defaultArgs() click to toggle source
# File lib/comma_api.rb, line 91
def defaultArgs
  one_week = 604800
  "?from=#{(Time.now - one_week - 1).to_i}"
end
device(id:) click to toggle source
# File lib/comma_api.rb, line 21
def device(id:)
  get "/v1.1/devices/#{id}/"
end
device404Error() click to toggle source

errors

# File lib/comma_api.rb, line 114
def device404Error
  { error: 'Error: DONGLE_ID_DEFAULT is missing - this method cannot be executed, you need to specify a dongle id' }.to_json
end
deviceDefault() click to toggle source
# File lib/comma_api.rb, line 34
def deviceDefault
  return device404Error unless DONGLE_ID_DEFAULT
  device id: DONGLE_ID_DEFAULT
end
deviceDefaultLocation() click to toggle source
# File lib/comma_api.rb, line 29
def deviceDefaultLocation
  return device404Error unless DONGLE_ID_DEFAULT
  deviceLocation id: DONGLE_ID_DEFAULT
end
deviceDefaultSegments() click to toggle source
# File lib/comma_api.rb, line 82
def deviceDefaultSegments
  return device404Error unless DONGLE_ID_DEFAULT
  deviceSegments id: DONGLE_ID_DEFAULT
end
deviceDefaultStats() click to toggle source
# File lib/comma_api.rb, line 39
def deviceDefaultStats
  return device404Error unless DONGLE_ID_DEFAULT
  deviceStats id: DONGLE_ID_DEFAULT
end
deviceLocation(id:) click to toggle source
# File lib/comma_api.rb, line 25
def deviceLocation(id:)
  get "/v1/devices/#{id}/location"
end
deviceSegments(id:) click to toggle source
# File lib/comma_api.rb, line 77
def deviceSegments(id:)
  return device404Error unless DONGLE_ID_DEFAULT
  get "/v1/devices/#{id}/segments#{args}"
end
deviceStats(id:) click to toggle source
# File lib/comma_api.rb, line 44
def deviceStats(id:)
  get "/v1/devices/#{id}/stats"
end
deviceStatsId(id:) click to toggle source
# File lib/comma_api.rb, line 56
def deviceStatsId(id:)
  get "/v1/devices/#{id}/stats#{args}"
end
devices() click to toggle source

devices

# File lib/comma_api.rb, line 17
def devices
  get "/v1/me/devices/"
end
devicesStat(id:) click to toggle source
# File lib/comma_api.rb, line 48
def devicesStat(id:)
  devices = get "/v1/devices"
  # TODO: loop through all devices, return all stats and a total
  devices.map { |device|
    get "/v1/devices/#{device.f("dongle_id")}/stats#{args}"
  }
end
get(method_name) click to toggle source

helper

# File lib/comma_api.rb, line 103
def get(method_name)
  # note: trailing slash gets added here
  puts "requesting: #{method_name}"
  url = "#{API_HOST}#{method_name}"
  puts url
  request url: url
end
me() click to toggle source

user

# File lib/comma_api.rb, line 11
def me
  get "/v1/me/"
end
opAuth() click to toggle source
# File lib/comma_api.rb, line 96
def opAuth
  "https://api.commadotai.com/v2/pilotauth/"
end
route(route_name:) click to toggle source

routes

# File lib/comma_api.rb, line 62
def route(route_name:)
  get "/v1/route/#{route_name}/"
end
routeFiles(route_name:) click to toggle source
# File lib/comma_api.rb, line 66
def routeFiles(route_name:)
  get "/v1/route/#{route_name}/files"
end
segments() click to toggle source

segments

# File lib/comma_api.rb, line 72
def segments
  return device404Error unless DONGLE_ID_DEFAULT
  get "/v1/devices/#{DONGLE_ID_DEFAULT}/segments#{args}"
end