earth 0.3.6 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- earth (0.3.0)
5
- activerecord (>= 3.0.0.beta4)
4
+ earth (0.3.6)
5
+ activerecord (~> 3)
6
6
  cohort_scope (>= 0.0.7)
7
7
  conversions (>= 1.4.5)
8
8
  data_miner (~> 0.5.6)
@@ -29,7 +29,7 @@ GEM
29
29
  activesupport (3.0.3)
30
30
  amatch (0.2.5)
31
31
  andand (1.3.1)
32
- arel (2.0.4)
32
+ arel (2.0.6)
33
33
  blockenspiel (0.3.2)
34
34
  builder (2.1.2)
35
35
  cohort_scope (0.1.1)
@@ -57,12 +57,11 @@ GEM
57
57
  activerecord
58
58
  geokit (1.5.0)
59
59
  git (1.2.5)
60
- hoe (2.7.0)
60
+ hoe (2.8.0)
61
61
  rake (>= 0.8.7)
62
- rubyforge (>= 2.0.4)
63
62
  hpricot (0.8.3)
64
- i18n (0.4.2)
65
- jeweler (1.5.0)
63
+ i18n (0.5.0)
64
+ jeweler (1.5.1)
66
65
  bundler (~> 1.0.0)
67
66
  git (>= 1.2.5)
68
67
  rake
@@ -93,17 +92,15 @@ GEM
93
92
  libxml-ruby (>= 1.1.3)
94
93
  rubyzip (>= 0.9.1)
95
94
  spreadsheet (>= 0.6.4)
96
- rspec (2.1.0)
97
- rspec-core (~> 2.1.0)
98
- rspec-expectations (~> 2.1.0)
99
- rspec-mocks (~> 2.1.0)
100
- rspec-core (2.1.0)
101
- rspec-expectations (2.1.0)
95
+ rspec (2.2.0)
96
+ rspec-core (~> 2.2)
97
+ rspec-expectations (~> 2.2)
98
+ rspec-mocks (~> 2.2)
99
+ rspec-core (2.2.1)
100
+ rspec-expectations (2.2.0)
102
101
  diff-lcs (~> 1.1.2)
103
- rspec-mocks (2.1.0)
102
+ rspec-mocks (2.2.0)
104
103
  ruby-ole (1.2.11.1)
105
- rubyforge (2.0.4)
106
- json_pure (>= 1.1.7)
107
104
  rubyzip (0.9.4)
108
105
  sequel (3.17.0)
109
106
  sinatra (1.0)
@@ -128,18 +125,18 @@ PLATFORMS
128
125
  ruby
129
126
 
130
127
  DEPENDENCIES
131
- activerecord (>= 3.0.0.beta4)
128
+ activerecord (~> 3)
132
129
  cohort_scope (>= 0.0.7)
133
130
  conversions (>= 1.4.5)
134
131
  data_miner (~> 0.5.6)
135
132
  earth!
136
133
  falls_back_on (>= 0.0.3)
137
134
  geokit (>= 1.5.0)
138
- jeweler (= 1.5.0)
135
+ jeweler (~> 1.4)
139
136
  loose_tight_dictionary (>= 0.0.8)
140
137
  rake
141
138
  rcov
142
139
  rdoc
143
- rspec (>= 2.0.0.beta.17)
144
- sqlite3-ruby (>= 1.3.0)
140
+ rspec (~> 2)
141
+ sqlite3-ruby
145
142
  weighted_average (>= 0.0.4)
@@ -9,3 +9,4 @@ require 'earth/locality'
9
9
  require 'earth/pet'
10
10
  require 'earth/rail'
11
11
  require 'earth/residence'
12
+ require 'earth/shipping'
@@ -8,3 +8,4 @@ require 'earth/locality/data_miner'
8
8
  require 'earth/pet/data_miner'
9
9
  require 'earth/rail/data_miner'
10
10
  require 'earth/residence/data_miner'
