Add visitor count logic

This commit is contained in:
Miguel Nogueira 2024-05-16 12:47:23 +01:00
parent 9d678a2e7d
commit 63181a656a
1 changed files with 38 additions and 6 deletions

44
main.rb
View File

@ -1,6 +1,7 @@
# frozen_string_literal: true
require 'date'
require 'set'
logfile = File.open("teambuilder.pt.log")
data = logfile.read
@ -41,14 +42,45 @@ def times_appeared_single(ips, ip_to_check)
counter += 1
end
end
[counter]
counter
end
ips = []
def sort_unique_ip(ips)
# Hash para rastrear IPs únicos
seen_ips = {}
# Array para armazenar IPs únicos
unique_ips = []
# Itera sobre cada IP no array
ips.each do |ip|
# Verifica se o IP não está no hash
unless seen_ips[ip]
# Adiciona o IP ao array de IPs únicos
unique_ips << ip
# Marca o IP como visto no hash
seen_ips[ip] = true
end
end
unique_ips
end
visit_counter = {}
all_ips = []
lines.each do | line |
previous_ip = ""
ips << get_line_ip(line)
puts get_line_ua(line)
all_ips << get_line_ip(line)
end
unique_ips = sort_unique_ip(all_ips)
puts("Houve um total de #{unique_ips.length} visitas registas ao nosso site.")
unique_ips.each do |ip|
visit_counter[ip] = times_appeared_single(all_ips, ip)
puts("O IP #{ip} contactou o nosso site #{times_appeared_single(all_ips, ip)} vezes.")
end