earth 0.4.1 → 0.4.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.
@@ -4,7 +4,7 @@ require "earth/version"
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "earth"
7
- s.version = "0.4.1"
7
+ s.version = Earth::VERSION
8
8
  s.date = "2011-02-21"
9
9
  s.platform = Gem::Platform::RUBY
10
10
  s.authors = ["Seamus Abshere", "Derek Kastner", "Andy Rossmeissl"]
@@ -5,7 +5,6 @@ require 'earth/conversions_ext'
5
5
  require 'earth/inflectors'
6
6
  require 'data_miner'
7
7
  require 'falls_back_on'
8
- require 'falls_back_on/active_record_ext'
9
8
  require 'weighted_average'
10
9
  require 'loose_tight_dictionary'
11
10
  require 'slither'
@@ -162,3 +161,12 @@ private
162
161
  end
163
162
  end
164
163
  end
164
+
165
+ def INSERT_IGNORE(cmd)
166
+ if ActiveRecord::Base.connection.adapter_name.downcase == 'sqlite'
167
+ prefix = 'INSERT'
168
+ else
169
+ prefix = 'INSERT IGNORE'
170
+ end
171
+ ActiveRecord::Base.connection.execute "#{prefix} #{cmd}"
172
+ end
@@ -10,8 +10,7 @@ AircraftManufacturer.class_eval do
10
10
 
11
11
  process "Derive a list of aircraft manufacturers from aircraft" do
12
12
  Aircraft.run_data_miner!