11
+ require 'earth/shipping/data_miner'
@@ -0,0 +1,2 @@
1
+ require 'earth/shipping/carrier'
2
+ require 'earth/shipping/shipment_mode'
@@ -0,0 +1,9 @@
1
+ class Carrier < ActiveRecord::Base
2
+ set_primary_key :name
3
+
4
+ falls_back_on :corporate_emission_factor => 0.318#Carrier.average(:corporate_emission_factor)
5
+
6
+ data_miner do
7
+ tap "Brighter Planet's shipping company data", Earth.taps_server
8
+ end
9
+ end
@@ -0,0 +1,23 @@
1
+ Carrier.class_eval do
2
+ data_miner do
3
+ schema Earth.database_options do
4
+ string 'name'
5
+ float 'corporate_emission_factor'
6
+ string 'corporate_emission_factor_units'
7
+ end
8
+
9
+ import "a list of shipping companies and their characteristics",
10
+ :url => 'https://spreadsheets.google.com/pub?key=0AoQJbWqPrREqdG1ONU1HZDdZTFJNclFYVkRzR0k5Z2c&hl=en&single=true&gid=0&output=csv' do
11
+ key 'name'
12
+ store 'corporate_emission_factor', :units_field_name => 'corporate_emission_factor_units'
13
+ end
14
+
15
+ verify "All entries should have corporate_emission_factor >= 0" do
16
+ all.each do |record|
17
+ unless record[:corporate_emission_factor] >= 0
18
+ raise "Invalid corporate_emission_factor for Carrier #{record[:name]}: #{record[:corporate_emission_factor]}"
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,2 @@
1
+ require 'earth/shipping/carrier/data_miner'
2
+ require 'earth/shipping/shipment_mode/data_miner'
@@ -0,0 +1,10 @@
1
+ class ShipmentMode < ActiveRecord::Base
2
+ set_primary_key :name
3
+
4
+ falls_back_on :route_inefficiency_factor => 1.05,#ShipmentMode.where(not(:name => 'courier')).average(:route_inefficiency_factor),
5
+ :transport_emission_factor => 3.0#ShipmentMode.where(not(:name => 'courier')).average(:route_inefficiency_factor)
6
+
7
+ data_miner do
8
+ tap "Brighter Planet's shipment mode data", Earth.taps_server
9
+ end
10
+ end
@@ -0,0 +1,17 @@
1
+ ShipmentMode.class_eval do
2
+ data_miner do
3
+ schema Earth.database_options do
4
+ string 'name'
5
+ float 'route_inefficiency_factor'
6
+ float 'transport_emission_factor'
7
+ string 'transport_emission_factor_units'
8
+ end
9
+
10
+ import "a list of shipment modes and their characteristics",
11
+ :url => 'https://spreadsheets.google.com/pub?key=0AoQJbWqPrREqdGR2a2RYcEg2RnRKbkRQcXc0ZkQ5U0E&hl=en&single=true&gid=0&output=csv' do
12
+ key 'name'
13
+ store 'route_inefficiency_factor'
14
+ store 'transport_emission_factor', :units_field_name => 'transport_emission_factor_units'
15
+ end
16
+ end
17
+ end
@@ -27,7 +27,7 @@ describe Earth do
27
27
  describe '.resources' do
28
28
  it 'should get a list of resources' do
29
29
  resources = Earth.resources
30
- resources.keys.count.should == 56
30
+ resources.keys.count.should == 58
31
31
  resources['FuelType'][:domain].should == 'fuel'
32
32
  end
33
33
  it 'should exclude data_miner files' do
@@ -37,7 +37,7 @@ describe Earth do
37
37
 
38
38
  describe '.resource_names' do
39
39
  it 'should get a list of all resource names' do
40
- Earth.resource_names.count.should == 56
40
+ Earth.resource_names.count.should == 58
41
41
  Earth.resource_names.should include('Aircraft')
42
42
  Earth.resource_names.should include('Industry')
43
43
  end
@@ -49,7 +49,7 @@ describe Earth do
49
49
 
50
50
  describe '.domains' do
51
51
  it 'should return a list of all domains' do
52
- Earth.domains.should == %w{air automobile bus diet fuel hospitality industry locality pet rail residence}
52
+ Earth.domains.should == %w{air automobile bus diet fuel hospitality industry locality pet rail residence shipping}
53
53
  end
54
54
  end
55
55
  end
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: earth
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 3
9
- - 6
10
- version: 0.3.6
8
+ - 7
9
+ version: 0.3.7
11
10
  platform: ruby
12
11
  authors:
13
12
  - Seamus Abshere
@@ -17,7 +16,7 @@ autorequire:
17
16
  bindir: bin
18
17
  cert_chain: []
