class AxTrack::Tracker

Public Instance Methods

asset_details() click to toggle source
# File lib/ax_track/objects/tracker.rb, line 4
def asset_details
  @asset_details = Asset.new @asset_details unless @asset_details.is_a? Asset
  @asset_details
end
asset_id() click to toggle source
# File lib/ax_track/objects/tracker.rb, line 9
def asset_id
  asset_details.id
end
available_sensor_data() click to toggle source
# File lib/ax_track/objects/tracker.rb, line 38
def available_sensor_data
  # returns a hash with available senson data
  sensor_data_temp = self.sensor_data.keys
  # if no timestamp is available in the GPSPosition, then there wasn't a last_gps_measurement returned in the json
  # hence the sensor doesn't contain a GPS module.
  sensor_data_temp = sensor_data_temp.unshift('gps') if self.last_gps_position&.respond_to? :timestamp
  sensor_data_temp
end
battery() click to toggle source
# File lib/ax_track/objects/tracker.rb, line 26
def battery
  asset_details&.sensor_data.dig('battery', 'value')
end
last_gps_position() click to toggle source
# File lib/ax_track/objects/tracker.rb, line 21
def last_gps_position
  #GPSPosition.new(@last_gps_measurement || { lat: asset_details.lat, lng: asset_details.lng } )
  GPSPosition.new(@last_gps_measurement) unless @last_gps_measurement.nil?
end
last_message_timestamp() click to toggle source
# File lib/ax_track/objects/tracker.rb, line 17
def last_message_timestamp
  DateTime.parse(@last_message_timestamp, false) if @last_message_timestamp
end
name() click to toggle source
# File lib/ax_track/objects/tracker.rb, line 13
def name
  @name ||= asset_details.name
end
sensor_data() click to toggle source
# File lib/ax_track/objects/tracker.rb, line 30
def sensor_data
  asset_details.sensor_data
end
website_url() click to toggle source
# File lib/ax_track/objects/tracker.rb, line 34
def website_url
  "#{AxTrack.base_url_user}#{@id}"
end