lib/earth/rail/rail_company/data_miner.rb in earth-0.12.3 vs lib/earth/rail/rail_company/data_miner.rb in earth-0.12.4
- old
+ new
@@ -55,21 +55,21 @@
company.save!
end
end
process "Calculate average trip distance" do
- find_each do |company|
+ safe_find_each do |company|
if company.passenger_distance.present? and company.passengers.present? and company.passengers > 0
company.trip_distance = company.passenger_distance / company.passengers
company.trip_distance_units = company.passenger_distance_units
company.save!
end
end
end
process "Calculate average trip speed" do
- find_each do |company|
+ safe_find_each do |company|
if company.train_distance.present? and company.train_time.present? and company.train_time > 0
company.speed = company.train_distance / company.train_time
company.speed_units = "#{company.train_distance_units}_per_#{company.train_time_units.singularize}"
company.save!
end
@@ -80,10 +80,10 @@
RailFuel.run_data_miner!
EgridSubregion.run_data_miner!
end
process "Calculate co2 emission factor for US rail companies" do
- where(:country_iso_3166_code => 'US').find_each do |company|
+ where(:country_iso_3166_code => 'US').safe_find_each do |company|
company.co2_emission_factor = 0
if company.diesel_intensity.present?
company.co2_emission_factor += company.diesel_intensity * RailFuel.find_by_name("diesel").co2_emission_factor
end