carbon 3.0.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.travis.yml +5 -0
- data/CHANGELOG +8 -0
- data/Gemfile.ci +5 -0
- data/carbon.gemspec +0 -1
- data/lib/carbon/query.rb +8 -1
- data/lib/carbon/version.rb +1 -1
- data/spec/carbon_spec.rb +15 -3
- data/spec/cassettes/staging_flight.yml +59 -0
- metadata +6 -20
- data/spec/cassettes/carbon_bp_com_flight.yml +0 -58
    
        data/.travis.yml
    ADDED
    
    
    
        data/CHANGELOG
    CHANGED
    
    
    
        data/carbon.gemspec
    CHANGED
    
    | @@ -25,7 +25,6 @@ Gem::Specification.new do |s| | |
| 25 25 | 
             
              s.add_runtime_dependency 'multi_json'
         | 
| 26 26 |  | 
| 27 27 | 
             
              s.add_development_dependency 'aruba'
         | 
| 28 | 
            -
              s.add_development_dependency 'avro'
         | 
| 29 28 | 
             
              s.add_development_dependency 'cucumber'
         | 
| 30 29 | 
             
              s.add_development_dependency 'fakeweb'
         | 
| 31 30 | 
             
              s.add_development_dependency 'rake'
         | 
    
        data/lib/carbon/query.rb
    CHANGED
    
    | @@ -25,7 +25,7 @@ module Carbon | |
| 25 25 | 
             
                    end
         | 
| 26 26 | 
             
                    ticks = 0
         | 
| 27 27 | 
             
                    begin
         | 
| 28 | 
            -
                      sleep(0.1*(2**ticks)) # exponential wait
         | 
| 28 | 
            +
                      Kernel.sleep(0.1*(2**ticks)) # exponential wait
         | 
| 29 29 | 
             
                      ticks += 1
         | 
| 30 30 | 
             
                    end until queries.all? { |query| query.done? }
         | 
| 31 31 | 
             
                    queries.inject({}) do |memo, query|
         | 
| @@ -71,6 +71,8 @@ module Carbon | |
| 71 71 | 
             
                  end
         | 
| 72 72 | 
             
                end
         | 
| 73 73 |  | 
| 74 | 
            +
                QUICK_DECISIONS = [:carbon, :energy]
         | 
| 75 | 
            +
             | 
| 74 76 | 
             
                attr_reader :emitter
         | 
| 75 77 | 
             
                attr_reader :params
         | 
| 76 78 | 
             
                attr_reader :domain
         | 
| @@ -130,6 +132,11 @@ module Carbon | |
| 130 132 | 
             
                  when (200..299)
         | 
| 131 133 | 
             
                    memo.success = true
         | 
| 132 134 | 
             
                    memo.merge! MultiJson.load(body)
         | 
| 135 | 
            +
                    QUICK_DECISIONS.each do |decision|
         | 
| 136 | 
            +
                      if node = memo.decisions[decision]
         | 
| 137 | 
            +
                        memo[decision] = node.object.value
         | 
| 138 | 
            +
                      end
         | 
| 139 | 
            +
                    end
         | 
| 133 140 | 
             
                  else
         | 
| 134 141 | 
             
                    memo.success = false
         | 
| 135 142 | 
             
                    memo.errors = [body]
         | 
    
        data/lib/carbon/version.rb
    CHANGED
    
    
    
        data/spec/carbon_spec.rb
    CHANGED
    
    | @@ -20,6 +20,18 @@ describe Carbon do | |
| 20 20 | 
             
                      result.decisions.carbon.object.value.should be_within(50).of(200)
         | 
| 21 21 | 
             
                    end
         | 
| 22 22 | 
             
                  end
         | 
| 23 | 
            +
                  it "provides #carbon helper method to return carbon emission in kg" do
         | 
| 24 | 
            +
                    VCR.use_cassette 'Flight', :record => :once do
         | 
| 25 | 
            +
                      result = Carbon.query('Flight')
         | 