19
18
 
20
- date: 2010-12-07 00:00:00 -05:00
19
+ date: 2010-12-10 00:00:00 -05:00
21
20
  default_executable:
22
21
  dependencies:
23
22
  - !ruby/object:Gem::Dependency
@@ -28,7 +27,6 @@ dependencies:
28
27
  requirements:
29
28
  - - ~>
30
29
  - !ruby/object:Gem::Version
31
- hash: 5
32
30
  segments:
33
31
  - 3
34
32
  version: "3"
@@ -42,7 +40,6 @@ dependencies:
42
40
  requirements:
43
41
  - - ~>
44
42
  - !ruby/object:Gem::Version
45
- hash: 7
46
43
  segments:
47
44
  - 0
48
45
  - 5
@@ -58,7 +55,6 @@ dependencies:
58
55
  requirements:
59
56
  - - ">="
60
57
  - !ruby/object:Gem::Version
61
- hash: 25
62
58
  segments:
63
59
  - 0
64
60
  - 0
@@ -74,7 +70,6 @@ dependencies:
74
70
  requirements:
75
71
  - - ">="
76
72
  - !ruby/object:Gem::Version
77
- hash: 3
78
73
  segments:
79
74
  - 1
80
75
  - 5
@@ -90,7 +85,6 @@ dependencies:
90
85
  requirements:
91
86
  - - ">="
92
87
  - !ruby/object:Gem::Version
93
- hash: 17
94
88
  segments:
95
89
  - 0
96
90
  - 0
@@ -106,7 +100,6 @@ dependencies:
106
100
  requirements:
107
101
  - - ">="
108
102
  - !ruby/object:Gem::Version
109
- hash: 13
110
103
  segments:
111
104
  - 1
112
105
  - 4
@@ -122,7 +115,6 @@ dependencies:
122
115
  requirements:
123
116
  - - ">="
124
117
  - !ruby/object:Gem::Version
125
- hash: 23
126
118
  segments:
127
119
  - 0
128
120
  - 0
@@ -138,7 +130,6 @@ dependencies:
138
130
  requirements:
139
131
  - - ">="
140
132
  - !ruby/object:Gem::Version
141
- hash: 15
142
133
  segments:
143
134
  - 0
144
135
  - 0
@@ -154,7 +145,6 @@ dependencies:
154
145
  requirements:
155
146
  - - ~>
156
147
  - !ruby/object:Gem::Version
157
- hash: 7
158
148
  segments:
159
149
  - 2
160
150
  version: "2"
@@ -168,7 +158,6 @@ dependencies:
168
158
  requirements:
169
159
  - - ">="
170
160
  - !ruby/object:Gem::Version
171
- hash: 3
172
161
  segments:
173
162
  - 0
174
163
  version: "0"
@@ -182,11 +171,10 @@ dependencies:
182
171
  requirements:
183
172
  - - ~>
184
173
  - !ruby/object:Gem::Version
185
- hash: 5
186
174
  segments:
187
175
  - 1
188
- - 5
189
- version: "1.5"
176
+ - 4
177
+ version: "1.4"
190
178
  type: :development
191
179
  version_requirements: *id011
192
180
  - !ruby/object:Gem::Dependency
@@ -197,7 +185,6 @@ dependencies:
197
185
  requirements:
198
186
  - - ">="
199
187
  - !ruby/object:Gem::Version
200
- hash: 3
201
188
  segments:
202
189
  - 0
203
190
  version: "0"
@@ -211,7 +198,6 @@ dependencies:
211
198
  requirements:
212
199
  - - ">="
213
200
  - !ruby/object:Gem::Version
214
- hash: 3
215
201
  segments:
216
202
  - 0
217
203
  version: "0"
@@ -225,12 +211,208 @@ dependencies:
225
211
  requirements:
226
212
  - - ">="
227
213
  - !ruby/object:Gem::Version
228
- hash: 3
229
214
  segments:
230
215
  - 0
231
216
  version: "0"
232
217
  type: :development
233
218
  version_requirements: *id014
