---
# System prepended metadata

title: Untitled

---

organização das pastas:
- app
    - 1: models (entidades para representar corrida, lap e piloto)
    - 2: services (regras de negócio)
    - 3: utils (pasta onde funções comuns podem ser chamadas, ex: paradas de calcular o tempo por exemplo é utilizada em um monte de lugar)

3: 
module Utils
    class TimeConverter
        def self.convert_lap_time(time)
            blabllba
        end
    end
end

class Lap
    extend Utils::TimeConverter
    
    def initialize(lap_number, lap_time, avg_spd)
        ...
        @time = convert_lap_time(lap_time)
    end
end

- models
    - race.rb
        - maluco, utilize enums ou então constantes para mudar esses entry[0], entry[1], entry[4], não saquei o que ta rolando ai :B, você poderia utilizar hashs como alternative também;
        - as variáveis precisam ser attr_accessor? vc não chega a definir algo diferente durante a execução;
    - 
- main.rb
    - abstraia os métodos read_file e write_result em alguma classe, acredito que não tenha problemas se forem métodos estáticos;
    - write_result (poderia só chamar o service não?)