earth 0.4.2 → 0.4.3

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.
@@ -4,8 +4,8 @@ require "earth/version"
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "earth"
7
- s.version = Earth::VERSION
8
- s.date = "2011-02-21"
7
+ s.version = "0.4.3"
8
+ s.date = "2011-02-25"
9
9
  s.platform = Gem::Platform::RUBY
10
10
  s.authors = ["Seamus Abshere", "Derek Kastner", "Andy Rossmeissl"]
11
11
  s.email = %q{andy@rossmeissl.net}
@@ -12,6 +12,18 @@ class AutomobileFuel < ActiveRecord::Base
12
12
  belongs_to :blend_fuel, :class_name => 'Fuel', :foreign_key => 'blend_fuel_name'
13
13
 
14
14
  class << self
15
+ def fallback_latest_type_fuel_year_ages
16
+ AutomobileTypeFuelYearAge.where(:year => AutomobileTypeFuelYearAge.maximum('year'))
17
+ end
18
+
19
+ def fallback_annual_distance
20
+ fallback_latest_type_fuel_year_ages.weighted_average(:annual_distance, :weighted_by => :vehicles)
21
+ end
22
+
23
+ def fallback_annual_distance_units
24
+ fallback_latest_type_fuel_year_ages.first.annual_distance_units
25
+ end
26
+
15
27
  def fallback_blend_portion
16
28
  latest_year = AutomobileTypeFuelYear.maximum('year')
17
29
  gas_use = AutomobileTypeFuelYear.where(:year => latest_year, :fuel_common_name => 'gasoline').sum('fuel_consumption')
@@ -19,6 +31,15 @@ class AutomobileFuel < ActiveRecord::Base
19
31
  diesel_use / (gas_use + diesel_use)
20
32
  end
21
33
 
34
+ def fallback_annual_distance
35
+ (AutomobileFuel.find_by_code("R").annual_distance * (1 - AutomobileFuel.fallback_blend_portion)) +
36
+ (AutomobileFuel.find_by_code("D").annual_distance * AutomobileFuel.fallback_blend_portion)
37
+ end
38
+
39
+ def fallback_annual_distance_units
40
+ AutomobileFuel.find_by_code("R").annual_distance_units
41
+ end
42
+
22
43
  def fallback_co2_emission_factor
23
44
  (Fuel.find_by_name("Motor Gasoline").co2_emission_factor * (1 - AutomobileFuel.fallback_blend_portion)) +
24
45
  (Fuel.find_by_name("Distillate Fuel Oil No. 2").co2_emission_factor * AutomobileFuel.fallback_blend_portion)
@@ -72,7 +93,10 @@ class AutomobileFuel < ActiveRecord::Base
72
93
  end
73
94
  end
74
95
 
75
- falls_back_on :co2_emission_factor => lambda { AutomobileFuel.fallback_co2_emission_factor },
96
+ falls_back_on :name => 'fallback',
97
+ :annual_distance => lambda { AutomobileFuel.fallback_annual_distance },
98
+ :annual_distance_units => lambda { AutomobileFuel.fallback_annual_distance_units },
99
+ :co2_emission_factor => lambda { AutomobileFuel.fallback_co2_emission_factor },
76
100
  :co2_emission_factor_units => lambda { AutomobileFuel.fallback_co2_emission_factor_units },
77
101
  :co2_biogenic_emission_factor => lambda { AutomobileFuel.fallback_co2_biogenic_emission_factor },
78
102
  :co2_biogenic_emission_factor_units => lambda { AutomobileFuel.fallback_co2_biogenic_emission_factor_units },
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: earth
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 9
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 4
8
- - 2
9
- version: 0.4.2
9
+ - 3
10
+ version: 0.4.3
10
11
  platform: ruby
11
12
  authors:
12
13
  - Seamus Abshere
@@ -16,168 +17,179 @@ autorequire:
16
17
  bindir: bin
17
18
  cert_chain: []
18
19
 
