automobile 0.1.0 → 0.1.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.
@@ -192,20 +192,27 @@ Feature: Automobile Committee Calculations
192
192
  Then the committee should have used quorum "from hybridity multiplier"
193
193
  And the conclusion of the committee should be "8.58025"
194
194
 
195
- Scenario: Annual distance committee from weekly distance and timeframe
195
+ Scenario: Annual distance committee from annual distance estimate
196
196
  Given an automobile emitter
197
- And a characteristic "weekly_distance" of "7"
197
+ And a characteristic "annual_distance_estimate" of "100"
198
+ When the "annual_distance" committee is calculated
199
+ Then the committee should have used quorum "from annual distance estimate"
200
+ And the conclusion of the committee should be "100.0"
201
+
202
+ Scenario: Annual distance committee from weekly distance estimate and timeframe
203
+ Given an automobile emitter
204
+ And a characteristic "weekly_distance_estimate" of "7"
198
205
  And a characteristic "timeframe" of "2010-05-23/2010-11-24"
199
206
  When the "annual_distance" committee is calculated
200
- Then the committee should have used quorum "from weekly distance and timeframe"
207
+ Then the committee should have used quorum "from weekly distance estimate and timeframe"
201
208
  And the conclusion of the committee should be "365.0"
202
209
 
203
- Scenario: Annual distance committee from daily distance and timeframe
210
+ Scenario: Annual distance committee from daily distance estimate and timeframe
204
211
  Given an automobile emitter
205
- And a characteristic "daily_distance" of "2"
212
+ And a characteristic "daily_distance_estimate" of "2"
206
213
  And a characteristic "timeframe" of "2010-05-23/2010-11-24"
207
214
  When the "annual_distance" committee is calculated
208
- Then the committee should have used quorum "from daily distance and timeframe"
215
+ Then the committee should have used quorum "from daily distance estimate and timeframe"
209
216
  And the conclusion of the committee should be "730.0"
210
217
 
211
218
  Scenario: Annual distance committee from daily duration, speed and timeframe
@@ -35,12 +35,12 @@ Feature: Automobile Emissions Calculations
35
35
  | false | 5564.02 |
36
36
 
37
37
  Scenario: Calculation with multiple distance estimates
38
- Given an automobile has "annual_distance_estimate" of "33796.2"
39
- And it has "daily_duration" of "3.0"
40
- And it has "timeframe" of "2010-01-01/2011-01-01"
41
- And it has "weekly_distance_estimate" of "804.672"
38
+ Given an automobile has "daily_duration" of "5"
39
+ And it has "daily_distance_estimate" of "10"
40
+ And it has "weekly_distance_estimate" of "100"
41
+ And it has "annual_distance_estimate" of "1000"
42
42
  When emissions are calculated
43
- Then the emission value should be within "0.1" kgs of "9808.1"
43
+ Then the emission value should be within "0.1" kgs of "290.21"
44
44
 
45
45
  Scenario: Automobile emission from urbanity
46
46
  Given an automobile has "urbanity" of "0.5"
@@ -61,18 +61,18 @@ Feature: Automobile Emissions Calculations
61
61
  When emissions are calculated
62
62
  Then the emission value should be within "0.01" kgs of "2368.20"
63
63
 
64
- Scenario: Automobile emission from annual distance
65
- Given an automobile has "annual_distance" of "1000"
64
+ Scenario: Automobile emission from annual distance estimate
65
+ Given an automobile has "annual_distance_estimate" of "1000"
66
66
  When emissions are calculated
67
67
  Then the emission value should be within "0.01" kgs of "290.21"
68
68
 
69
- Scenario: Automobile emission from weekly distance
70
- Given an automobile has "weekly_distance" of "100"
69
+ Scenario: Automobile emission from weekly distance estimate
70
+ Given an automobile has "weekly_distance_estimate" of "100"
71
71
  When emissions are calculated
