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?)