19
- date: 2011-02-21 00:00:00 -05:00
20
+ date: 2011-02-25 00:00:00 -08:00
20
21
  default_executable:
21
22
  dependencies:
22
23
  - !ruby/object:Gem::Dependency
23
- name: activerecord
24
- requirement: &id001 !ruby/object:Gem::Requirement
24
+ prerelease: false
25
+ version_requirements: &id001 !ruby/object:Gem::Requirement
25
26
  none: false
26
27
  requirements:
27
28
  - - ~>
28
29
  - !ruby/object:Gem::Version
30
+ hash: 5
29
31
  segments:
30
32
  - 3
31
33
  version: "3"
34
+ requirement: *id001
35
+ name: activerecord
32
36
  type: :runtime
33
- prerelease: false
34
- version_requirements: *id001
35
37
  - !ruby/object:Gem::Dependency
36
- name: data_miner
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
+ prerelease: false
39
+ version_requirements: &id002 !ruby/object:Gem::Requirement
38
40
  none: false
39
41
  requirements:
40
42
  - - ~>
41
43
  - !ruby/object:Gem::Version
44
+ hash: 17
42
45
  segments:
43
46
  - 1
44
47
  - 1
45
48
  - 1
46
49
  version: 1.1.1
50
+ requirement: *id002
51
+ name: data_miner
47
52
  type: :runtime
48
- prerelease: false
49
- version_requirements: *id002
50
53
  - !ruby/object:Gem::Dependency
51
- name: errata
52
- requirement: &id003 !ruby/object:Gem::Requirement
54
+ prerelease: false
55
+ version_requirements: &id003 !ruby/object:Gem::Requirement
53
56
  none: false
54
57
  requirements:
55
58
  - - ">="
56
59
  - !ruby/object:Gem::Version
60
+ hash: 3
57
61
  segments:
58
62
  - 0
59
63
  version: "0"
64
+ requirement: *id003
65
+ name: errata
60
66
  type: :runtime
61
- prerelease: false
62
- version_requirements: *id003
63
67
  - !ruby/object:Gem::Dependency
64
- name: falls_back_on
65
- requirement: &id004 !ruby/object:Gem::Requirement
68
+ prerelease: false
69
+ version_requirements: &id004 !ruby/object:Gem::Requirement
66
70
  none: false
67
71
  requirements:
68
72
  - - ">="
69
73
  - !ruby/object:Gem::Version
74
+ hash: 25
70
75
  segments:
71
76
  - 0
72
77
  - 0
73
78
  - 3
74
79
  version: 0.0.3
80
+ requirement: *id004
81
+ name: falls_back_on
75
82
  type: :runtime
76
- prerelease: false
77
- version_requirements: *id004
78
83
  - !ruby/object:Gem::Dependency
79
- name: geokit
80
- requirement: &id005 !ruby/object:Gem::Requirement
84
+ prerelease: false
85
+ version_requirements: &id005 !ruby/object:Gem::Requirement
81
86
  none: false
82
87
  requirements:
83
88
  - - ">="
84
89
  - !ruby/object:Gem::Version
90
+ hash: 3
85
91
  segments:
86
92
  - 1
87
93
  - 5
88
94
  - 0
89
95
  version: 1.5.0
96
+ requirement: *id005
97
+ name: geokit
90
98
  type: :runtime
91
- prerelease: false
92
- version_requirements: *id005
93
99
  - !ruby/object:Gem::Dependency
94
- name: geokit-rails
95
- requirement: &id006 !ruby/object:Gem::Requirement
100
+ prerelease: false
101
+ version_requirements: &id006 !ruby/object:Gem::Requirement
96
102
  none: false
97
103
  requirements:
98
104
  - - ">="
99
105
  - !ruby/object:Gem::Version
106
+ hash: 3
100
107
  segments:
101
108
  - 0
102
109
  version: "0"
110
+ requirement: *id006
111
+ name: geokit-rails
103
112
  type: :runtime
104
- prerelease: false
105
- version_requirements: *id006
106
113
  - !ruby/object:Gem::Dependency
