#!/usr/bin/env ruby
# frozen_string_literal: true

require_relative "../lib/owners"
require_relative "../lib/services/logger"

# Simple run of "update_owners"
noop = false
if ARGV[0] == "noop" || ARGV[0] == "--noop"
  noop = true
end

begin
  logger = GitHub::OctoSecrets::Service::Logger.logger("update-owners")

  client = GitHub::OctoSecrets::Owners.new(logger)

  client.update_owners(noop)

  # output diff and stats for noop run
  if noop
    puts
    puts client.printable_diffs
    puts
    client.print_statistics(GitHub::OctoSecrets::Owners::DATADOG_METRIC_PREFIX)
  end
rescue StandardError => e
  logger.error("Error running 'update_owners': #{e.class}: #{e.message}")
end