| 26 | 
            +
                      result.carbon.should == result.decisions.carbon.object.value
         | 
| 27 | 
            +
                    end
         | 
| 28 | 
            +
                  end
         | 
| 29 | 
            +
                  it "provides #energy helper method to return energy usage in MJ" do
         | 
| 30 | 
            +
                    VCR.use_cassette 'Flight', :record => :once do
         | 
| 31 | 
            +
                      result = Carbon.query('Flight')
         | 
| 32 | 
            +
                      result.energy.should == result.decisions.energy.object.value
         | 
| 33 | 
            +
                    end
         | 
| 34 | 
            +
                  end
         | 
| 23 35 | 
             
                  it "can be used on an object that responds to #as_impact_query" do
         | 
| 24 36 | 
             
                    VCR.use_cassette '2006 Altima', :record => :once do
         | 
| 25 37 | 
             
                      Carbon.query(MyNissanAltima.new(2006)).decisions.should == MyNissanAltima.new(2006).impact.decisions
         | 
| @@ -60,9 +72,9 @@ describe Carbon do | |
| 60 72 | 
             
                    end
         | 
| 61 73 | 
             
                  end
         | 
| 62 74 | 
             
                  it "allows choosing domain" do
         | 
| 63 | 
            -
                    VCR.use_cassette ' | 
| 64 | 
            -
                       | 
| 65 | 
            -
                       | 
| 75 | 
            +
                    VCR.use_cassette 'staging flight', :record => :once do
         | 
| 76 | 
            +
                      Carbon.query('Flight', :domain => 'http://impact-staging.brighterplanet.com')
         | 
| 77 | 
            +
                      # todo how to distinguish?
         | 
| 66 78 | 
             
                    end
         | 
| 67 79 | 
             
                  end
         | 
| 68 80 | 
             
                  it "raises ArgumentError if args are bad" do
         | 
| @@ -0,0 +1,59 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            http_interactions:
         | 
| 3 | 
            +
            - request:
         | 
| 4 | 
            +
                method: post
         | 
| 5 | 
            +
                uri: http://impact-staging.brighterplanet.com/flights.json
         | 
| 6 | 
            +
                body:
         | 
| 7 | 
            +
                  encoding: US-ASCII
         | 
| 8 | 
            +
                  string: key=carbon_test
         | 
| 9 | 
            +
                headers:
         | 
| 10 | 
            +
                  accept:
         | 
| 11 | 
            +
                  - ! '*/*'
         | 
| 12 | 
            +
                  user-agent:
         | 
| 13 | 
            +
                  - Ruby
         | 
| 14 | 
            +
                  content-type:
         | 
| 15 | 
            +
                  - application/x-www-form-urlencoded
         | 
| 16 | 
            +
              response:
         | 
| 17 | 
            +
                status:
         | 
| 18 | 
            +
                  code: 200
         | 
| 19 | 
            +
                  message: OK
         | 
| 20 | 
            +
                headers:
         | 
| 21 | 
            +
                  server:
         | 
| 22 | 
            +
                  - nginx
         | 
| 23 | 
            +
                  date:
         | 
| 24 | 
            +
                  - Wed, 20 Jun 2012 18:47:53 GMT
         | 
| 25 | 
            +
                  content-type:
         | 
| 26 | 
            +
                  - application/json
         | 
| 27 | 
            +
                  transfer-encoding:
         | 
| 28 | 
            +
                  - chunked
         | 
| 29 | 
            +
                  connection:
         | 
| 30 | 
            +
                  - keep-alive
         | 
| 31 | 
            +
                  status:
         | 
| 32 | 
            +
                  - 200 OK
         | 
| 33 | 
            +
                body:
         | 
| 34 | 
            +
                  encoding: US-ASCII
         | 
| 35 | 
            +
                  string: ! '{"compliance":[],"decisions":{"carbon":{"description":"1083.7 kg","object":{"value":1083.698273768567,"units":"kilograms"},"methodology":"from
         | 
