Sha256: b9eb2d4b7740b0be36fe6114e33b335deca92a6952ba84fe4c4822fd92ccf7e4

Contents?: true

Size: 1.14 KB

Versions: 18

Compression:

Stored size: 1.14 KB

Contents

require 'earth/fuel/data_miner'
BusFuelControl.class_eval do
  data_miner do
    import "a list of bus fuel controls",
           :url => 'https://spreadsheets.google.com/pub?key=0AoQJbWqPrREqdEw1QW80VVJhaXRkUURQSFhHczNyVWc&gid=0&output=csv' do
      key   'name'
      store 'bus_fuel_name'
      store 'control'
      store 'ch4_emission_factor', :units_field_name => 'ch4_emission_factor_units'
      store 'n2o_emission_factor', :units_field_name => 'n2o_emission_factor_units'
    end
    
    process "Convert emission factors to metric units" do
      conversion_factor = (1 / 1.609344) * (1.0 / 1_000.0 ) # Google: 1 mile / 1.609344 km * 1 kg / 1000 g
      
      where(:ch4_emission_factor_units => 'grams_per_mile').update_all(%{
        ch4_emission_factor = 1.0 * ch4_emission_factor * #{conversion_factor},
        ch4_emission_factor_units = 'kilograms_per_kilometre'
      })
      where(:n2o_emission_factor_units => 'grams_per_mile').update_all(%{
        n2o_emission_factor = 1.0 * n2o_emission_factor * #{conversion_factor},
        n2o_emission_factor_units = 'kilograms_per_kilometre'
      })
    end
    
    # FIXME TODO verify this
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
earth-0.12.4 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.12.3 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.12.2 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.12.1 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.12.0 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.11.20 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.11.19 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.11.18 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.11.17 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.11.16 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.11.15 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.11.14 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.11.13 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.11.12 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.11.11 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.11.10 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.11.9 lib/earth/bus/bus_fuel_control/data_miner.rb
earth-0.11.8 lib/earth/bus/bus_fuel_control/data_miner.rb