flight 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.
@@ -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