| 36 | 
            +
                    fuel use and greenhouse gas emission factor"},"ghg_emission_factor":{"description":"5.15214","object":5.15214,"methodology":"from
         | 
| 37 | 
            +
                    fuel and aviation multiplier"},"aviation_multiplier":{"description":"2.0","object":2.0,"methodology":"default"},"energy":{"description":"7914.4
         | 
| 38 | 
            +
                    MJ","object":{"value":7914.379236124745,"units":"megajoules"},"methodology":"from
         | 
| 39 | 
            +
                    fuel use and fuel"},"fuel_use":{"description":"210.3394460881434","object":210.3394460881434,"methodology":"from
         | 
| 40 | 
            +
                    fuel per segment, segments per trip, trips, freight_share, passengers, seat
         | 
| 41 | 
            +
                    class multiplier, fuel, date, and timeframe"},"fuel_per_segment":{"description":"8445.966049630008","object":8445.966049630008,"methodology":"from
         | 
| 42 | 
            +
                    adjusted distance per segment and fuel use coefficients"},"seat_class_multiplier":{"description":"1.0","object":1.0,"methodology":"default"},"distance_class":{"description":"short
         | 
| 43 | 
            +
                    haul","object":{"flight_distance_class":{"distance":1108.0,"distance_units":"kilometres","max_distance":3700.0,"max_distance_units":"kilometres","min_distance":0.0,"min_distance_units":"kilometres","name":"short
         | 
| 44 | 
            +
                    haul"}},"methodology":"from adjusted distance per segment"},"adjusted_distance_per_segment":{"description":"960.3994767189461","object":960.3994767189461,"methodology":"from
         | 
| 45 | 
            +
                    adjusted distance and segments per trip"},"adjusted_distance":{"description":"1613.4711208878293","object":1613.4711208878293,"methodology":"from
         | 
| 46 | 
            +
                    distance, route inefficiency factor, and dogleg factor"},"distance":{"description":"1260.2876865370242","object":1260.2876865370242,"methodology":"default"},"route_inefficiency_factor":{"description":"1.100000023841858","object":1.100000023841858,"methodology":"default"},"dogleg_factor":{"description":"1.1638548181950328","object":1.1638548181950328,"methodology":"from
         | 
| 47 | 
            +
                    segments per trip"},"fuel_use_coefficients":{"description":"BrighterPlanet::Flight::ImpactModel::FuelUseEquation::Given","object":{"m3":1.0556339103368821e-07,"m2":-0.00015742440317753937,"m1":7.133528077660993,"b":1646.6201427598814},"methodology":"default"},"fuel":{"description":"Jet
         | 
| 48 | 
            +
                    Fuel","object":{"fuel":{"biogenic_fraction":0.0,"carbon_content":18.672,"carbon_content_units":"grams_per_megajoule","co2_biogenic_emission_factor":0.0,"co2_biogenic_emission_factor_units":"kilograms_per_litre","co2_emission_factor":2.57607,"co2_emission_factor_units":"kilograms_per_litre","density":0.8156,"density_units":"kilograms_per_litre","energy_content":37.6267,"energy_content_units":"megajoules_per_litre","name":"Jet
         | 
| 49 | 
            +
                    Fuel","oxidation_factor":1.0,"physical_units":null}},"methodology":"default"},"passengers":{"description":"131","object":131,"methodology":"from
         | 
| 50 | 
            +
                    seats and load factor"},"seats":{"description":"168.86581244109524","object":168.86581244109524,"methodology":"default"},"load_factor":{"description":"0.7737229384911943","object":0.7737229384911943,"methodology":"default"},"freight_share":{"description":"0.06833087336503851","object":0.06833087336503851,"methodology":"default"},"trips":{"description":"1.7","object":1.7,"methodology":"default"},"segments_per_trip":{"description":"1.68","object":1.68,"methodology":"default"},"date":{"description":"2012-01-01","object":"2012-01-01","methodology":"from
         | 