13
- connection.execute %{
14
- INSERT IGNORE INTO aircraft_manufacturers(name)
13
+ INSERT_IGNORE %{INTO aircraft_manufacturers(name)
15
14
  SELECT aircraft.manufacturer_name FROM aircraft WHERE aircraft.manufacturer_name IS NOT NULL
16
15
  }
17
16
  end
@@ -12,18 +12,18 @@ AutomobileMake.class_eval do
12
12
 
13
13
  process "Derive manufacturer names from automobile make model year variants" do
14
14
  AutomobileMakeModelYearVariant.run_data_miner!
15
- connection.execute %{
16
- INSERT IGNORE INTO automobile_makes(name)
15
+ INSERT_IGNORE %{INTO automobile_makes(name)
17
16
  SELECT DISTINCT automobile_make_model_year_variants.make_name
18
17
  FROM automobile_make_model_year_variants
18
+ WHERE automobile_make_model_year_variants.make_name IS NOT NULL
19
+ AND LENGTH(automobile_make_model_year_variants.make_name) > 0
19
20
  }
20
21
  end
21
22
 
22
23
  # sabshere 1/31/11 add Avanti, DaimlerChrysler, IHC, Tesla, etc.
23
24
  process "Derive extra manufacturer names from CAFE data" do
24
25
  AutomobileMakeFleetYear.run_data_miner!
25
- connection.execute %{
26
- INSERT IGNORE INTO automobile_makes(name)
26
+ INSERT IGNORE %{INTO automobile_makes(name)
27
27
  SELECT DISTINCT automobile_make_fleet_years.make_name
28
28
  FROM automobile_make_fleet_years
29
29
  }
@@ -15,8 +15,7 @@ AutomobileMakeModel.class_eval do
15
15
 
16
16
  process "Derive model names from automobile make model year variants" do
17
17
  AutomobileMakeModelYearVariant.run_data_miner!
18
- connection.execute %{
19
- INSERT IGNORE INTO automobile_make_models(name, make_name)
18
+ INSERT_IGNORE %{INTO automobile_make_models(name, make_name)
20
19
  SELECT automobile_make_model_year_variants.make_model_name, automobile_make_model_year_variants.make_name FROM automobile_make_model_year_variants WHERE LENGTH(automobile_make_model_year_variants.make_model_name) > 0 AND LENGTH(automobile_make_model_year_variants.make_name) > 0
21
20
  }
22
21
  end
@@ -18,8 +18,7 @@ AutomobileMakeModelYear.class_eval do
18
18
 
19
19
  process "Derive model year names from automobile make model year variants" do
20
20
  AutomobileMakeModelYearVariant.run_data_miner!
21
- connection.execute %{
22
- INSERT IGNORE INTO automobile_make_model_years(name, make_name, make_model_name, year, make_year_name)
21
+ INSERT_IGNORE %{INTO automobile_make_model_years(name, make_name, make_model_name, year, make_year_name)
23
22
  SELECT automobile_make_model_year_variants.make_model_year_name, automobile_make_model_year_variants.make_name, automobile_make_model_year_variants.make_model_name, automobile_make_model_year_variants.year, automobile_make_model_year_variants.make_year_name FROM automobile_make_model_year_variants WHERE LENGTH(automobile_make_model_year_variants.make_name) > 0 AND LENGTH(automobile_make_model_year_variants.make_model_name) > 0
24
23
  }
25
24
  end
@@ -15,13 +15,18 @@ AutomobileMakeYear.class_eval do
15
15
 
16
16
  process "Derive manufacturer names and years from automobile make model year variants" do
17
17
  AutomobileMakeModelYearVariant.run_data_miner!
18
- connection.execute %{
19
- INSERT IGNORE INTO automobile_make_years(name, make_name, year)
18
+ INSERT_IGNORE %{INTO automobile_make_years(name, make_name, year)
20
19
  SELECT
21
20
  automobile_make_model_year_variants.make_year_name,
22
21
  automobile_make_model_year_variants.make_name,
23
22
  automobile_make_model_year_variants.year
24
23
  FROM automobile_make_model_year_variants
24
+ WHERE automobile_make_model_year_variants.make_year_name IS NOT NULL
25
+ AND LENGTH(automobile_make_model_year_variants.make_year_name) > 0
26
+ AND automobile_make_model_year_variants.make_name IS NOT NULL
27
+ AND LENGTH(automobile_make_model_year_variants.make_name) > 0
28
+ AND automobile_make_model_year_variants.year IS NOT NULL
29
+ AND LENGTH(automobile_make_model_year_variants.year) > 0
25
30
  }
26
31
  end
27
32
 
@@ -18,13 +18,7 @@ Fuel.class_eval do
18
18
 
19
19
  process "Derive fuel names from FuelYear" do
20
20
  FuelYear.run_data_miner!
21
- if Fuel.connection.adapter_name.downcase == 'sqlite'
22
- ignorance = ''
23
- else
24
- ignorance = 'IGNORE'
25
- end
26
- connection.execute %{
27
- INSERT #{ignorance} INTO fuels(name)
21
+ INSERT_IGNORE %{INTO fuels(name)
28
22
  SELECT DISTINCT fuel_years.fuel_name FROM fuel_years
29
23
  }
30
24
  end
@@ -19,14 +19,14 @@ LodgingClass.class_eval do
19
19
 
20
20
  process "Convert fuel oil intensities to metric units" do
21
21
  conversion_factor = 3.78541178 # Google: 3.78541178 l / gal
22
- update_all "fuel_oil_intensity = fuel_oil_intensity * #{conversion_factor} WHERE natural_gas_intensity_units = 'gallons_per_room_night'"
23
- update_all "fuel_oil_intensity_units = 'litres_per_room_night' WHERE natural_gas_intensity_units = 'gallons_per_room_night'"
22
+ update_all "fuel_oil_intensity = fuel_oil_intensity * #{conversion_factor} WHERE fuel_oil_intensity_units = 'gallons_per_room_night'"
23
+ update_all "fuel_oil_intensity_units = 'litres_per_room_night' WHERE fuel_oil_intensity_units = 'gallons_per_room_night'"
24
24
  end
25
25
 
26
26
  process "Convert district heat intensities to metric units" do
27
27
  conversion_factor = 1.05505585 # Google: 1.05505585 MJ / 1000 Btu
28
- update_all "district_heat_intensity = district_heat_intensity * #{conversion_factor} WHERE natural_gas_intensity_units = 'thousand_btu_per_room_night'"
29
- update_all "district_heat_intensity_units = 'megajoules_per_room_night' WHERE natural_gas_intensity_units = 'thousand_btu_per_room_night'"
28
+ update_all "district_heat_intensity = district_heat_intensity * #{conversion_factor} WHERE district_heat_intensity_units = 'thousand_btu_per_room_night'"
29
+ update_all "district_heat_intensity_units = 'megajoules_per_room_night' WHERE district_heat_intensity_units = 'thousand_btu_per_room_night'"
30
30
  end
31
31
  end
32
32
  end
@@ -37,8 +37,7 @@ EgridSubregion.class_eval do
37
37
  # end
38
38
 
39
39
  import "eGRID subregion data",
40
- :url => 'https://spreadsheets.google.com/pub?key=0AoQJbWqPrREqdGRORTJNSWRMQ1puRVprYlAtZHhDaFE&hl=en&single=true&gid=0&output=csv',
41
- :select => lambda { |row| row['abbreviation'].length == 4 } do
40
+ :url => 'https://spreadsheets.google.com/pub?key=0AoQJbWqPrREqdGRORTJNSWRMQ1puRVprYlAtZHhDaFE&hl=en&single=true&gid=0&output=csv' do
42
41
  key 'abbreviation'
43
42
  store 'name'
44
43
  store 'nerc_abbreviation'
@@ -6,8 +6,7 @@ Urbanity.class_eval do
6
6
 
7
7
  process "derive from ResidentialEnergyConsumptionSurveyResponse" do
8
8
  ResidentialEnergyConsumptionSurveyResponse.run_data_miner!
9
- connection.execute %{
10
- INSERT IGNORE INTO urbanities(name)
9
+ INSERT_IGNORE %{INTO urbanities(name)
11
10
  SELECT DISTINCT recs_responses.urbanity_id FROM recs_responses WHERE LENGTH(recs_responses.urbanity_id) > 0
12
11
  }
13
12
  end
@@ -8,8 +8,7 @@ AirConditionerUse.class_eval do
8
8
 
9
9
  process "derive from ResidentialEnergyConsumptionSurveyResponse" do
10
10
  ResidentialEnergyConsumptionSurveyResponse.run_data_miner!
11
- connection.execute %{
12
- INSERT IGNORE INTO air_conditioner_uses(name)
11
+ INSERT_IGNORE %{INTO air_conditioner_uses(name)
13
12
  SELECT DISTINCT recs_responses.central_ac_use FROM recs_responses WHERE LENGTH(recs_responses.central_ac_use) > 0
14
13
  }
15
14
  end
@@ -8,8 +8,7 @@ ClothesMachineUse.class_eval do
8
8
 
9
9
  process "derive from ResidentialEnergyConsumptionSurveyResponse" do
10
10
  ResidentialEnergyConsumptionSurveyResponse.run_data_miner!
11
- connection.execute %{
12
- INSERT IGNORE INTO clothes_machine_uses(name)
11
+ INSERT_IGNORE %{INTO clothes_machine_uses(name)
13
12
  SELECT DISTINCT recs_responses.clothes_washer_use FROM recs_responses WHERE LENGTH(recs_responses.clothes_washer_use) > 0
14
13
  }
15
14
  end
@@ -8,8 +8,7 @@ DishwasherUse.class_eval do
8
8
 
9
9
  process "derive from ResidentialEnergyConsumptionSurveyResponse" do
10
10
  ResidentialEnergyConsumptionSurveyResponse.run_data_miner!
11
- connection.execute %{
12
- INSERT IGNORE INTO dishwasher_uses(name)
11
+ INSERT_IGNORE %{INTO dishwasher_uses(name)
13
12
  SELECT DISTINCT recs_responses.dishwasher_use_id FROM recs_responses WHERE LENGTH(recs_responses.dishwasher_use_id) > 0
14
13
  }
15
14
  end
@@ -6,8 +6,7 @@ ResidenceClass.class_eval do
6
6
 
7
7
  process "derive from ResidentialEnergyConsumptionSurveyResponse" do
8
8
  ResidentialEnergyConsumptionSurveyResponse.run_data_miner!
9
- connection.execute %{
10
- INSERT IGNORE INTO residence_classes(name)
9
+ INSERT_IGNORE %{INTO residence_classes(name)
11
10
  SELECT DISTINCT recs_responses.residence_class_id FROM recs_responses WHERE LENGTH(recs_responses.residence_class_id) > 0
12
11
  }
13
12
  end
@@ -1,3 +1,3 @@
1
1
  module Earth
2
- VERSION = '0.4.0'
2
+ VERSION = '0.4.2'
3
3
  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: 13
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 4
9
- - 1
10
- version: 0.4.1
8
+ - 2
9
+ version: 0.4.2
11
10
  platform: ruby
12
11
  authors:
13
12
  - Seamus Abshere
@@ -17,178 +16,167 @@ autorequire:
17
16
  bindir: bin
18
17
  cert_chain: []
19
18
 
20
- date: 2011-02-21 00:00:00 -08:00
19
+ date: 2011-02-21 00:00:00 -05:00
21
20
  default_executable:
22
21
  dependencies:
23
22
  - !ruby/object:Gem::Dependency
24
23
  name: activerecord
25
- prerelease: false
26
24
  requirement: &id001 !ruby/object:Gem::Requirement
27
25
  none: false
28
26
  requirements:
29
27
  - - ~>
30
28
  - !ruby/object:Gem::Version
31
- hash: 5
32
29
  segments:
33
30
  - 3
34
31
  version: "3"
35
32
  type: :runtime
33
+ prerelease: false
36
34
  version_requirements: *id001
37
35
  - !ruby/object:Gem::Dependency
38
36
  name: data_miner
39
- prerelease: false
40
37
  requirement: &id002 !ruby/object:Gem::Requirement
41
38
  none: false
42
39
  requirements:
43
40
  - - ~>
44
41
  - !ruby/object:Gem::Version
45
- hash: 17
46
42
  segments:
47
43
  - 1
48
44
  - 1
49
45
  - 1
50
46
  version: 1.1.1
51
47
  type: :runtime
48
+ prerelease: false
52
49
  version_requirements: *id002
53
50
  - !ruby/object:Gem::Dependency
54
51
  name: errata
55
- prerelease: false
56
52
  requirement: &id003 !ruby/object:Gem::Requirement
57
53
  none: false
58
54
  requirements:
59
55
  - - ">="
60
56
  - !ruby/object:Gem::Version
61
- hash: 3
62
57
  segments:
63
58
  - 0
64
59
  version: "0"
65
60
  type: :runtime
61
+ prerelease: false
66
62
  version_requirements: *id003
67
63
  - !ruby/object:Gem::Dependency
68
64
  name: falls_back_on
69
- prerelease: false
70
65
  requirement: &id004 !ruby/object:Gem::Requirement
71
66
  none: false
72
67
  requirements:
73
68
  - - ">="
74
69
  - !ruby/object:Gem::Version
75
- hash: 25
76
70
  segments:
77
71
  - 0
78
72
  - 0
79
73
  - 3
80
74
  version: 0.0.3
81
75
  type: :runtime
76
+ prerelease: false
82
77
  version_requirements: *id004
83
78
  - !ruby/object:Gem::Dependency
84
79
  name: geokit
85
- prerelease: false
86
80
  requirement: &id005 !ruby/object:Gem::Requirement
87
81
  none: false
88
82
  requirements:
89
83
  - - ">="
90
84
  - !ruby/object:Gem::Version
91
- hash: 3
92
85
  segments:
93
86
  - 1
94
87
  - 5
95
88
  - 0
96
89
  version: 1.5.0
97
90
  type: :runtime
91
+ prerelease: false
98
92
  version_requirements: *id005
99
93
  - !ruby/object:Gem::Dependency
100
94
  name: geokit-rails
101
- prerelease: false
102
95
  requirement: &id006 !ruby/object:Gem::Requirement
103
96
  none: false
104
97
  requirements:
105
98
  - - ">="
106
99
  - !ruby/object:Gem::Version
107
- hash: 3
108
100
  segments:
109
101
  - 0
110
102
  version: "0"
111
103
  type: :runtime
104
+ prerelease: false
112
105
  version_requirements: *id006
113
106
  - !ruby/object:Gem::Dependency
114
107
  name: cohort_scope
115
- prerelease: false
116
108
  requirement: &id007 !ruby/object:Gem::Requirement
117
109
  none: false
118
110
  requirements:
119
111
  - - ">="
120
112
  - !ruby/object:Gem::Version
121
- hash: 17
122
113
  segments:
123
114
  - 0
124
115
  - 0
125
116
  - 7
126
117
  version: 0.0.7
127
118
  type: :runtime
119
+ prerelease: false
128
120
  version_requirements: *id007
129
121
  - !ruby/object:Gem::Dependency
130
122
  name: conversions
131
- prerelease: false
132
123
  requirement: &id008 !ruby/object:Gem::Requirement
133
124
  none: false
134
125
  requirements:
135
126
  - - ">="
136
127
  - !ruby/object:Gem::Version
137
- hash: 13
138
128
  segments:
139
129
  - 1
140
130
  - 4
141
131
  - 5
142
132
  version: 1.4.5
143
133
  type: :runtime
134
+ prerelease: false
144
135
  version_requirements: *id008
145
136
  - !ruby/object:Gem::Dependency
146
137
  name: weighted_average
147
- prerelease: false
148
138
  requirement: &id009 !ruby/object:Gem::Requirement
149
139
  none: false
150
140
  requirements:
151
141
  - - ">="
152
142
  - !ruby/object:Gem::Version
153
- hash: 23
154
143
  segments:
155
144
  - 0
156
145
  - 0
157
146
  - 4
158
147
  version: 0.0.4
159
148
  type: :runtime
149
+ prerelease: false
160
150
  version_requirements: *id009
161
151
  - !ruby/object:Gem::Dependency
162
152
  name: loose_tight_dictionary
163
- prerelease: false
164
153
  requirement: &id010 !ruby/object:Gem::Requirement
165
154
  none: false
166
155
  requirements:
167
156
  - - ">="
168
157
  - !ruby/object:Gem::Version
169
- hash: 15
170
158
  segments:
171
159
  - 0
172
160
  - 0
173
161
  - 8
174
162
  version: 0.0.8
175
163
  type: :runtime
164
+ prerelease: false
176
165
  version_requirements: *id010
177
166
  - !ruby/object:Gem::Dependency
178
167
  name: sniff
179
- prerelease: false
180
168
  requirement: &id011 !ruby/object:Gem::Requirement
181
169
  none: false
182
170
  requirements:
183
171
  - - ~>
184
172
  - !ruby/object:Gem::Version
185
- hash: 5
186
173
  segments:
187
174
  - 0
188
175
  - 6
189
176
  - 1
190
177
  version: 0.6.1
191
178
  type: :development
179
+ prerelease: false
192
180
  version_requirements: *id011
193
181
  description: An earth-simulation environment with ActiveRecord models and data
194
182
  email: andy@rossmeissl.net
@@ -544,7 +532,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
544
532
  requirements:
545
533
  - - ">="
546
534
  - !ruby/object:Gem::Version
547
- hash: 3
535
+ hash: 3351943495966616780
548
536
  segments:
549
537
  - 0
550
538
  version: "0"
@@ -553,7 +541,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
553
541
  requirements:
554
542
  - - ">="
555
543
  - !ruby/object:Gem::Version
556
- hash: 3
544
+ hash: 3351943495966616780
557
545
  segments:
558
546
  - 0
559
547
  version: "0"