72
72
  Then the emission value should be within "0.01" kgs of "1513.26"
73
73
 
74
- Scenario: Automobile emission from daily distance
75
- Given an automobile has "daily_distance" of "10"
74
+ Scenario: Automobile emission from daily distance estimate
75
+ Given an automobile has "daily_distance_estimate" of "10"
76
76
  When emissions are calculated
77
77
  Then the emission value should be within "0.01" kgs of "1059.28"
78
78
 
@@ -100,25 +100,28 @@ module BrighterPlanet
100
100
  # This is the distance the automobile would travel if it were in use for the entire calendar year in which the `timeframe` falls.
101
101
  # Note that if either `acquisition` or `retirement` occurs during the calendar year in which the `timeframe` falls then `annual distance` will be MORE THAN the distance the automobile actually travelled during that calendar year.
102
102
  committee :annual_distance do
103
- #### Annual distance from client input
104
- # **Complies:** All
103
+ #### Annual distance from annual distance estimate
104
+ # **Complies:** GHG Protocol, ISO 14064-1
105
105
  #
106
- # Uses the client-input `annual distance` (*km*).
106
+ # Uses the `annual distance estimate` (*km*).
107
+ quorum 'from annual distance estimate', :needs => :annual_distance_estimate, :complies => [:ghg_protocol, :iso] do |characteristics|
108
+ characteristics[:annual_distance_estimate]
109
+ end
107
110
 
108
111
  #### Annual distance from weekly distance
109
112
  # **Complies:** GHG Protocol, ISO 14064-1
110
113
  #
111
- # Divides the `weekly distance` (*km*) by 7 and multiplies by the number of days in the calendar year in which the `timeframe` falls.
112
- quorum 'from weekly distance and timeframe', :needs => :weekly_distance, :complies => [:ghg_protocol, :iso] do |characteristics, timeframe|
113
- (characteristics[:weekly_distance] / 7 ) * timeframe.year.days
114
+ # Divides the `weekly distance estimate` (*km*) by 7 and multiplies by the number of days in the calendar year in which the `timeframe` falls.
115
+ quorum 'from weekly distance estimate and timeframe', :needs => :weekly_distance_estimate, :complies => [:ghg_protocol, :iso] do |characteristics, timeframe|
116
+ (characteristics[:weekly_distance_estimate] / 7 ) * timeframe.year.days
114
117
  end
115
118
 
116
119
  #### Annual distance from daily distance
117
120
  # **Complies:** GHG Protocol, ISO 14064-1
118
121
  #
119
- # Multiplies the `daily distance` (*km*) by the number of days in the calendar year in which the `timeframe` falls.
120
- quorum 'from daily distance and timeframe', :needs => :daily_distance, :complies => [:ghg_protocol, :iso] do |characteristics, timeframe|
121
- characteristics[:daily_distance] * timeframe.year.days
122
+ # Multiplies the `daily distance estimate` (*km*) by the number of days in the calendar year in which the `timeframe` falls.
123
+ quorum 'from daily distance estimate and timeframe', :needs => :daily_distance_estimate, :complies => [:ghg_protocol, :iso] do |characteristics, timeframe|
124
+ characteristics[:daily_distance_estimate] * timeframe.year.days
122
125
  end
123
126
 
124
127
  #### Annual distance from daily duration and speed
@@ -155,12 +158,16 @@ module BrighterPlanet
155
158
  end
156
159
  end
157
160
 
158
- ### Weekly distance calculation
159
- # Returns the client-input `weekly distance` (*km*).
161
+ ### Annual distance estimate calculation
162
+ # Returns the client-input `annual distance estimate` (*km*).
163
+ # This is the average distance the automobile travels each week.
164
+
165
+ ### Weekly distance estimate calculation
166
+ # Returns the client-input `weekly distance estimate` (*km*).
160
167
  # This is the average distance the automobile travels each week.
161
168
 