| 51 | 
            +
                    timeframe"}},"emitter":"Flight","equivalents":{"cars_off_the_road_for_a_year":0.19723308582587923,"cars_off_the_road_for_a_month":2.3646296333630135,"cars_off_the_road_for_a_week":10.246367178481801,"cars_off_the_road_for_a_day":71.92071963692472,"cars_to_priuses_for_a_year":0.39446617165175846,"cars_to_priuses_for_a_month":4.729259266726027,"cars_to_priuses_for_a_week":20.492734356963602,"cars_to_priuses_for_a_day":143.84143927384943,"one_way_domestic_flight":3.522019389747843,"round_trip_domestic_flight":1.7610096948739216,"one_way_cross_country_flight":1.2375834286437037,"round_trip_cross_country_flight":0.6187917143218519,"vegan_meals_instead_of_non_vegan_ones":872.037912824007,"days_of_veganism":290.679304274669,"weeks_of_veganism":41.52515045426395,"months_of_veganism":9.689346265764758,"years_of_veganism":0.7965182312198968,"barrels_of_petroleum":2.520682184785687,"canisters_of_bbq_propane":45.154455973114885,"railroad_cars_full_of_coal":0.005418491368842836,"homes_energy_in_a_year":0.10511873255555101,"homes_energy_in_a_month":1.2560062992977694,"homes_energy_in_a_week":5.441249032591975,"homes_energy_in_a_day":38.19711305552069,"homes_electricity_in_a_year":0.15930364624397936,"homes_electricity_in_a_month":1.9062252635589094,"homes_electricity_in_a_week":8.259948242664018,"homes_electricity_in_a_day":57.97677394834457,"homes_with_lowered_thermostat_2_degrees_for_a_winter":5.688332239011209,"homes_with_raised_thermostat_3_degrees_for_a_summer":2.5575279260938184,"replaced_refrigerators":1.0912841616849471,"loads_of_cold_laundry":496.9428478158617,"lightbulbs_for_a_year":2.000507013376775,"lightbulbs_for_a_month":24.34528172021086,"lightbulbs_for_a_week":104.33630240189011,"lightbulbs_for_a_day":730.3573679080521,"lightbulbs_for_an_evening":4382.145291146586,"lightbulbs_to_CFLs_for_a_day":12431.618738777546,"lightbulbs_to_CFLs_for_a_week":1775.945224483,"lightbulbs_to_CFLs_for_a_month":414.38779701844595,"lightbulbs_to_CFLs_for_a_year":34.05955304627229,"days_with_lightbulbs_to_CFLs":276.2585313456307,"weeks_with_lightbulbs_to_CFLs":39.46504003582991,"months_with_lightbulbs_to_CFLs":9.208184232211513,"years_with_lightbulbs_to_CFLs":0.7564213950904599,"recycled_kgs_of_trash":747.3779329958612,"recycled_bags_of_trash":414.1190398465514},"methodology":"http://impact.brighterplanet.com/flights?timeframe=2012-01-01%2F2013-01-01","scope":"The
         | 
| 52 | 
            +
                    flight greenhouse gas emission is the anthropogenic greenhouse gas emissions
         | 
| 53 | 
            +
                    attributed to a single passenger on this flight. It includes CO2 emissions
         | 
| 54 | 
            +
                    from combustion of non-biogenic fuel and extra forcing effects of high-altitude
         | 
| 55 | 
            +
                    fuel combustion.","timeframe":"2012-01-01/2013-01-01","characteristics":{},"errors":["API
         | 
| 56 | 
            +
                    key \"carbon_test\" could not be verified. Please register at http://keys.brighterplanet.com"]}'
         | 
| 57 | 
            +
                http_version: '1.1'
         | 
| 58 | 
            +
              recorded_at: Wed, 20 Jun 2012 18:47:53 GMT
         | 
| 59 | 
            +
            recorded_with: VCR 2.2.2
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: carbon
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 3.0. | 
| 4 | 
            +
              version: 3.0.1
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2012-06- | 
| 12 | 
            +
            date: 2012-06-20 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: activesupport
         | 
