class PostHog::FieldParser

def parse_common_fields(fields)

- "send_feature_flags"
- "message_id"
- "distinct_id"
- "timestamp"

Common fields are:
def parse_common_fields(fields)
  timestamp = fields[:timestamp] || Time.new
  distinct_id = fields[:distinct_id]
  message_id = fields[:message_id].to_s if fields[:message_id]
  send_feature_flags = fields[:send_feature_flags]
  check_timestamp! timestamp
  check_presence! distinct_id, 'distinct_id'
  parsed = {
    timestamp: datetime_in_iso8601(timestamp),
    library: 'posthog-ruby',
    library_version: PostHog::VERSION.to_s,
    messageId: message_id,
    distinct_id: distinct_id,
    properties: {
      '$lib' => 'posthog-ruby',
      '$lib_version' => PostHog::VERSION.to_s
    }
  }
  if send_feature_flags && fields[:feature_variants]
    feature_variants = fields[:feature_variants]
    active_feature_variants = {}
    feature_variants.each do |key, value|
      parsed[:properties]["$feature/#{key}"] = value
      active_feature_variants[key] = value if value != false
    end
    parsed[:properties]['$active_feature_flags'] = active_feature_variants.keys
  end
  parsed
end