class Helium::Timeseries

Public Instance Methods

create(opts = {}) click to toggle source

Creates a new data point on this timeseries @option opts [String] :port A port for the data point @option opts [String] :value A value for the data point @option opts [DateTime] :timestamp A timestamp for the data point. If not provided, it will default to the current time. @return [DataPoint]

# File lib/helium/timeseries.rb, line 10
def create(opts = {})
  port      = opts.fetch(:port)
  value     = opts.fetch(:value)
  timestamp = opts.fetch(:timestamp, DateTime.now)

  body = {
    data: {
      attributes: {
        port:      port,
        value:     value,
        timestamp: datetime_to_iso(timestamp)
      },
      type: 'data-point'
    }
  }

  response = @client.post(@path, body: body)
  resource_data = JSON.parse(response.body)["data"]

  return DataPoint.new(client: self, params: resource_data)
end