| @@ -155,22 +155,6 @@ dependencies: | |
| 155 155 | 
             
                - - ! '>='
         | 
| 156 156 | 
             
                  - !ruby/object:Gem::Version
         | 
| 157 157 | 
             
                    version: '0'
         | 
| 158 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 159 | 
            -
              name: avro
         | 
| 160 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 161 | 
            -
                none: false
         | 
| 162 | 
            -
                requirements:
         | 
| 163 | 
            -
                - - ! '>='
         | 
| 164 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 165 | 
            -
                    version: '0'
         | 
| 166 | 
            -
              type: :development
         | 
| 167 | 
            -
              prerelease: false
         | 
| 168 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 169 | 
            -
                none: false
         | 
| 170 | 
            -
                requirements:
         | 
| 171 | 
            -
                - - ! '>='
         | 
| 172 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 173 | 
            -
                    version: '0'
         | 
| 174 158 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 175 159 | 
             
              name: cucumber
         | 
| 176 160 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -294,9 +278,11 @@ extensions: [] | |
| 294 278 | 
             
            extra_rdoc_files: []
         | 
| 295 279 | 
             
            files:
         | 
| 296 280 | 
             
            - .gitignore
         | 
| 281 | 
            +
            - .travis.yml
         | 
| 297 282 | 
             
            - .yardopts
         | 
| 298 283 | 
             
            - CHANGELOG
         | 
| 299 284 | 
             
            - Gemfile
         | 
| 285 | 
            +
            - Gemfile.ci
         | 
| 300 286 | 
             
            - README.markdown
         | 
| 301 287 | 
             
            - Rakefile
         | 
| 302 288 | 
             
            - bin/carbon
         | 
| @@ -322,9 +308,9 @@ files: | |
| 322 308 | 
             
            - spec/cassettes/Flight_and_Automobile.yml
         | 
| 323 309 | 
             
            - spec/cassettes/LAX-_SFO_flight.yml
         | 
| 324 310 | 
             
            - spec/cassettes/Monkey.yml
         | 
| 325 | 
            -
            - spec/cassettes/carbon_bp_com_flight.yml
         | 
| 326 311 | 
             
            - spec/cassettes/flight_with_key_1.yml
         | 
| 327 312 | 
             
            - spec/cassettes/flight_with_key_2.yml
         | 
| 313 | 
            +
            - spec/cassettes/staging_flight.yml
         | 
| 328 314 | 
             
            - spec/cassettes/timeframed_flight.yml
         | 
| 329 315 | 
             
            - spec/helper.rb
         | 
| 330 316 | 
             
            - spec/support/my_nissan_altima.rb
         | 
| @@ -364,9 +350,9 @@ test_files: | |
| 364 350 | 
             
            - spec/cassettes/Flight_and_Automobile.yml
         | 
| 365 351 | 
             
            - spec/cassettes/LAX-_SFO_flight.yml
         | 
| 366 352 | 
             
            - spec/cassettes/Monkey.yml
         | 
| 367 | 
            -
            - spec/cassettes/carbon_bp_com_flight.yml
         | 
| 368 353 | 
             
            - spec/cassettes/flight_with_key_1.yml
         | 
| 369 354 | 
             
            - spec/cassettes/flight_with_key_2.yml
         | 
| 355 | 
            +
            - spec/cassettes/staging_flight.yml
         | 
| 370 356 | 
             
            - spec/cassettes/timeframed_flight.yml
         | 
| 371 357 | 
             
            - spec/helper.rb
         | 
| 372 358 | 
             
            - spec/support/my_nissan_altima.rb
         | 
| @@ -1,58 +0,0 @@ | |
| 1 | 
            -
            ---
         | 
| 2 | 
            -
            http_interactions:
         | 
| 3 | 
            -
            - request:
         | 
| 4 | 
            -
                method: post
         | 