162
- ### Daily distance calculation
163
- # Returns the client-input `daily distance` (*km*).
169
+ ### Daily distance estimate calculation
170
+ # Returns the client-input `daily distance estimate` (*km*).
164
171
  # This is the average distance the automobile travels each day.
165
172
 
166
173
  ### Daily duration calculation
@@ -21,9 +21,9 @@ module BrighterPlanet
21
21
  has :urbanity
22
22
  has :hybridity
23
23
  has :fuel_efficiency
24
- has :annual_distance
25
- has :weekly_distance
26
- has :daily_distance
24
+ has :annual_distance_estimate
25
+ has :weekly_distance_estimate
26
+ has :daily_distance_estimate
27
27
  has :daily_duration
28
28
  has :acquisition
29
29
  has :retirement
@@ -14,9 +14,9 @@ module BrighterPlanet
14
14
  boolean 'hybridity'
15
15
  float 'urbanity'
16
16
  float 'fuel_efficiency'
17
- float 'annual_distance'
18
- float 'weekly_distance'
19
- float 'daily_distance'
17
+ float 'annual_distance_estimate'
18
+ float 'weekly_distance_estimate'
19
+ float 'daily_distance_estimate'
20
20
  float 'daily_duration'
21
21
  date 'acquisition'
22
22
  date 'retirement'
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: automobile
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 25
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 1
8
- - 0
9
- version: 0.1.0
9
+ - 1
10
+ version: 0.1.1
10
11
  platform: ruby
11
12
  authors:
12
13
  - Andy Rossmeissl
@@ -18,102 +19,110 @@ autorequire:
18
19
  bindir: bin
19
20
  cert_chain: []
20
21
 
21
- date: 2010-11-19 00:00:00 -05:00
22
+ date: 2010-11-22 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: 23
46
50
  segments:
47
51
  - 1
48
52
  - 0
49
53
  - 0
50
54
  version: 1.0.0
51
55
  type: :development
52
- prerelease: false
53
56
  version_requirements: *id002
54
57
  - !ruby/object:Gem::Dependency
55
58
  name: cucumber
59
+ prerelease: false
56
60
  requirement: &id003 !ruby/object:Gem::Requirement
57
61
  none: false
58
62
  requirements:
59
63
  - - ~>
60
64
  - !ruby/object:Gem::Version
65
+ hash: 57
61
66
  segments:
62
67
  - 0
63
68
  - 8
64
69
  - 3
65
70
  version: 0.8.3
66
71
  type: :development
67
- prerelease: false
68
72
  version_requirements: *id003
69
73
  - !ruby/object:Gem::Dependency
70
74
  name: jeweler
75
+ prerelease: false
71
76
  requirement: &id004 !ruby/object:Gem::Requirement
72
77
  none: false
73
78
  requirements:
74
79
  - - ~>
75
80
  - !ruby/object:Gem::Version
81
+ hash: 7
76
82
  segments:
77
83
  - 1
78
84
  - 4
79
85
  - 0
80
86
  version: 1.4.0
81
87
  type: :development
82
- prerelease: false
83
88
  version_requirements: *id004
84
89
  - !ruby/object:Gem::Dependency
85
90
  name: rake
91
+ prerelease: false
86
92
  requirement: &id005 !ruby/object:Gem::Requirement
87
93
  none: false
88
94
  requirements:
89
95
  - - ">="
90
96
  - !ruby/object:Gem::Version
97
+ hash: 3
91
98
  segments:
92
99
  - 0
93
100
  version: "0"
94
101
  type: :development
95
- prerelease: false
96
102
  version_requirements: *id005
97
103
  - !ruby/object:Gem::Dependency
98
104
  name: rdoc
105
+ prerelease: false
99
106
  requirement: &id006 !ruby/object:Gem::Requirement
100
107
  none: false
101
108
  requirements:
102
109
  - - ">="
103
110
  - !ruby/object:Gem::Version
