emitter 0.0.1 → 0.0.2
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/lib/emitter.rb +33 -9
- metadata +95 -94
data/lib/emitter.rb
CHANGED
@@ -1,21 +1,45 @@
|
|
1
|
+
require 'cohort_scope'
|
2
|
+
require 'falls_back_on'
|
3
|
+
require 'falls_back_on/active_record_ext'
|
4
|
+
# sabshere 8/15/10 why aren't these required here?
|
5
|
+
# require 'characterizable'
|
6
|
+
# require 'leap'
|
7
|
+
# require 'weighted_average'
|
8
|
+
|
1
9
|
module BrighterPlanet
|
2
10
|
module Emitter
|
3
11
|
def included(base)
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
require 'falls_back_on/active_record_ext'
|
12
|
+
base.extend ClassMethods
|
13
|
+
base.extend AssociationClassMethods if base.respond_to? :reflect_on_all_associations
|
14
|
+
|
15
|
+
emitter_klass = self.to_s.split('::').last.underscore
|
9
16
|
|
10
|
-
require "#{emitter_klass
|
11
|
-
require "#{emitter_klass
|
12
|
-
require "#{emitter_klass
|
13
|
-
require "#{emitter_klass
|
17
|
+
require "#{emitter_klass}/carbon_model"
|
18
|
+
require "#{emitter_klass}/characterization"
|
19
|
+
require "#{emitter_klass}/data"
|
20
|
+
require "#{emitter_klass}/summarization"
|
14
21
|
|
15
22
|
base.send :include, const_get('CarbonModel')
|
16
23
|
base.send :include, const_get('Characterization')
|
17
24
|
base.send :include, const_get('Data')
|
18
25
|
base.send :include, const_get('Summarization')
|
19
26
|
end
|
27
|
+
|
28
|
+
module ClassMethods
|
29
|
+
def add_implicit_characteristics
|
30
|
+
decisions[:emission].committees.map(&:name).reject { |c| characteristics.keys.unshift(:emission).include? c }.each do |c|
|
31
|
+
characterize { has c }
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
module AssociationClassMethods
|
37
|
+
def run_data_miner_on_belongs_to_associations
|
38
|
+
reflect_on_all_associations(:belongs_to).each do |a|
|
39
|
+
next if a.options[:polymorphic]
|
40
|
+
a.klass.run_data_miner!
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
20
44
|
end
|
21
45
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: emitter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Andy Rossmeissl
|
@@ -19,17 +19,16 @@ autorequire:
|
|
19
19
|
bindir: bin
|
20
20
|
cert_chain: []
|
21
21
|
|
22
|
-
date: 2010-08-
|
22
|
+
date: 2010-08-15 00:00:00 -04:00
|
23
23
|
default_executable:
|
24
24
|
dependencies:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
|
-
type: :development
|
27
|
-
prerelease: false
|
28
26
|
name: activerecord
|
29
|
-
|
27
|
+
prerelease: false
|
28
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
30
29
|
none: false
|
31
30
|
requirements:
|
32
|
-
- - "
|
31
|
+
- - ">="
|
33
32
|
- !ruby/object:Gem::Version
|
34
33
|
hash: -1848230024
|
35
34
|
segments:
|
@@ -38,12 +37,12 @@ dependencies:
|
|
38
37
|
- 0
|
39
38
|
- beta4
|
40
39
|
version: 3.0.0.beta4
|
41
|
-
requirement: *id001
|
42
|
-
- !ruby/object:Gem::Dependency
|
43
40
|
type: :development
|
44
|
-
|
41
|
+
version_requirements: *id001
|
42
|
+
- !ruby/object:Gem::Dependency
|
45
43
|
name: bundler
|
46
|
-
|
44
|
+
prerelease: false
|
45
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
47
46
|
none: false
|
48
47
|
requirements:
|
49
48
|
- - ">="
|
@@ -56,15 +55,15 @@ dependencies:
|
|
56
55
|
- beta
|
57
56
|
- 2
|
58
57
|
version: 1.0.0.beta.2
|
59
|
-
requirement: *id002
|
60
|
-
- !ruby/object:Gem::Dependency
|
61
58
|
type: :development
|
62
|
-
|
59
|
+
version_requirements: *id002
|
60
|
+
- !ruby/object:Gem::Dependency
|
63
61
|
name: jeweler
|
64
|
-
|
62
|
+
prerelease: false
|
63
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
65
64
|
none: false
|
66
65
|
requirements:
|
67
|
-
- - "
|
66
|
+
- - ">="
|
68
67
|
- !ruby/object:Gem::Version
|
69
68
|
hash: 7
|
70
69
|
segments:
|
@@ -72,12 +71,12 @@ dependencies:
|
|
72
71
|
- 4
|
73
72
|
- 0
|
74
73
|
version: 1.4.0
|
75
|
-
requirement: *id003
|
76
|
-
- !ruby/object:Gem::Dependency
|
77
74
|
type: :development
|
78
|
-
|
75
|
+
version_requirements: *id003
|
76
|
+
- !ruby/object:Gem::Dependency
|
79
77
|
name: rake
|
80
|
-
|
78
|
+
prerelease: false
|
79
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
81
80
|
none: false
|
82
81
|
requirements:
|
83
82
|
- - ">="
|
@@ -86,12 +85,12 @@ dependencies:
|
|
86
85
|
segments:
|
87
86
|
- 0
|
88
87
|
version: "0"
|
89
|
-
requirement: *id004
|
90
|
-
- !ruby/object:Gem::Dependency
|
91
88
|
type: :development
|
92
|
-
|
89
|
+
version_requirements: *id004
|
90
|
+
- !ruby/object:Gem::Dependency
|
93
91
|
name: rdoc
|
94
|
-
|
92
|
+
prerelease: false
|
93
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
95
94
|
none: false
|
96
95
|
requirements:
|
97
96
|
- - ">="
|
@@ -100,15 +99,15 @@ dependencies:
|
|
100
99
|
segments:
|
101
100
|
- 0
|
102
101
|
version: "0"
|
103
|
-
requirement: *id005
|
104
|
-
- !ruby/object:Gem::Dependency
|
105
102
|
type: :development
|
106
|
-
|
103
|
+
version_requirements: *id005
|
104
|
+
- !ruby/object:Gem::Dependency
|
107
105
|
name: rspec
|
108
|
-
|
106
|
+
prerelease: false
|
107
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
109
108
|
none: false
|
110
109
|
requirements:
|
111
|
-
- - "
|
110
|
+
- - ">="
|
112
111
|
- !ruby/object:Gem::Version
|
113
112
|
hash: 62196417
|
114
113
|
segments:
|
@@ -118,15 +117,15 @@ dependencies:
|
|
118
117
|
- beta
|
119
118
|
- 17
|
120
119
|
version: 2.0.0.beta.17
|
121
|
-
|
120
|
+
type: :development
|
121
|
+
version_requirements: *id006
|
122
122
|
- !ruby/object:Gem::Dependency
|
123
|
-
type: :runtime
|
124
|
-
prerelease: false
|
125
123
|
name: activesupport
|
126
|
-
|
124
|
+
prerelease: false
|
125
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
127
126
|
none: false
|
128
127
|
requirements:
|
129
|
-
- - "
|
128
|
+
- - ">="
|
130
129
|
- !ruby/object:Gem::Version
|
131
130
|
hash: -1848230024
|
132
131
|
segments:
|
@@ -135,31 +134,31 @@ dependencies:
|
|
135
134
|
- 0
|
136
135
|
- beta4
|
137
136
|
version: 3.0.0.beta4
|
138
|
-
requirement: *id007
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
137
|
type: :runtime
|
141
|
-
|
138
|
+
version_requirements: *id007
|
139
|
+
- !ruby/object:Gem::Dependency
|
142
140
|
name: characterizable
|
143
|
-
|
141
|
+
prerelease: false
|
142
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
144
143
|
none: false
|
145
144
|
requirements:
|
146
145
|
- - ">="
|
147
146
|
- !ruby/object:Gem::Version
|
148
|
-
hash:
|
147
|
+
hash: 63
|
149
148
|
segments:
|
150
149
|
- 0
|
151
150
|
- 0
|
152
|
-
-
|
153
|
-
version: 0.0.
|
154
|
-
requirement: *id008
|
155
|
-
- !ruby/object:Gem::Dependency
|
151
|
+
- 16
|
152
|
+
version: 0.0.16
|
156
153
|
type: :runtime
|
157
|
-
|
154
|
+
version_requirements: *id008
|
155
|
+
- !ruby/object:Gem::Dependency
|
158
156
|
name: data_miner
|
159
|
-
|
157
|
+
prerelease: false
|
158
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
160
159
|
none: false
|
161
160
|
requirements:
|
162
|
-
- - "
|
161
|
+
- - ">="
|
163
162
|
- !ruby/object:Gem::Version
|
164
163
|
hash: 15
|
165
164
|
segments:
|
@@ -167,31 +166,31 @@ dependencies:
|
|
167
166
|
- 5
|
168
167
|
- 2
|
169
168
|
version: 0.5.2
|
170
|
-
requirement: *id009
|
171
|
-
- !ruby/object:Gem::Dependency
|
172
169
|
type: :runtime
|
173
|
-
|
170
|
+
version_requirements: *id009
|
171
|
+
- !ruby/object:Gem::Dependency
|
174
172
|
name: earth
|
175
|
-
|
173
|
+
prerelease: false
|
174
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
176
175
|
none: false
|
177
176
|
requirements:
|
178
177
|
- - ">="
|
179
178
|
- !ruby/object:Gem::Version
|
180
|
-
hash:
|
179
|
+
hash: 53
|
181
180
|
segments:
|
182
181
|
- 0
|
183
182
|
- 0
|
184
|
-
-
|
185
|
-
version: 0.0.
|
186
|
-
requirement: *id010
|
187
|
-
- !ruby/object:Gem::Dependency
|
183
|
+
- 21
|
184
|
+
version: 0.0.21
|
188
185
|
type: :runtime
|
189
|
-
|
186
|
+
version_requirements: *id010
|
187
|
+
- !ruby/object:Gem::Dependency
|
190
188
|
name: falls_back_on
|
191
|
-
|
189
|
+
prerelease: false
|
190
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
192
191
|
none: false
|
193
192
|
requirements:
|
194
|
-
- - "
|
193
|
+
- - ">="
|
195
194
|
- !ruby/object:Gem::Version
|
196
195
|
hash: 27
|
197
196
|
segments:
|
@@ -199,15 +198,15 @@ dependencies:
|
|
199
198
|
- 0
|
200
199
|
- 2
|
201
200
|
version: 0.0.2
|
202
|
-
requirement: *id011
|
203
|
-
- !ruby/object:Gem::Dependency
|
204
201
|
type: :runtime
|
205
|
-
|
202
|
+
version_requirements: *id011
|
203
|
+
- !ruby/object:Gem::Dependency
|
206
204
|
name: fast_timestamp
|
207
|
-
|
205
|
+
prerelease: false
|
206
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
208
207
|
none: false
|
209
208
|
requirements:
|
210
|
-
- - "
|
209
|
+
- - ">="
|
211
210
|
- !ruby/object:Gem::Version
|
212
211
|
hash: 23
|
213
212
|
segments:
|
@@ -215,31 +214,31 @@ dependencies:
|
|
215
214
|
- 0
|
216
215
|
- 4
|
217
216
|
version: 0.0.4
|
218
|
-
requirement: *id012
|
219
|
-
- !ruby/object:Gem::Dependency
|
220
217
|
type: :runtime
|
221
|
-
|
218
|
+
version_requirements: *id012
|
219
|
+
- !ruby/object:Gem::Dependency
|
222
220
|
name: leap
|
223
|
-
|
221
|
+
prerelease: false
|
222
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
224
223
|
none: false
|
225
224
|
requirements:
|
226
225
|
- - ">="
|
227
226
|
- !ruby/object:Gem::Version
|
228
|
-
hash:
|
227
|
+
hash: 9
|
229
228
|
segments:
|
230
229
|
- 0
|
231
230
|
- 4
|
232
|
-
-
|
233
|
-
version: 0.4.
|
234
|
-
requirement: *id013
|
235
|
-
- !ruby/object:Gem::Dependency
|
231
|
+
- 3
|
232
|
+
version: 0.4.3
|
236
233
|
type: :runtime
|
237
|
-
|
234
|
+
version_requirements: *id013
|
235
|
+
- !ruby/object:Gem::Dependency
|
238
236
|
name: summary_judgement
|
239
|
-
|
237
|
+
prerelease: false
|
238
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
240
239
|
none: false
|
241
240
|
requirements:
|
242
|
-
- - "
|
241
|
+
- - ">="
|
243
242
|
- !ruby/object:Gem::Version
|
244
243
|
hash: 11
|
245
244
|
segments:
|
@@ -247,15 +246,15 @@ dependencies:
|
|
247
246
|
- 3
|
248
247
|
- 8
|
249
248
|
version: 1.3.8
|
250
|
-
requirement: *id014
|
251
|
-
- !ruby/object:Gem::Dependency
|
252
249
|
type: :runtime
|
253
|
-
|
250
|
+
version_requirements: *id014
|
251
|
+
- !ruby/object:Gem::Dependency
|
254
252
|
name: timeframe
|
255
|
-
|
253
|
+
prerelease: false
|
254
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
256
255
|
none: false
|
257
256
|
requirements:
|
258
|
-
- - "
|
257
|
+
- - ">="
|
259
258
|
- !ruby/object:Gem::Version
|
260
259
|
hash: 15
|
261
260
|
segments:
|
@@ -263,15 +262,15 @@ dependencies:
|
|
263
262
|
- 0
|
264
263
|
- 8
|
265
264
|
version: 0.0.8
|
266
|
-
requirement: *id015
|
267
|
-
- !ruby/object:Gem::Dependency
|
268
265
|
type: :runtime
|
269
|
-
|
266
|
+
version_requirements: *id015
|
267
|
+
- !ruby/object:Gem::Dependency
|
270
268
|
name: weighted_average
|
271
|
-
|
269
|
+
prerelease: false
|
270
|
+
requirement: &id016 !ruby/object:Gem::Requirement
|
272
271
|
none: false
|
273
272
|
requirements:
|
274
|
-
- - "
|
273
|
+
- - ">="
|
275
274
|
- !ruby/object:Gem::Version
|
276
275
|
hash: 23
|
277
276
|
segments:
|
@@ -279,22 +278,24 @@ dependencies:
|
|
279
278
|
- 0
|
280
279
|
- 4
|
281
280
|
version: 0.0.4
|
282
|
-
requirement: *id016
|
283
|
-
- !ruby/object:Gem::Dependency
|
284
281
|
type: :runtime
|
285
|
-
|
282
|
+
version_requirements: *id016
|
283
|
+
- !ruby/object:Gem::Dependency
|
286
284
|
name: cohort_scope
|
287
|
-
|
285
|
+
prerelease: false
|
286
|
+
requirement: &id017 !ruby/object:Gem::Requirement
|
288
287
|
none: false
|
289
288
|
requirements:
|
290
|
-
- -
|
289
|
+
- - ">="
|
291
290
|
- !ruby/object:Gem::Version
|
292
|
-
hash:
|
291
|
+
hash: 19
|
293
292
|
segments:
|
294
293
|
- 0
|
295
294
|
- 0
|
296
|
-
|
297
|
-
|
295
|
+
- 6
|
296
|
+
version: 0.0.6
|
297
|
+
type: :runtime
|
298
|
+
version_requirements: *id017
|
298
299
|
description: A software model in Ruby for the greenhouse gas emissions
|
299
300
|
email: derek@brighterplanet.com
|
300
301
|
executables: []
|