| 5 | 
            -
                uri: http://carbon.brighterplanet.com/flights.json
         | 
| 6 | 
            -
                body:
         | 
| 7 | 
            -
                  encoding: US-ASCII
         | 
| 8 | 
            -
                  string: key=carbon_test
         | 
| 9 | 
            -
                headers:
         | 
| 10 | 
            -
                  accept:
         | 
| 11 | 
            -
                  - ! '*/*'
         | 
| 12 | 
            -
                  user-agent:
         | 
| 13 | 
            -
                  - Ruby
         | 
| 14 | 
            -
                  content-type:
         | 
| 15 | 
            -
                  - application/x-www-form-urlencoded
         | 
| 16 | 
            -
              response:
         | 
| 17 | 
            -
                status:
         | 
| 18 | 
            -
                  code: 200
         | 
| 19 | 
            -
                  message: OK
         | 
| 20 | 
            -
                headers:
         | 
| 21 | 
            -
                  server:
         | 
| 22 | 
            -
                  - nginx
         | 
| 23 | 
            -
                  date:
         | 
| 24 | 
            -
                  - Fri, 08 Jun 2012 21:05:43 GMT
         | 
| 25 | 
            -
                  content-type:
         | 
| 26 | 
            -
                  - application/json
         | 
| 27 | 
            -
                  transfer-encoding:
         | 
| 28 | 
            -
                  - chunked
         | 
| 29 | 
            -
                  connection:
         | 
| 30 | 
            -
                  - keep-alive
         | 
| 31 | 
            -
                  status:
         | 
| 32 | 
            -
                  - 200 OK
         | 
| 33 | 
            -
                body:
         | 
| 34 | 
            -
                  encoding: US-ASCII
         | 
| 35 | 
            -
                  string: ! '{"emission":1087.1649532388976,"emitter":"Flight","timeframe":"2012-01-01/2013-01-01","methodology":"http://impact.brighterplanet.com/flights?timeframe=2012-01-01%2F2013-01-01","scope":"The
         | 
| 36 | 
            -
                    flight greenhouse gas emission is the anthropogenic greenhouse gas emissions
         | 
| 37 | 
            -
                    attributed to a single passenger on this flight. It includes CO2 emissions
         | 
| 38 | 
            -
                    from combustion of non-biogenic fuel and extra forcing effects of high-altitude
         | 
| 39 | 
            -
                    fuel combustion.","complies":[],"equivalents":{"cars_off_the_road_for_a_year":0.19786402148947937,"cars_off_the_road_for_a_month":2.3721939279672744,"cars_off_the_road_for_a_week":10.279144632873777,"cars_off_the_road_for_a_day":72.15078928665267,"cars_to_priuses_for_a_year":0.39572804297895875,"cars_to_priuses_for_a_month":4.744387855934549,"cars_to_priuses_for_a_week":20.558289265747554,"cars_to_priuses_for_a_day":144.30157857330533,"one_way_domestic_flight":3.533286098026417,"round_trip_domestic_flight":1.7666430490132086,"one_way_cross_country_flight":1.2415423765988212,"round_trip_cross_country_flight":0.6207711882994106,"vegan_meals_instead_of_non_vegan_ones":874.8275047269489,"days_of_veganism":291.6091682423163,"weeks_of_veganism":41.657986678208076,"months_of_veganism":9.720341846908983,"years_of_veganism":0.7990662406305897,"barrels_of_petroleum":2.528745681233676,"canisters_of_bbq_propane":45.29890210660515,"railroad_cars_full_of_coal":0.005435824766194489,"homes_energy_in_a_year":0.10545500046417307,"homes_energy_in_a_month":1.2600241808038823,"homes_energy_in_a_week":5.458655230212505,"homes_energy_in_a_day":38.319303106811425,"homes_electricity_in_a_year":0.15981324812611794,"homes_electricity_in_a_month":1.9123231527472209,"homes_electricity_in_a_week":8.286371273586878,"homes_electricity_in_a_day":58.16223783332778,"homes_with_lowered_thermostat_2_degrees_for_a_winter":5.706528839550974,"homes_with_raised_thermostat_3_degrees_for_a_summer":2.5657092896437987,"replaced_refrigerators":1.09477510791157,"loads_of_cold_laundry":498.5325352871354,"lightbulbs_for_a_year":2.006906503679005,"lightbulbs_for_a_month":24.423160674511834,"lightbulbs_for_a_week":104.67006736793459,"lightbulbs_for_a_day":732.6937330704019,"lightbulbs_for_an_evening":4396.1634855873635,"lightbulbs_to_CFLs_for_a_day":12471.386669121135,"lightbulbs_to_CFLs_for_a_week":1781.626356398747,"lightbulbs_to_CFLs_for_a_month":415.7133963143494,"lightbulbs_to_CFLs_for_a_year":34.16850731534531,"days_with_lightbulbs_to_CFLs":277.14226420956624,"weeks_with_lightbulbs_to_CFLs":39.59128610210093,"months_with_lightbulbs_to_CFLs":9.237640607670912,"years_with_lightbulbs_to_CFLs":0.7588411373607507,"recycled_kgs_of_trash":749.7687458259719,"recycled_bags_of_trash":415.44377940594615},"emission_units":"kilograms","execution_id":"UNSUPPORTED","errors":["API
         | 
