Eu desenvolvi um "Command Line interface", execute o arquivo cli.rb e instale a gem terminal-table. As do CLI estão a seguir:
- Set log file
- Process file
- Get the three most called URLs
- Get all code occurrence
- Exit
O Moip tem uma aplicação que envia webhooks para os ecommerces de seus clientes, esses webhooks possuem informações sobre pagamentos (se foram autorizados, cancelados, etc).
Esta aplicação gera logs bastante grandes, precisamos descobrir através do log quem são os clientes que mais recebem os webhooks e verificar todos o response status retornados pelo servidores dos clientes.
O arquivo de log em anexo contém informações de envio de webhooks no format:
level=info response_body="" request_to"<url>" response_headers= response_status="<code>"
Onde:
url: é a url para onde foi enviado o webhook code: é o status code retornado pelo servidor do cliente As outras informações são irrelevantes para esta task.
Você deve parsear o arquivo e no final mostrar as seguintes informações na saída:
3 urls mais chamadas com a quantidade Uma tabela mostrando a quantidade de webhooks por status Ex:
200 - 100 201 - 99
ps: o resultado acima não é o real.
Criar um repositório no Github/Bitbucket com a sua solução e adicionar uma documentação explicando como executar o programa.
Essa task pode ser feita utilizando a linguagem de programaçao de sua preferência.
A avaliação será feita baseada em:
- Linha de pensamento (documentar o que julgar importante)
- Design do código
- Eficiência
- Testes
- Acerto