bus_trip 0.0.12 → 0.0.13
Sign up to get free protection for your applications and to get access to all the features.
- data/features/bus_trip_committees.feature +67 -28
- data/features/bus_trip_emissions.feature +17 -34
- data/features/support/env.rb +1 -1
- data/lib/bus_trip/carbon_model.rb +142 -44
- data/lib/bus_trip/characterization.rb +2 -2
- data/lib/bus_trip/data.rb +2 -3
- metadata +28 -17
@@ -1,33 +1,72 @@
|
|
1
1
|
Feature: Bus Trip Committee Calculations
|
2
2
|
The bus trip model should generate correct committee calculations
|
3
|
-
|
4
|
-
Scenario
|
3
|
+
|
4
|
+
Scenario: Passengers from bus class
|
5
|
+
Given a bus trip emitter
|
6
|
+
And a characteristic "bus_class.name" of "city transit"
|
7
|
+
When the "passengers" committee is calculated
|
8
|
+
Then the conclusion of the committee should be "10.4"
|
9
|
+
|
10
|
+
Scenario: Speed from bus class
|
11
|
+
Given a bus trip emitter
|
12
|
+
And a characteristic "bus_class.name" of "city transit"
|
13
|
+
When the "speed" committee is calculated
|
14
|
+
Then the conclusion of the committee should be "24.0919"
|
15
|
+
|
16
|
+
Scenario: Alternative fuels intensity from bus class
|
5
17
|
Given a bus trip emitter
|
6
|
-
And a characteristic "
|
7
|
-
|
8
|
-
|
9
|
-
|
18
|
+
And a characteristic "bus_class.name" of "city transit"
|
19
|
+
When the "alternative_fuels_intensity" committee is calculated
|
20
|
+
Then the conclusion of the committee should be "2.11693"
|
21
|
+
|
22
|
+
Scenario: Diesel intensity from bus class
|
23
|
+
Given a bus trip emitter
|
24
|
+
And a characteristic "bus_class.name" of "city transit"
|
25
|
+
When the "diesel_intensity" committee is calculated
|
26
|
+
Then the conclusion of the committee should be "0.423386"
|
27
|
+
|
28
|
+
Scenario: Distance from duration and speed
|
29
|
+
Given a bus trip emitter
|
30
|
+
And a characteristic "duration" of "60"
|
31
|
+
And a characteristic "bus_class.name" of "city transit"
|
32
|
+
When the "speed" committee is calculated
|
10
33
|
And the "distance" committee is calculated
|
11
|
-
Then the
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
| | | city transit | 8 |
|
18
|
-
|
19
|
-
Scenario Outline: Diesel consumed from distance and diesel intensity
|
20
|
-
Given a bus trip emitter
|
21
|
-
And a characteristic "distance_estimate" of "<distance_estimate>"
|
22
|
-
And a characteristic "duration" of "<duration>"
|
23
|
-
And a characteristic "bus_class.name" of "<bus_class>"
|
34
|
+
Then the committee should have used quorum "from duration and speed"
|
35
|
+
And the conclusion of the committee should be "24.0919"
|
36
|
+
|
37
|
+
Scenario: Distance from bus class
|
38
|
+
Given a bus trip emitter
|
39
|
+
And a characteristic "bus_class.name" of "city transit"
|
24
40
|
When the "distance" committee is calculated
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
41
|
+
Then the committee should have used quorum "from bus class"
|
42
|
+
Then the conclusion of the committee should be "7.19377"
|
43
|
+
|
44
|
+
Scenario: Alternative fuels consumed from distance and alternative fuels intensity
|
45
|
+
Given a bus trip emitter
|
46
|
+
And a characteristic "alternative_fuels_intensity" of "2"
|
47
|
+
And a characteristic "distance" of "10"
|
48
|
+
When the "alternative_fuels_consumed" committee is calculated
|
49
|
+
Then the conclusion of the committee should be "20"
|
50
|
+
|
51
|
+
Scenario: Diesel consumed from distance and diesel intensity
|
52
|
+
Given a bus trip emitter
|
53
|
+
And a characteristic "diesel_intensity" of "2"
|
54
|
+
And a characteristic "distance" of "10"
|
55
|
+
When the "diesel_consumed" committee is calculated
|
56
|
+
Then the conclusion of the committee should be "20"
|
57
|
+
|
58
|
+
Scenario: Alternative fuels emission factor from default
|
59
|
+
Given a bus trip emitter
|
60
|
+
When the "alternative_fuels_emission_factor" committee is calculated
|
61
|
+
Then the conclusion of the committee should be "1.16735"
|
62
|
+
|
63
|
+
Scenario: Diesel emission factor from default
|
64
|
+
Given a bus trip emitter
|
65
|
+
When the "diesel_emission_factor" committee is calculated
|
66
|
+
Then the conclusion of the committee should be "2.0"
|
67
|
+
|
68
|
+
Scenario: Air conditioning emission factor from bus class
|
69
|
+
Given a bus trip emitter
|
70
|
+
And a characteristic "bus_class.name" of "city transit"
|
71
|
+
When the "air_conditioning_emission_factor" committee is calculated
|
72
|
+
Then the conclusion of the committee should be "0.5"
|
@@ -1,39 +1,22 @@
|
|
1
1
|
Feature: Bus Trip Emissions Calculations
|
2
2
|
The bus trip model should generate correct emission calculations
|
3
|
-
|
4
|
-
Scenario
|
5
|
-
Given a bus trip has
|
6
|
-
And it has "timeframe" of "<timeframe>"
|
3
|
+
|
4
|
+
Scenario: Calculations for bus trip with nothing
|
5
|
+
Given a bus trip has nothing
|
7
6
|
When emissions are calculated
|
8
|
-
Then the emission value should be within "0.
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
| 2010-08-01/2010-08-11 | 400 | 51.0 |
|
13
|
-
|
14
|
-
Scenario Outline: Standard Calculations for bus trips with timeframe and bus class
|
15
|
-
Given a bus trip has "distance_estimate" of "<distance>"
|
16
|
-
And it has "bus_class.name" of "<bus_class>"
|
17
|
-
And it has "timeframe" of "<timeframe>"
|
7
|
+
Then the emission value should be within "0.01" kgs of "0.87"
|
8
|
+
|
9
|
+
Scenario: Calculations for bus trip from distance
|
10
|
+
Given a bus trip has "distance" of "100"
|
18
11
|
When emissions are calculated
|
19
|
-
Then the emission value should be within "0.
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
| 2010-08-01/2010-08-11 | 400 | regional coach | 51.4 |
|
24
|
-
|
25
|
-
Scenario Outline: Calculations involving fuel types
|
26
|
-
Given a bus trip has "distance_estimate" of "<distance>"
|
27
|
-
And it has "bus_class.gasoline_intensity" of "<gasoline>"
|
28
|
-
And it has "bus_class.diesel_intensity" of "<diesel>"
|
29
|
-
And it has "bus_class.alternative_fuels_intensity" of "<alternative>"
|
30
|
-
And it has "bus_class.passengers" of "<passengers>"
|
31
|
-
And it has "bus_class.name" of "<bus_class>"
|
12
|
+
Then the emission value should be within "0.01" kgs of "9.94"
|
13
|
+
|
14
|
+
Scenario: Calculations for bus trip from duration
|
15
|
+
Given a bus trip has "duration" of "60"
|
32
16
|
When emissions are calculated
|
33
|
-
Then the emission value should be within "0.
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
| | 20 | | 20 | 11 | city transit | 1.4 |
|
17
|
+
Then the emission value should be within "0.01" kgs of "3.15"
|
18
|
+
|
19
|
+
Scenario: Calculations for bus trip from bus class
|
20
|
+
Given a bus trip has "bus_class.name" of "city transit"
|
21
|
+
When emissions are calculated
|
22
|
+
Then the emission value should be within "0.01" kgs of "2.64"
|
data/features/support/env.rb
CHANGED
@@ -5,4 +5,4 @@ require 'cucumber'
|
|
5
5
|
require 'cucumber/formatter/unicode'
|
6
6
|
|
7
7
|
require 'sniff'
|
8
|
-
Sniff.init File.join(File.dirname(__FILE__), '..', '..'), :earth => :bus, :cucumber => true
|
8
|
+
Sniff.init File.join(File.dirname(__FILE__), '..', '..'), :earth => [:bus, :fuel], :cucumber => true
|
@@ -2,103 +2,201 @@
|
|
2
2
|
# See LICENSE for details.
|
3
3
|
# Contact Brighter Planet for dual-license arrangements.
|
4
4
|
|
5
|
+
## Bus trip carbon model
|
6
|
+
# This model is used by [Brighter Planet](http://brighterplanet.com)'s carbon emission [web service](http://carbon.brighterplanet.com) to estimate the **greenhouse gas emissions of passenger bus travel**.
|
7
|
+
#
|
8
|
+
##### Calculations
|
9
|
+
# The final estimate is the result of the **calculations** detailed below. These calculations are performed in reverse order, starting with the last calculation listed and finishing with the emission calculation. Each calculation is named according to the `value` it returns.
|
10
|
+
#
|
11
|
+
##### Methods
|
12
|
+
# To accomodate varying client input, each calculation may have one or more **methods**. These are listed under each calculation in order from most to least preferred. Each method is named according to the `values` it requires ('default' methods do not require any values). Methods are ignored if any of the values they require are unvailable. Calculations are ignored if all of their methods are unavailable.
|
13
|
+
#
|
14
|
+
##### Standard compliance
|
15
|
+
# Each method lists any established calculation standards with which it **complies**. When compliance with a standard is requested, all methods that do not comply with that standard are ignored. This means that any values a particular method requires will have been calculated using a compliant method or will be unavailable.
|
16
|
+
#
|
17
|
+
##### Collaboration
|
18
|
+
# Contributions to this carbon model are actively encouraged and warmly welcomed. This library includes a comprehensive test suite to ensure that your changes do not cause regressions. All changes should include test coverage for new functionality. Please see [sniff](http://github.com/brighterplanet/sniff#readme), our emitter testing framework, for more information.
|
5
19
|
module BrighterPlanet
|
6
20
|
module BusTrip
|
7
21
|
module CarbonModel
|
8
22
|
def self.included(base)
|
9
|
-
base.extend FastTimestamp
|
10
23
|
base.decide :emission, :with => :characteristics do
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
24
|
+
### Emission calculation
|
25
|
+
# Returns the `emission` estimate (*kg CO<sub>2</sub>e*)
|
26
|
+
committee :emission do
|
27
|
+
#### Emission from fuel, emission factors, and passengers
|
28
|
+
# **Complies:** GHG Protocol, ISO 14064-1, Climate Registry Protocol
|
29
|
+
#
|
30
|
+
# - Multiplies diesel consumed (*l*) by the diesel emission factor (*kg CO<sub>2</sub>e / l*) to give diesel emissions (*kg CO<sub>2</sub>e*)
|
31
|
+
# - Multiplies alternaive fuel consumed (*l*) by the alternative fuels emission factor (*kg CO<sub>2</sub>e / l*) to give alternative fuels emissions (*kg CO<sub>2</sub>e*)
|
32
|
+
# - Multiplies distance (*km*) by the air conditioning emission factor (*kg CO<sub>2</sub>e / km*) to give air conditioning emissions (*kg CO<sub>2</sub>e*)
|
33
|
+
# - Sums the diesel, alternative fuels, and air conditioning emissions and divides by passengers to give emissions per passenger (*kg CO<sub>2</sub>e*)
|
34
|
+
quorum 'from fuels, emission factors, and passengers', :needs => [:diesel_consumed, :diesel_emission_factor, :alternative_fuels_consumed, :alternative_fuels_emission_factor, :distance, :air_conditioning_emission_factor, :passengers] do |characteristics|
|
35
|
+
(characteristics[:diesel_consumed] * characteristics[:diesel_emission_factor] + characteristics[:alternative_fuels_consumed] * characteristics[:alternative_fuels_emission_factor] + characteristics[:distance] * characteristics[:air_conditioning_emission_factor]) / characteristics[:passengers]
|
15
36
|
end
|
16
37
|
end
|
17
38
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
39
|
+
### Air conditioning emission factor calculation
|
40
|
+
# Returns the `air conditioning emission factor` (*kg CO<sub>2</sub>e / km*).
|
41
|
+
# This is used to account for fugitive emissions of air conditioning refrigerants.
|
42
|
+
committee :air_conditioning_emission_factor do
|
43
|
+
#### Air conditioning emission factor from bus class
|
44
|
+
# **Complies:** GHG Protocol, ISO 14046-1, Climate Registry Protocol
|
45
|
+
#
|
46
|
+
# Looks up the [bus class](http://data.brighterplanet.com/bus_classes) `air conditioning emission factor` (*kg CO<sub>2</sub>e / km*).
|
47
|
+
quorum 'from bus class', :needs => :bus_class do |characteristics|
|
48
|
+
characteristics[:bus_class].air_conditioning_emission_factor
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
### Diesel emission factor calculation
|
53
|
+
# Returns the `diesel emission factor` (*kg CO<sub>2</sub>e / l*).
|
54
|
+
committee :diesel_emission_factor do
|
55
|
+
#### Default diesel emission factor
|
56
|
+
# **Complies:** GHG Protocol, ISO 14046-1, Climate Registry Protocol
|
57
|
+
#
|
58
|
+
# Looks up [Distillate Fuel Oil 2](http://data.brighterplanet.com/fuel_types)'s `emission factor` (*kg CO<sub>2</sub>e / l*).
|
59
|
+
quorum 'default' do
|
60
|
+
diesel = FuelType.find_by_name "Distillate Fuel Oil 2"
|
61
|
+
diesel.emission_factor
|
22
62
|
end
|
23
63
|
end
|
24
64
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
65
|
+
### Alternative fuels emission factor calculation
|
66
|
+
# Returns the `alternative fuels emission factor` (*kg CO<sub>2</sub>e / l*).
|
67
|
+
committee :alternative_fuels_emission_factor do
|
68
|
+
#### Default alternative fuels emission factor
|
69
|
+
# **Complies:** GHG Protocol, ISO 14046-1, Climate Registry Protocol
|
70
|
+
#
|
71
|
+
# Uses an `alternative fuels emission factor` of 1.17 *kg CO<sub>2</sub>e / l*.
|
72
|
+
quorum 'default' do
|
73
|
+
9.742.pounds_per_gallon.to(:kilograms_per_litre)
|
29
74
|
end
|
30
75
|
end
|
31
76
|
|
32
|
-
|
77
|
+
### Diesel consumed calculation
|
78
|
+
# Returns the `diesel consumed` (*l*).
|
79
|
+
committee :diesel_consumed do
|
80
|
+
#### Diesel consumed from distance and diesel intensity
|
81
|
+
# **Complies:** GHG Protocol, ISO 14064-1, Climate Registry Protocol
|
82
|
+
#
|
83
|
+
# Multiplies `distance` (*km*) by `diesel intensity` (*l / km*) to give *l*.
|
84
|
+
quorum 'from distance and diesel intensity', :needs => [:distance, :diesel_intensity] do |characteristics|
|
85
|
+
characteristics[:distance] * characteristics[:diesel_intensity]
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
### Alternative fuels consumed calculation
|
90
|
+
# Returns the `alternative fuels consumed` (*l*).
|
91
|
+
committee :alternative_fuels_consumed do
|
92
|
+
#### Alternative fuels consumed from distance and alternative fuels intensity
|
93
|
+
# **Complies:** GHG Protocol, ISO 14064-1, Climate Registry Protocol
|
94
|
+
#
|
95
|
+
# Multiplies `distance` (*km*) by `alternative fuels intensity` (*l / km*) to give *l*.
|
33
96
|
quorum 'from distance and alternative fuels intensity', :needs => [:distance, :alternative_fuels_intensity] do |characteristics|
|
34
|
-
#( kilometres ) * ( litres alternative_fuels / kilometre )
|
35
97
|
characteristics[:distance] * characteristics[:alternative_fuels_intensity]
|
36
98
|
end
|
37
99
|
end
|
38
100
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
101
|
+
### Distance calculation
|
102
|
+
# Returns the `distance` travelled (*km*).
|
103
|
+
committee :distance do
|
104
|
+
#### Distance from client input
|
105
|
+
# **Complies:** All
|
106
|
+
#
|
107
|
+
# Uses the client-input `distance` (*km*).
|
43
108
|
|
44
|
-
|
45
|
-
|
46
|
-
|
109
|
+
#### Distance from duration and speed
|
110
|
+
# **Complies:** GHG Protocol, ISO 14064-1, Climate Registry Protocol
|
111
|
+
#
|
112
|
+
# Divides `duration` (*minutes*) by 60 and multiplies by `speed` (*km / hour*) to give *km*.
|
113
|
+
quorum 'from duration and speed', :needs => [:duration, :speed] do |characteristics|
|
114
|
+
characteristics[:duration] / 60 * characteristics[:speed]
|
47
115
|
end
|
48
116
|
|
117
|
+
#### Distance from bus class
|
118
|
+
# **Complies:**
|
119
|
+
#
|
120
|
+
# Looks up the [bus class](http://data.brighterplanet.com/bus_classes) `distance` (*km*).
|
49
121
|
quorum 'from bus class', :needs => :bus_class do |characteristics|
|
50
122
|
characteristics[:bus_class].distance
|
51
123
|
end
|
52
124
|
end
|
53
125
|
|
54
|
-
|
126
|
+
### Speed calculation
|
127
|
+
# Returns the average `speed` (*km / hour*).
|
128
|
+
committee :speed do
|
129
|
+
#### Speed from bus class
|
130
|
+
# **Complies:** GHG Protocol, ISO 14064-1, Climate Registry Protocol
|
131
|
+
#
|
132
|
+
# Looks up the [bus class](http://data.brighterplanet.com/bus_classes)' average `speed` (*km / hour*).
|
55
133
|
quorum 'from bus class', :needs => :bus_class do |characteristics|
|
56
|
-
characteristics[:bus_class].
|
134
|
+
characteristics[:bus_class].speed
|
57
135
|
end
|
58
136
|
end
|
59
137
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
138
|
+
### Duration calculation
|
139
|
+
# Returns the trip's `duration` (*minutes*).
|
140
|
+
#### Duration from client input
|
141
|
+
# **Complies:** All
|
142
|
+
#
|
143
|
+
# Uses the client-input `duration` (*minutes*).
|
65
144
|
|
66
|
-
|
145
|
+
### Diesel intensity calculation
|
146
|
+
# Returns the `diesel intensity` (*l / km*).
|
147
|
+
committee :diesel_intensity do
|
148
|
+
#### Diesel intensity from bus class
|
149
|
+
# **Complies:** GHG Protocol, ISO 14064-1, Climate Registry Protocol
|
150
|
+
#
|
151
|
+
# Looks up the [bus class](http://data.brighterplanet.com/bus_classes) `diesel intensity` (*l / km*).
|
67
152
|
quorum 'from bus class', :needs => :bus_class do |characteristics|
|
68
|
-
characteristics[:bus_class].
|
153
|
+
characteristics[:bus_class].diesel_intensity
|
69
154
|
end
|
70
155
|
end
|
71
156
|
|
72
|
-
|
157
|
+
### Alternative fuels intensity calculation
|
158
|
+
# Returns the `alternative fuels intensity` (*l / km*).
|
159
|
+
committee :alternative_fuels_intensity do
|
160
|
+
#### Alternative fuels intensity from bus class
|
161
|
+
# **Complies:** GHG Protocol, ISO 14064-1, Climate Registry Protocol
|
162
|
+
#
|
163
|
+
# Looks up the [bus class](http://data.brighterplanet.com/bus_classes) `alternative fuels intensity` (*l / km*).
|
73
164
|
quorum 'from bus class', :needs => :bus_class do |characteristics|
|
74
|
-
characteristics[:bus_class].
|
165
|
+
characteristics[:bus_class].alternative_fuels_intensity
|
75
166
|
end
|
76
167
|
end
|
77
168
|
|
169
|
+
### Passengers calculation
|
170
|
+
# Returns the number of `passengers` on the bus.
|
78
171
|
committee :passengers do
|
172
|
+
#### Passengers from bus class
|
173
|
+
# **Complies:** GHG Protocol, ISO 14064-1, Climate Registry Protocol
|
174
|
+
#
|
175
|
+
# Looks up the [bus class](http://data.brighterplanet.com/bus_classes)' average number of `passengers`.
|
79
176
|
quorum 'from bus class', :needs => :bus_class do |characteristics|
|
80
177
|
characteristics[:bus_class].passengers
|
81
178
|
end
|
82
179
|
end
|
83
180
|
|
181
|
+
### Bus class calculation
|
182
|
+
# Returns the `bus class`.
|
183
|
+
# This is the type of bus used.
|
84
184
|
committee :bus_class do
|
185
|
+
#### From client input
|
186
|
+
# **Complies:** All
|
187
|
+
#
|
188
|
+
# Uses the client-input [bus class](http://data.brighterplanet.com/bus_classes).
|
189
|
+
|
190
|
+
#### Default bus class
|
191
|
+
# **Complies:** GHG Protocol, ISO 14064-1, Climate Registry Protocol
|
192
|
+
#
|
193
|
+
# Uses an artificial [bus class](http://data.brighterplanet.com/bus_classes) that represents the U.S. average.
|
85
194
|
quorum 'default' do
|
86
195
|
BusClass.fallback
|
87
196
|
end
|
88
197
|
end
|
89
198
|
end
|
90
199
|
end
|
91
|
-
|
92
|
-
def self.research(key)
|
93
|
-
case key
|
94
|
-
when :diesel_emission_factor
|
95
|
-
22.450.pounds_per_gallon.to(:kilograms_per_litre) # CO2 / diesel https://brighterplanet.sifterapp.com/projects/30/issues/454
|
96
|
-
when :gasoline_emission_factor
|
97
|
-
23.681.pounds_per_gallon.to(:kilograms_per_litre) # CO2 / gasoline https://brighterplanet.sifterapp.com/projects/30/issues/454
|
98
|
-
when :alternative_fuels_emission_factor
|
99
|
-
9.742.pounds_per_gallon.to(:kilograms_per_litre) # CO2 / equiv alternative fuels https://brighterplanet.sifterapp.com/projects/30/issues/454
|
100
|
-
end
|
101
|
-
end
|
102
200
|
end
|
103
201
|
end
|
104
202
|
end
|
@@ -4,8 +4,8 @@ module BrighterPlanet
|
|
4
4
|
def self.included(base)
|
5
5
|
base.characterize do
|
6
6
|
has :bus_class
|
7
|
-
has :duration
|
8
|
-
has :
|
7
|
+
has :duration
|
8
|
+
has :distance, :measures => :length
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
data/lib/bus_trip/data.rb
CHANGED
@@ -4,10 +4,9 @@ module BrighterPlanet
|
|
4
4
|
def self.included(base)
|
5
5
|
base.data_miner do
|
6
6
|
schema do
|
7
|
-
string '
|
7
|
+
string 'bus_class_name'
|
8
8
|
float 'duration'
|
9
|
-
float '
|
10
|
-
date 'date'
|
9
|
+
float 'distance'
|
11
10
|
end
|
12
11
|
|
13
12
|
process :run_data_miner_on_belongs_to_associations
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bus_trip
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 5
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
9
|
+
- 13
|
10
|
+
version: 0.0.13
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Andy Rossmeissl
|
@@ -18,101 +19,109 @@ autorequire:
|
|
18
19
|
bindir: bin
|
19
20
|
cert_chain: []
|
20
21
|
|
21
|
-
date: 2010-
|
22
|
+
date: 2010-12-02 00:00:00 -05:00
|
22
23
|
default_executable:
|
23
24
|
dependencies:
|
24
25
|
- !ruby/object:Gem::Dependency
|
25
26
|
name: activerecord
|
27
|
+
prerelease: false
|
26
28
|
requirement: &id001 !ruby/object:Gem::Requirement
|
27
29
|
none: false
|
28
30
|
requirements:
|
29
31
|
- - ~>
|
30
32
|
- !ruby/object:Gem::Version
|
33
|
+
hash: 7
|
31
34
|
segments:
|
32
35
|
- 3
|
33
36
|
- 0
|
34
37
|
- 0
|
35
38
|
version: 3.0.0
|
36
39
|
type: :development
|
37
|
-
prerelease: false
|
38
40
|
version_requirements: *id001
|
39
41
|
- !ruby/object:Gem::Dependency
|
40
42
|
name: bundler
|
43
|
+
prerelease: false
|
41
44
|
requirement: &id002 !ruby/object:Gem::Requirement
|
42
45
|
none: false
|
43
46
|
requirements:
|
44
47
|
- - ~>
|
45
48
|
- !ruby/object:Gem::Version
|
49
|
+
hash: 15
|
46
50
|
segments:
|
47
51
|
- 1
|
48
52
|
- 0
|
49
53
|
version: "1.0"
|
50
54
|
type: :development
|
51
|
-
prerelease: false
|
52
55
|
version_requirements: *id002
|
53
56
|
- !ruby/object:Gem::Dependency
|
54
57
|
name: cucumber
|
58
|
+
prerelease: false
|
55
59
|
requirement: &id003 !ruby/object:Gem::Requirement
|
56
60
|
none: false
|
57
61
|
requirements:
|
58
62
|
- - "="
|
59
63
|
- !ruby/object:Gem::Version
|
64
|
+
hash: 57
|
60
65
|
segments:
|
61
66
|
- 0
|
62
67
|
- 8
|
63
68
|
- 3
|
64
69
|
version: 0.8.3
|
65
70
|
type: :development
|
66
|
-
prerelease: false
|
67
71
|
version_requirements: *id003
|
68
72
|
- !ruby/object:Gem::Dependency
|
69
73
|
name: jeweler
|
74
|
+
prerelease: false
|
70
75
|
requirement: &id004 !ruby/object:Gem::Requirement
|
71
76
|
none: false
|
72
77
|
requirements:
|
73
78
|
- - "="
|
74
79
|
- !ruby/object:Gem::Version
|
80
|
+
hash: 7
|
75
81
|
segments:
|
76
82
|
- 1
|
77
83
|
- 4
|
78
84
|
- 0
|
79
85
|
version: 1.4.0
|
80
86
|
type: :development
|
81
|
-
prerelease: false
|
82
87
|
version_requirements: *id004
|
83
88
|
- !ruby/object:Gem::Dependency
|
84
89
|
name: rake
|
90
|
+
prerelease: false
|
85
91
|
requirement: &id005 !ruby/object:Gem::Requirement
|
86
92
|
none: false
|
87
93
|
requirements:
|
88
94
|
- - ">="
|
89
95
|
- !ruby/object:Gem::Version
|
96
|
+
hash: 3
|
90
97
|
segments:
|
91
98
|
- 0
|
92
99
|
version: "0"
|
93
100
|
type: :development
|
94
|
-
prerelease: false
|
95
101
|
version_requirements: *id005
|
96
102
|
- !ruby/object:Gem::Dependency
|
97
103
|
name: rdoc
|
104
|
+
prerelease: false
|
98
105
|
requirement: &id006 !ruby/object:Gem::Requirement
|
99
106
|
none: false
|
100
107
|
requirements:
|
101
108
|
- - ">="
|
102
109
|
- !ruby/object:Gem::Version
|
110
|
+
hash: 3
|
103
111
|
segments:
|
104
112
|
- 0
|
105
113
|
version: "0"
|
106
114
|
type: :development
|
107
|
-
prerelease: false
|
108
115
|
version_requirements: *id006
|
109
116
|
- !ruby/object:Gem::Dependency
|
110
117
|
name: rspec
|
118
|
+
prerelease: false
|
111
119
|
requirement: &id007 !ruby/object:Gem::Requirement
|
112
120
|
none: false
|
113
121
|
requirements:
|
114
122
|
- - "="
|
115
123
|
- !ruby/object:Gem::Version
|
124
|
+
hash: 62196417
|
116
125
|
segments:
|
117
126
|
- 2
|
118
127
|
- 0
|
@@ -121,37 +130,38 @@ dependencies:
|
|
121
130
|
- 17
|
122
131
|
version: 2.0.0.beta.17
|
123
132
|
type: :development
|
124
|
-
prerelease: false
|
125
133
|
version_requirements: *id007
|
126
134
|
- !ruby/object:Gem::Dependency
|
127
135
|
name: sniff
|
136
|
+
prerelease: false
|
128
137
|
requirement: &id008 !ruby/object:Gem::Requirement
|
129
138
|
none: false
|
130
139
|
requirements:
|
131
140
|
- - ~>
|
132
141
|
- !ruby/object:Gem::Version
|
142
|
+
hash: 19
|
133
143
|
segments:
|
134
144
|
- 0
|
135
|
-
-
|
145
|
+
- 3
|
136
146
|
- 0
|
137
|
-
version: 0.
|
147
|
+
version: 0.3.0
|
138
148
|
type: :development
|
139
|
-
prerelease: false
|
140
149
|
version_requirements: *id008
|
141
150
|
- !ruby/object:Gem::Dependency
|
142
151
|
name: emitter
|
152
|
+
prerelease: false
|
143
153
|
requirement: &id009 !ruby/object:Gem::Requirement
|
144
154
|
none: false
|
145
155
|
requirements:
|
146
156
|
- - ~>
|
147
157
|
- !ruby/object:Gem::Version
|
158
|
+
hash: 21
|
148
159
|
segments:
|
149
160
|
- 0
|
161
|
+
- 2
|
150
162
|
- 1
|
151
|
-
|
152
|
-
version: 0.1.7
|
163
|
+
version: 0.2.1
|
153
164
|
type: :runtime
|
154
|
-
prerelease: false
|
155
165
|
version_requirements: *id009
|
156
166
|
description: A software model in Ruby for the greenhouse gas emissions of a bus trip
|
157
167
|
email: andy@rossmeissl.net
|
@@ -188,7 +198,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
188
198
|
requirements:
|
189
199
|
- - ">="
|
190
200
|
- !ruby/object:Gem::Version
|
191
|
-
hash:
|
201
|
+
hash: 3
|
192
202
|
segments:
|
193
203
|
- 0
|
194
204
|
version: "0"
|
@@ -197,6 +207,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
197
207
|
requirements:
|
198
208
|
- - ">="
|
199
209
|
- !ruby/object:Gem::Version
|
210
|
+
hash: 3
|
200
211
|
segments:
|
201
212
|
- 0
|
202
213
|
version: "0"
|