219
+ - !ruby/object:Gem::Dependency
220
+ name: activerecord
221
+ prerelease: false
222
+ requirement: &id015 !ruby/object:Gem::Requirement
223
+ none: false
224
+ requirements:
225
+ - - ~>
226
+ - !ruby/object:Gem::Version
227
+ segments:
228
+ - 3
229
+ version: "3"
230
+ type: :runtime
231
+ version_requirements: *id015
232
+ - !ruby/object:Gem::Dependency
233
+ name: data_miner
234
+ prerelease: false
235
+ requirement: &id016 !ruby/object:Gem::Requirement
236
+ none: false
237
+ requirements:
238
+ - - ~>
239
+ - !ruby/object:Gem::Version
240
+ segments:
241
+ - 0
242
+ - 5
243
+ - 6
244
+ version: 0.5.6
245
+ type: :runtime
246
+ version_requirements: *id016
247
+ - !ruby/object:Gem::Dependency
248
+ name: falls_back_on
249
+ prerelease: false
250
+ requirement: &id017 !ruby/object:Gem::Requirement
251
+ none: false
252
+ requirements:
253
+ - - ">="
254
+ - !ruby/object:Gem::Version
255
+ segments:
256
+ - 0
257
+ - 0
258
+ - 3
259
+ version: 0.0.3
260
+ type: :runtime
261
+ version_requirements: *id017
262
+ - !ruby/object:Gem::Dependency
263
+ name: geokit
264
+ prerelease: false
265
+ requirement: &id018 !ruby/object:Gem::Requirement
266
+ none: false
267
+ requirements:
268
+ - - ">="
269
+ - !ruby/object:Gem::Version
270
+ segments:
271
+ - 1
272
+ - 5
273
+ - 0
274
+ version: 1.5.0
275
+ type: :runtime
276
+ version_requirements: *id018
277
+ - !ruby/object:Gem::Dependency
278
+ name: cohort_scope
279
+ prerelease: false
280
+ requirement: &id019 !ruby/object:Gem::Requirement
281
+ none: false
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ segments:
286
+ - 0
287
+ - 0
288
+ - 7
289
+ version: 0.0.7
290
+ type: :runtime
291
+ version_requirements: *id019
292
+ - !ruby/object:Gem::Dependency
293
+ name: conversions
294
+ prerelease: false
295
+ requirement: &id020 !ruby/object:Gem::Requirement
296
+ none: false
297
+ requirements:
298
+ - - ">="
299
+ - !ruby/object:Gem::Version
300
+ segments:
301
+ - 1
302
+ - 4
303
+ - 5
304
+ version: 1.4.5
305
+ type: :runtime
306
+ version_requirements: *id020
307
+ - !ruby/object:Gem::Dependency
308
+ name: weighted_average
309
+ prerelease: false
310
+ requirement: &id021 !ruby/object:Gem::Requirement
311
+ none: false
312
+ requirements:
313
+ - - ">="
314
+ - !ruby/object:Gem::Version
315
+ segments:
316
+ - 0
317
+ - 0
318
+ - 4
319
+ version: 0.0.4
320
+ type: :runtime
321
+ version_requirements: *id021
322
+ - !ruby/object:Gem::Dependency
323
+ name: loose_tight_dictionary
324
+ prerelease: false
325
+ requirement: &id022 !ruby/object:Gem::Requirement
326
+ none: false
327
+ requirements:
328
+ - - ">="
329
+ - !ruby/object:Gem::Version
330
+ segments:
331
+ - 0
332
+ - 0
333
+ - 8
334
+ version: 0.0.8
335
+ type: :runtime
336
+ version_requirements: *id022
337
+ - !ruby/object:Gem::Dependency
338
+ name: rspec
339
+ prerelease: false
340
+ requirement: &id023 !ruby/object:Gem::Requirement
341
+ none: false
342
+ requirements:
343
+ - - ~>
344
+ - !ruby/object:Gem::Version
345
+ segments:
346
+ - 2
347
+ version: "2"
348
+ type: :development
349
+ version_requirements: *id023
350
+ - !ruby/object:Gem::Dependency
351
+ name: rake
352
+ prerelease: false
353
+ requirement: &id024 !ruby/object:Gem::Requirement
354
+ none: false
355
+ requirements:
356
+ - - ">="
357
+ - !ruby/object:Gem::Version
358
+ segments:
359
+ - 0
360
+ version: "0"
361
+ type: :development
362
+ version_requirements: *id024
363
+ - !ruby/object:Gem::Dependency
364
+ name: jeweler
365
+ prerelease: false
366
+ requirement: &id025 !ruby/object:Gem::Requirement
367
+ none: false
368
+ requirements:
369
+ - - ~>
370
+ - !ruby/object:Gem::Version
371
+ segments:
372
+ - 1
373
+ - 4
374
+ version: "1.4"
375
+ type: :development
376
+ version_requirements: *id025
377
+ - !ruby/object:Gem::Dependency
378
+ name: rcov
379
+ prerelease: false
380
+ requirement: &id026 !ruby/object:Gem::Requirement
381
+ none: false
382
+ requirements:
383
+ - - ">="
384
+ - !ruby/object:Gem::Version
385
+ segments:
386
+ - 0
387
+ version: "0"
388
+ type: :development
389
+ version_requirements: *id026
390
+ - !ruby/object:Gem::Dependency
391
+ name: rdoc
392
+ prerelease: false
393
+ requirement: &id027 !ruby/object:Gem::Requirement
394
+ none: false
395
+ requirements:
396
+ - - ">="
397
+ - !ruby/object:Gem::Version
398
+ segments:
399
+ - 0
400
+ version: "0"
401
+ type: :development
402
+ version_requirements: *id027
403
+ - !ruby/object:Gem::Dependency
404
+ name: sqlite3-ruby
405
+ prerelease: false
406
+ requirement: &id028 !ruby/object:Gem::Requirement
407
+ none: false
408
+ requirements:
409
+ - - ">="
410
+ - !ruby/object:Gem::Version
411
+ segments:
412
+ - 0
413
+ version: "0"
414
+ type: :development
415
+ version_requirements: *id028
234
416
  description: An earth-simulation environment with ActiveRecord models and data
