flight 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -218,11 +218,16 @@ module BrighterPlanet
218
218
  passengers + flight_segment.passengers
219
219
  end
220
220
 
221
+ bts_codes = flight_segments.map(&:bts_aircraft_type_code).uniq
222
+ relevant_aircraft = Aircraft.find_all_by_bts_aircraft_type_code(bts_codes).inject({}) do |hsh, aircraft|
223
+ hsh[aircraft.bts_aircraft_type_code] = aircraft
224
+ hsh
225
+ end
221
226
  flight_segment_aircraft = flight_segments.inject({}) do |hsh, flight_segment|
222
227
  bts_code = flight_segment.bts_aircraft_type_code
223
228
  key = flight_segment.row_hash
224
- aircraft = Aircraft.find_by_bts_aircraft_type_code bts_code
225
- hsh[key] = aircraft if aircraft
229
+ aircraft = relevant_aircraft[bts_code.to_s]
230
+ hsh[key] = aircraft
226
231
  hsh
227
232
  end
228
233
 
@@ -0,0 +1,12 @@
1
+ module BrighterPlanet
2
+ module Flight
3
+ module Fallback
4
+ def self.included(base)
5
+ base.falls_back_on :aviation_multiplier => 2.0, # from Kolmuss and Crimmins (2009) http://sei-us.org/publications/id/13
6
+ :dogleg_factor => 1.25, # assumed
7
+ :trips => 1.941, # http://www.bts.gov/publications/america_on_the_go/long_distance_transportation_patterns/html/table_07.html
8
+ :segments_per_trip => 1.67 # calculated from http://nhts.ornl.gov/
9
+ end
10
+ end
11
+ end
12
+ end
@@ -7,9 +7,4 @@ class FlightRecord < ActiveRecord::Base
7
7
  include Sniff::Emitter
8
8
  include BrighterPlanet::Flight
9
9
  set_table_name 'flight_records'
10
-
11
- falls_back_on :aviation_multiplier => 2.0, # from Kolmuss and Crimmins (2009) http://sei-us.org/publications/id/13
12
- :dogleg_factor => 1.25, # assumed
13
- :trips => 1.941, # http://www.bts.gov/publications/america_on_the_go/long_distance_transportation_patterns/html/table_07.html
14
- :segments_per_trip => 1.67 # calculated from http://nhts.ornl.gov/
15
10
  end
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flight
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 1
9
- - 0
10
- version: 0.1.0
8
+ - 1
9
+ version: 0.1.1
11
10
  platform: ruby
12
11
  authors:
13
12
  - Andy Rossmeissl
@@ -19,109 +18,100 @@ autorequire:
19
18
  bindir: bin
20
19
  cert_chain: []
21
20
 
22
- date: 2010-10-20 00:00:00 -04:00
21
+ date: 2010-10-28 00:00:00 -04:00
23
22
  default_executable:
24
23
  dependencies:
25
24
  - !ruby/object:Gem::Dependency
26
- type: :development
27
- prerelease: false
28
25
  name: activerecord
29
- version_requirements: &id001 !ruby/object:Gem::Requirement
26
+ requirement: &id001 !ruby/object:Gem::Requirement
30
27
  none: false
31
28
  requirements:
32
29
  - - ~>
33
30
  - !ruby/object:Gem::Version
34
- hash: 7
35
31
  segments:
36
32
  - 3
37
33
  - 0
38
34
  - 0
39
35
  version: 3.0.0
40
- requirement: *id001
41
- - !ruby/object:Gem::Dependency
42
36
  type: :development
43
37
  prerelease: false
38
+ version_requirements: *id001
39
+ - !ruby/object:Gem::Dependency
44
40
  name: bundler
45
- version_requirements: &id002 !ruby/object:Gem::Requirement
41
+ requirement: &id002 !ruby/object:Gem::Requirement
46
42
  none: false
47
43
  requirements:
48
44
  - - ~>
49
45
  - !ruby/object:Gem::Version
50
- hash: 23
51
46
  segments:
52
47
  - 1
53
48
  - 0
54
49
  - 0
55
50
  version: 1.0.0
56
- requirement: *id002
57
- - !ruby/object:Gem::Dependency
58
51
  type: :development
59
52
  prerelease: false
53
+ version_requirements: *id002
54
+ - !ruby/object:Gem::Dependency
60
55
  name: cucumber
61
- version_requirements: &id003 !ruby/object:Gem::Requirement
56
+ requirement: &id003 !ruby/object:Gem::Requirement
62
57
  none: false
63
58
  requirements:
64
59
  - - ">="
65
60
  - !ruby/object:Gem::Version
66
- hash: 3
67
61
  segments:
68
62
  - 0
69
63
  version: "0"
70
- requirement: *id003
71
- - !ruby/object:Gem::Dependency
72
64
  type: :development
73
65
  prerelease: false
66
+ version_requirements: *id003
67
+ - !ruby/object:Gem::Dependency
74
68
  name: jeweler
75
- version_requirements: &id004 !ruby/object:Gem::Requirement
69
+ requirement: &id004 !ruby/object:Gem::Requirement
76
70
  none: false
77
71
  requirements:
78
72
  - - ~>
79
73
  - !ruby/object:Gem::Version
80
- hash: 7
81
74
  segments:
82
75
  - 1
83
76
  - 4
84
77
  - 0
85
78
  version: 1.4.0
86
- requirement: *id004
87
- - !ruby/object:Gem::Dependency
88
79
  type: :development
89
80
  prerelease: false
81
+ version_requirements: *id004
82
+ - !ruby/object:Gem::Dependency
90
83
  name: rake
91
- version_requirements: &id005 !ruby/object:Gem::Requirement
84
+ requirement: &id005 !ruby/object:Gem::Requirement
92
85
  none: false
93
86
  requirements:
94
87
  - - ">="
95
88
  - !ruby/object:Gem::Version
96
- hash: 3
97
89
  segments:
98
90
  - 0
99
91
  version: "0"
100
- requirement: *id005
101
- - !ruby/object:Gem::Dependency
102
92
  type: :development
103
93
  prerelease: false
94
+ version_requirements: *id005
95
+ - !ruby/object:Gem::Dependency
104
96
  name: rdoc
105
- version_requirements: &id006 !ruby/object:Gem::Requirement
97
+ requirement: &id006 !ruby/object:Gem::Requirement
106
98
  none: false
107
99
  requirements:
108
100
  - - ">="
109
101
  - !ruby/object:Gem::Version
110
- hash: 3
111
102
  segments:
112
103
  - 0
113
104
  version: "0"
114
- requirement: *id006
115
- - !ruby/object:Gem::Dependency
116
105
  type: :development
117
106
  prerelease: false
107
+ version_requirements: *id006
108
+ - !ruby/object:Gem::Dependency
118
109
  name: rspec
119
- version_requirements: &id007 !ruby/object:Gem::Requirement
110
+ requirement: &id007 !ruby/object:Gem::Requirement
120
111
  none: false
121
112
  requirements:
122
113
  - - "="
123
114
  - !ruby/object:Gem::Version
124
- hash: 62196417
125
115
  segments:
126
116
  - 2
127
117
  - 0
@@ -129,39 +119,39 @@ dependencies:
129
119
  - beta
130
120
  - 17
131
121
  version: 2.0.0.beta.17
132
- requirement: *id007
133
- - !ruby/object:Gem::Dependency
134
122
  type: :development
135
123
  prerelease: false
124
+ version_requirements: *id007
125
+ - !ruby/object:Gem::Dependency
136
126
  name: sniff
137
- version_requirements: &id008 !ruby/object:Gem::Requirement
127
+ requirement: &id008 !ruby/object:Gem::Requirement
138
128
  none: false
139
129
  requirements:
140
130
  - - ~>
141
131
  - !ruby/object:Gem::Version
142
- hash: 23
143
132
  segments:
144
133
  - 0
145
134
  - 2
146
135
  - 0
147
136
  version: 0.2.0
148
- requirement: *id008
149
- - !ruby/object:Gem::Dependency
150
- type: :runtime
137
+ type: :development
151
138
  prerelease: false
139
+ version_requirements: *id008
140
+ - !ruby/object:Gem::Dependency
152
141
  name: emitter
153
- version_requirements: &id009 !ruby/object:Gem::Requirement
142
+ requirement: &id009 !ruby/object:Gem::Requirement
154
143
  none: false
155
144
  requirements:
156
145
  - - ~>
157
146
  - !ruby/object:Gem::Version
158
- hash: 21
159
147
  segments:
160
148
  - 0
161
149
  - 1
162
- - 7
163
- version: 0.1.7
164
- requirement: *id009
150
+ - 8
151
+ version: 0.1.8
152
+ type: :runtime
153
+ prerelease: false
154
+ version_requirements: *id009
165
155
  description: A software model in Ruby for the greenhouse gas emissions of a flight
166
156
  email: andy@rossmeissl.net
167
157
  executables: []
@@ -179,13 +169,14 @@ files:
179
169
  - lib/flight/carbon_model.rb
180
170
  - lib/flight/characterization.rb
181
171
  - lib/flight/data.rb
172
+ - lib/flight/fallback.rb
182
173
  - lib/flight/relationships.rb
183
174
  - lib/flight/summarization.rb
184
175
  - lib/test_support/flight_record.rb
185
176
  - README.markdown
186
177
  - features/support/env.rb
187
- - features/flight_committees.feature
188
178
  - features/flight_emissions.feature
179
+ - features/flight_committees.feature
189
180
  has_rdoc: true
190
181
  homepage: http://github.com/brighterplanet/flight
191
182
  licenses: []
@@ -200,7 +191,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
200
191
  requirements:
201
192
  - - ">="
202
193
  - !ruby/object:Gem::Version
203
- hash: 3
194
+ hash: -685102193
204
195
  segments:
205
196
  - 0
206
197
  version: "0"
@@ -209,7 +200,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
209
200
  requirements:
210
201
  - - ">="
211
202
  - !ruby/object:Gem::Version
212
- hash: 3
213
203
  segments:
214
204
  - 0
215
205
  version: "0"
@@ -222,6 +212,6 @@ specification_version: 3
222
212
  summary: A carbon model
223
213
  test_files:
224
214
  - features/support/env.rb
225
- - features/flight_committees.feature
226
215
  - features/flight_emissions.feature
216
+ - features/flight_committees.feature
227
217
  - lib/test_support/flight_record.rb