111
+ hash: 3
104
112
  segments:
105
113
  - 0
106
114
  version: "0"
107
115
  type: :development
108
- prerelease: false
109
116
  version_requirements: *id006
110
117
  - !ruby/object:Gem::Dependency
111
118
  name: rspec
119
+ prerelease: false
112
120
  requirement: &id007 !ruby/object:Gem::Requirement
113
121
  none: false
114
122
  requirements:
115
123
  - - ~>
116
124
  - !ruby/object:Gem::Version
125
+ hash: 62196417
117
126
  segments:
118
127
  - 2
119
128
  - 0
@@ -122,52 +131,54 @@ dependencies:
122
131
  - 17
123
132
  version: 2.0.0.beta.17
124
133
  type: :development
125
- prerelease: false
126
134
  version_requirements: *id007
127
135
  - !ruby/object:Gem::Dependency
128
136
  name: sniff
137
+ prerelease: false
129
138
  requirement: &id008 !ruby/object:Gem::Requirement
130
139
  none: false
131
140
  requirements:
132
141
  - - ~>
133
142
  - !ruby/object:Gem::Version
143
+ hash: 19
134
144
  segments:
135
145
  - 0
136
146
  - 3
137
147
  - 0
138
148
  version: 0.3.0
139
149
  type: :development
140
- prerelease: false
141
150
  version_requirements: *id008
142
151
  - !ruby/object:Gem::Dependency
143
152
  name: emitter
153
+ prerelease: false
144
154
  requirement: &id009 !ruby/object:Gem::Requirement
145
155
  none: false
146
156
  requirements:
147
157
  - - ~>
148
158
  - !ruby/object:Gem::Version
159
+ hash: 23
149
160
  segments:
150
161
  - 0
151
162
  - 2
152
163
  - 0
153
164
  version: 0.2.0
154
165
  type: :runtime
155
- prerelease: false
156
166
  version_requirements: *id009
157
167
  - !ruby/object:Gem::Dependency
158
168
  name: earth
169
+ prerelease: false
159
170
  requirement: &id010 !ruby/object:Gem::Requirement
160
171
  none: false
161
172
  requirements:
162
173
  - - ~>
163
174
  - !ruby/object:Gem::Version
175
+ hash: 17
164
176
  segments:
165
177
  - 0
166
178
  - 3
167
179
  - 1
168
180
  version: 0.3.1
169
181
  type: :runtime
170
- prerelease: false
171
182
  version_requirements: *id010
172
183
  description: A software model in Ruby for the greenhouse gas emissions of an automobile
173
184
  email: andy@rossmeissl.net
@@ -188,8 +199,8 @@ files:
188
199
  - lib/automobile/summarization.rb
189
200
  - lib/test_support/automobile_record.rb
190
201
  - features/support/env.rb
191
- - features/automobile_emissions.feature
192
202
  - features/automobile_committees.feature
203
+ - features/automobile_emissions.feature
193
204
  has_rdoc: true
194
205
  homepage: http://github.com/brighterplanet/automobile
195
206
  licenses: []
@@ -204,7 +215,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
204
215
  requirements:
205
216
  - - ">="
206
217
  - !ruby/object:Gem::Version
207
- hash: -457516079
218
+ hash: 3
208
219
  segments:
209
220
  - 0
210
221
  version: "0"
@@ -213,6 +224,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
213
224
  requirements:
214
225
  - - ">="
215
226
  - !ruby/object:Gem::Version
227
+ hash: 3
216
228
  segments:
217
229
  - 0
218
230
  version: "0"
@@ -225,6 +237,6 @@ specification_version: 3
225
237
  summary: A carbon model
226
238
  test_files:
227
239
  - features/support/env.rb
228
- - features/automobile_emissions.feature
229
240
  - features/automobile_committees.feature
241
+ - features/automobile_emissions.feature
230
242
  - lib/test_support/automobile_record.rb