class PostHog::FieldParser

def parse_for_capture(fields)

- "uuid"
- "groups"
- "properties"
- "event"

In addition to the common fields, capture accepts:
def parse_for_capture(fields)
  common = parse_common_fields(fields)
  event = fields[:event]
  properties = fields[:properties] || {}
  groups = fields[:groups]
  uuid = fields[:uuid]
  check_presence!(event, 'event')
  check_is_hash!(properties, 'properties')
  if groups
    check_is_hash!(groups, 'groups')
    properties['$groups'] = groups
  end
  isoify_dates! properties
  common['uuid'] = uuid if valid_uuid_for_event_props? uuid
  common.merge(
    {
      type: 'capture',
      event: event.to_s,
      properties: properties.merge(common[:properties] || {})
    }
  )
end