10Pines/10pines-bk — pull request #36 by pablofalegre (2014-10-03 14:32:56+00:00)
Title: Cambio en el metodo costo_indirecto de IndirectCostCalculator

@egutter : Cuando puedas revisa este pull request.

Mientras estaba fixeando unos spec noté que recibia el siguiente error varias veces en ProfitAndLossCalculatorSpec:

```
FloatDomainError: NaN
./lib/profit_and_loss/indirect_cost_calculator.rb:11:in `to_r'
./lib/profit_and_loss/indirect_cost_calculator.rb:11:in `*'
./lib/profit_and_loss/indirect_cost_calculator.rb:11:in `costo_indirecto'
./lib/profit_and_loss/profit_and_loss_calculator.rb:21:in `profit_and_loss'
./spec/lib/profit_and_loss/profit_and_loss_calculator_spec.rb:38:in `block (3 levels) in '
-e:1:in `load'
-e:1:in `

'
```

El error parece estar sucediendo debido a que el metodo `porcentaje_prorrateo` de `IndirectCostCalculator` esta retornando un `NaN`, lo cual hace que la multiplicacion con `total_costo_indirecto` no pueda llevarse a cabo, y lanza una excepcion antes de poder llamar a `resultado.nan?` y validarlo.

El cambio que hice fue cambiar el comportamiento del metodo agregando un `rescue` para cuando aparezca la excepcion, pero de todos modos creo que el calculo del porcentaje de prorrateo deberia validar que no esta dividiendo por cero, dado que el metodo esta definido de esta forma:

```ruby
def porcentaje_prorrateo
(total_horas_centro.to_f/total_horas.to_f)
end
```

Que opinas?