bus_trip 0.0.12 → 0.0.13
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/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"
|