| 40 | 
            -
                    key \"carbon_test\" could not be verified. Please register at http://keys.brighterplanet.com"],"reports":[{"committee":{"name":"emission"},"conclusion":{"value":1087.1649532388976,"units":"kilograms"},"quorum":{"name":"from
         | 
| 41 | 
            -
                    fuel use and greenhouse gas emission factor"}},{"committee":{"name":"ghg_emission_factor"},"conclusion":5.15214,"quorum":{"name":"from
         | 
| 42 | 
            -
                    fuel and aviation multiplier"}},{"committee":{"name":"aviation_multiplier"},"conclusion":2.0,"quorum":{"name":"default"}},{"committee":{"name":"energy"},"conclusion":{"value":7939.69681453416,"units":"megajoules"},"quorum":{"name":"from
         | 
| 43 | 
            -
                    fuel use and fuel"}},{"committee":{"name":"fuel_use"},"conclusion":211.0123081358227,"quorum":{"name":"from
         | 
| 44 | 
            -
                    fuel per segment, segments per trip, trips, freight_share, passengers, seat
         | 
| 45 | 
            -
                    class multiplier, fuel, date, and timeframe"}},{"committee":{"name":"fuel_per_segment"},"conclusion":8477.788829453548,"quorum":{"name":"from
         | 
| 46 | 
            -
                    adjusted distance per segment and fuel use coefficients"}},{"committee":{"name":"seat_class_multiplier"},"conclusion":1.0,"quorum":{"name":"default"}},{"committee":{"name":"distance_class"},"conclusion":{"flight_distance_class":{"distance":1108.0,"distance_units":"kilometres","max_distance":3700.0,"max_distance_units":"kilometres","min_distance":0.0,"min_distance_units":"kilometres","name":"short
         | 
| 47 | 
            -
                    haul"}},"quorum":{"name":"from adjusted distance per segment"}},{"committee":{"name":"adjusted_distance_per_segment"},"conclusion":962.1615428278766,"quorum":{"name":"from
         | 
| 48 | 
            -
                    adjusted distance and segments per trip"}},{"committee":{"name":"adjusted_distance"},"conclusion":1616.4313919508327,"quorum":{"name":"from
         | 
| 49 | 
            -
                    distance, route inefficiency factor, and dogleg factor"}},{"committee":{"name":"distance"},"conclusion":1262.599964160848,"quorum":{"name":"default"}},{"committee":{"name":"route_inefficiency_factor"},"conclusion":1.100000023841858,"quorum":{"name":"default"}},{"committee":{"name":"dogleg_factor"},"conclusion":1.1638548181950328,"quorum":{"name":"from
         | 
| 50 | 
            -
                    segments per trip"}},{"committee":{"name":"fuel_use_coefficients"},"conclusion":{"m3":1.0532072472371498e-07,"m2":-0.00015627733290887285,"m1":7.148223019744806,"b":1650.9061605236384},"quorum":{"name":"default"}},{"committee":{"name":"fuel"},"conclusion":{"fuel":{"biogenic_fraction":0.0,"carbon_content":18.672,"carbon_content_units":"grams_per_megajoule","co2_biogenic_emission_factor":0.0,"co2_biogenic_emission_factor_units":"kilograms_per_litre","co2_emission_factor":2.57607,"co2_emission_factor_units":"kilograms_per_litre","density":0.8156,"density_units":"kilograms_per_litre","energy_content":37.6267,"energy_content_units":"megajoules_per_litre","name":"Jet
         | 
| 51 | 
            -
                    Fuel","oxidation_factor":1.0,"physical_units":null}},"quorum":{"name":"default"}},{"committee":{"name":"passengers"},"conclusion":131,"quorum":{"name":"from
         | 
| 52 | 
            -
                    seats and load factor"}},{"committee":{"name":"seats"},"conclusion":169.27798641328772,"quorum":{"name":"default"}},{"committee":{"name":"load_factor"},"conclusion":0.7731146349652108,"quorum":{"name":"default"}},{"committee":{"name":"freight_share"},"conclusion":0.06885888622195808,"quorum":{"name":"default"}},{"committee":{"name":"trips"},"conclusion":1.7,"quorum":{"name":"default"}},{"committee":{"name":"segments_per_trip"},"conclusion":1.68,"quorum":{"name":"default"}},{"committee":{"name":"date"},"conclusion":"2012-01-01","quorum":{"name":"from
         | 
| 53 | 
            -
                    timeframe"}}],"carbon":{"value":1087.1649532388976,"units":"kilograms"},"ghg_emission_factor":5.15214,"aviation_multiplier":2.0,"energy":{"value":7939.69681453416,"units":"megajoules"},"fuel_use":211.0123081358227,"fuel_per_segment":8477.788829453548,"seat_class_multiplier":1.0,"distance_class":{"flight_distance_class":{"distance":1108.0,"distance_units":"kilometres","max_distance":3700.0,"max_distance_units":"kilometres","min_distance":0.0,"min_distance_units":"kilometres","name":"short
         | 
| 54 | 
            -
                    haul"}},"adjusted_distance_per_segment":962.1615428278766,"adjusted_distance":1616.4313919508327,"distance":1262.599964160848,"route_inefficiency_factor":1.100000023841858,"dogleg_factor":1.1638548181950328,"fuel_use_coefficients":{"m3":1.0532072472371498e-07,"m2":-0.00015627733290887285,"m1":7.148223019744806,"b":1650.9061605236384},"fuel":{"fuel":{"biogenic_fraction":0.0,"carbon_content":18.672,"carbon_content_units":"grams_per_megajoule","co2_biogenic_emission_factor":0.0,"co2_biogenic_emission_factor_units":"kilograms_per_litre","co2_emission_factor":2.57607,"co2_emission_factor_units":"kilograms_per_litre","density":0.8156,"density_units":"kilograms_per_litre","energy_content":37.6267,"energy_content_units":"megajoules_per_litre","name":"Jet
         | 
| 55 | 
            -
                    Fuel","oxidation_factor":1.0,"physical_units":null}},"passengers":131,"seats":169.27798641328772,"load_factor":0.7731146349652108,"freight_share":0.06885888622195808,"trips":1.7,"segments_per_trip":1.68,"date":"2012-01-01"}'
         | 
| 56 | 
            -
                http_version: '1.1'
         | 
| 57 | 
            -
              recorded_at: Fri, 08 Jun 2012 21:05:43 GMT
         | 
| 58 | 
            -
            recorded_with: VCR 2.2.0
         |