107
- name: cohort_scope
108
- requirement: &id007 !ruby/object:Gem::Requirement
114
+ prerelease: false
115
+ version_requirements: &id007 !ruby/object:Gem::Requirement
109
116
  none: false
110
117
  requirements:
111
118
  - - ">="
112
119
  - !ruby/object:Gem::Version
120
+ hash: 17
113
121
  segments:
114
122
  - 0
115
123
  - 0
116
124
  - 7
117
125
  version: 0.0.7
126
+ requirement: *id007
127
+ name: cohort_scope
118
128
  type: :runtime
119
- prerelease: false
120
- version_requirements: *id007
121
129
  - !ruby/object:Gem::Dependency
122
- name: conversions
123
- requirement: &id008 !ruby/object:Gem::Requirement
130
+ prerelease: false
131
+ version_requirements: &id008 !ruby/object:Gem::Requirement
124
132
  none: false
125
133
  requirements:
126
134
  - - ">="
127
135
  - !ruby/object:Gem::Version
136
+ hash: 13
128
137
  segments:
129
138
  - 1
130
139
  - 4
131
140
  - 5
132
141
  version: 1.4.5
142
+ requirement: *id008
143
+ name: conversions
133
144
  type: :runtime
134
- prerelease: false
135
- version_requirements: *id008
136
145
  - !ruby/object:Gem::Dependency
137
- name: weighted_average
138
- requirement: &id009 !ruby/object:Gem::Requirement
146
+ prerelease: false
147
+ version_requirements: &id009 !ruby/object:Gem::Requirement
139
148
  none: false
140
149
  requirements:
141
150
  - - ">="
142
151
  - !ruby/object:Gem::Version
152
+ hash: 23
143
153
  segments:
144
154
  - 0
145
155
  - 0
146
156
  - 4
147
157
  version: 0.0.4
158
+ requirement: *id009
159
+ name: weighted_average
148
160
  type: :runtime
149
- prerelease: false
150
- version_requirements: *id009
151
161
  - !ruby/object:Gem::Dependency
152
- name: loose_tight_dictionary
153
- requirement: &id010 !ruby/object:Gem::Requirement
162
+ prerelease: false
163
+ version_requirements: &id010 !ruby/object:Gem::Requirement
154
164
  none: false
155
165
  requirements:
156
166
  - - ">="
157
167
  - !ruby/object:Gem::Version
168
+ hash: 15
158
169
  segments:
159
170
  - 0
160
171
  - 0
161
172
  - 8
162
173
  version: 0.0.8
174
+ requirement: *id010
175
+ name: loose_tight_dictionary
163
176
  type: :runtime
164
- prerelease: false
165
- version_requirements: *id010
166
177
  - !ruby/object:Gem::Dependency
167
- name: sniff
168
- requirement: &id011 !ruby/object:Gem::Requirement
178
+ prerelease: false
179
+ version_requirements: &id011 !ruby/object:Gem::Requirement
169
180
  none: false
170
181
  requirements:
171
182
  - - ~>
172
183
  - !ruby/object:Gem::Version
184
+ hash: 5
173
185
  segments:
174
186
  - 0
175
187
  - 6
176
188
  - 1
177
189
  version: 0.6.1
190
+ requirement: *id011
191
+ name: sniff
178
192
  type: :development
179
- prerelease: false
180
- version_requirements: *id011
181
193
  description: An earth-simulation environment with ActiveRecord models and data
182
194
  email: andy@rossmeissl.net
183
195
  executables: []
@@ -532,7 +544,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
532
544
  requirements:
533
545
  - - ">="
534
546
  - !ruby/object:Gem::Version
535
- hash: 3351943495966616780
547
+ hash: 3
536
548
  segments:
537
549
  - 0
538
550
  version: "0"
@@ -541,7 +553,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
541
553
  requirements:
542
554
  - - ">="
543
555
  - !ruby/object:Gem::Version
544
- hash: 3351943495966616780
556
+ hash: 3
545
557
  segments:
546
558
  - 0
547
559
  version: "0"