Method: OpenC3::ActivityModel#create

Defined in:
lib/openc3/models/activity_model.rb

#createObject

Update the Redis hash at primary_key and set the score equal to the start Epoch time the member is set to the JSON generated via calling as_json



215
216
217
218
219
220
221
222
223
224
225
226
# File 'lib/openc3/models/activity_model.rb', line 215

def create
  validate_input(start: @start, stop: @stop, kind: @kind, data: @data)
  collision = validate_time()
  unless collision.nil?
    raise ActivityOverlapError.new "no activities can overlap, collision: #{collision}"
  end

  @updated_at = Time.now.to_nsec_from_epoch
  add_event(status: 'created')
  Store.zadd(@primary_key, @start, JSON.generate(self.as_json(:allow_nan => true)))
  notify(kind: 'created')
end