235
417
  email: andy@rossmeissl.net
236
418
  executables: []
@@ -373,6 +555,12 @@ files:
373
555
  - lib/earth/residence/residence_fuel_type/data_miner.rb
374
556
  - lib/earth/residence/residential_energy_consumption_survey_response.rb
375
557
  - lib/earth/residence/residential_energy_consumption_survey_response/data_miner.rb
558
+ - lib/earth/shipping.rb
559
+ - lib/earth/shipping/carrier.rb
560
+ - lib/earth/shipping/carrier/data_miner.rb
561
+ - lib/earth/shipping/data_miner.rb
562
+ - lib/earth/shipping/shipment_mode.rb
563
+ - lib/earth/shipping/shipment_mode/data_miner.rb
376
564
  - vendor/geokit-rails/CHANGELOG.rdoc
377
565
  - vendor/geokit-rails/MIT-LICENSE
378
566
  - vendor/geokit-rails/README.markdown
@@ -415,18 +603,18 @@ files:
415
603
  - vendor/geokit-rails/test/schema.rb
416
604
  - vendor/geokit-rails/test/tasks.rake
417
605
  - vendor/geokit-rails/test/test_helper.rb
606
+ - Gemfile
607
+ - Gemfile.lock
418
608
  - spec/earth/air/aircraft_spec.rb
419
609
  - spec/earth_spec.rb
420
610
  - spec/spec_helper.rb
421
- - Gemfile
422
- - Gemfile.lock
423
611
  has_rdoc: true
424
612
  homepage: http://github.com/brighterplanet/earth
425
613
  licenses: []
426
614
 
427
615
  post_install_message:
428
- rdoc_options:
429
- - --charset=UTF-8
616
+ rdoc_options: []
617
+
430
618
  require_paths:
431
619
  - lib
432
620
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -434,7 +622,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
434
622
  requirements:
435
623
  - - ">="
436
624
  - !ruby/object:Gem::Version
437
- hash: 3
438
625
  segments:
439
626
  - 0
440
627
  version: "0"
@@ -443,7 +630,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
443
630
  requirements:
444
631
  - - ">="
445
632
  - !ruby/object:Gem::Version
446
- hash: 3
447
633
  segments:
448
634
  - 0
449
635
  version: "0"
@@ -455,8 +641,8 @@ signing_key:
455
641
  specification_version: 3
456
642
  summary: Land, sky, and sea
457
643
  test_files:
644
+ - Gemfile
645
+ - Gemfile.lock
458
646
  - spec/earth/air/aircraft_spec.rb
459
647
  - spec/earth_spec.rb
460
648
  - spec/spec_helper.rb
461
- - Gemfile
462
- - Gemfile.lock