earth 0.11.17 → 0.11.18
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/CHANGELOG +7 -1
- data/earth.gemspec +1 -7
- data/lib/earth/hospitality/commercial_building_energy_consumption_survey_response/data_miner.rb +6 -6
- data/lib/earth/industry/cbecs_energy_intensity.rb +7 -4
- data/lib/earth/industry/cbecs_energy_intensity/data_miner.rb +18 -18
- data/lib/earth/industry/mecs_energy/data_miner.rb +10 -10
- data/lib/earth/industry/mecs_ratio/data_miner.rb +3 -3
- data/lib/earth/locality/census_division/data_miner.rb +1 -1
- data/lib/earth/locality/country/data_miner.rb +1 -1
- data/lib/earth/utils.rb +1 -1
- data/lib/earth/version.rb +1 -1
- metadata +3 -6
data/CHANGELOG
CHANGED
data/earth.gemspec
CHANGED
@@ -13,13 +13,7 @@ Gem::Specification.new do |s|
|
|
13
13
|
s.files = `git ls-files`.split("\n")
|
14
14
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
15
15
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
16
|
-
|
17
|
-
"LICENSE",
|
18
|
-
"LICENSE-PREAMBLE",
|
19
|
-
"README.markdown"
|
20
|
-
]
|
21
|
-
s.require_paths = ["lib"]
|
22
|
-
|
16
|
+
|
23
17
|
s.require_paths = ["lib"]
|
24
18
|
|
25
19
|
s.add_runtime_dependency 'activerecord'
|
data/lib/earth/hospitality/commercial_building_energy_consumption_survey_response/data_miner.rb
CHANGED
@@ -8,7 +8,7 @@ CommercialBuildingEnergyConsumptionSurveyResponse.class_eval do
|
|
8
8
|
key 'id', :field_name => 'PUBID8'
|
9
9
|
store 'census_region_number', :field_name => 'REGION8'
|
10
10
|
store 'census_division_number', :field_name => 'CENDIV8'
|
11
|
-
store 'climate_zone_number', :synthesize =>
|
11
|
+
store 'climate_zone_number', :synthesize => proc { |row| row['CLIMATE8'].to_i == 7 ? nil : row['CLIMATE8'].to_i }
|
12
12
|
store 'area', :field_name => 'SQFT8', :from_units => :square_feet, :to_units => :square_metres
|
13
13
|
store 'principal_activity', :field_name => 'PBA8', :dictionary => { :input => 'principal_activity_code', :output => 'principal_activity', :url => 'https://docs.google.com/spreadsheet/pub?key=0AoQJbWqPrREqdHRGVHczYXRoU2dFLV90aDdET0dQLUE&single=true&gid=2&output=csv' }
|
14
14
|
store 'floors', :field_name => 'NFLOOR8', :dictionary => { :input => 'floors_code', :output => 'floors', :url => 'https://docs.google.com/spreadsheet/pub?key=0AoQJbWqPrREqdHRGVHczYXRoU2dFLV90aDdET0dQLUE&single=true&gid=0&output=csv' }
|
@@ -29,9 +29,9 @@ CommercialBuildingEnergyConsumptionSurveyResponse.class_eval do
|
|
29
29
|
store 'first_activity', :field_name => 'ACT18', :dictionary => { :input => 'activity_code', :output => 'activity', :url => 'https://docs.google.com/spreadsheet/pub?&key=0AoQJbWqPrREqdHRGVHczYXRoU2dFLV90aDdET0dQLUE&single=true&gid=4&output=csv' }
|
30
30
|
store 'second_activity', :field_name => 'ACT28', :dictionary => { :input => 'activity_code', :output => 'activity', :url => 'https://docs.google.com/spreadsheet/pub?&key=0AoQJbWqPrREqdHRGVHczYXRoU2dFLV90aDdET0dQLUE&single=true&gid=4&output=csv' }
|
31
31
|
store 'third_activity', :field_name => 'ACT38', :dictionary => { :input => 'activity_code', :output => 'activity', :url => 'https://docs.google.com/spreadsheet/pub?&key=0AoQJbWqPrREqdHRGVHczYXRoU2dFLV90aDdET0dQLUE&single=true&gid=4&output=csv' }
|
32
|
-
store 'first_activity_share', :synthesize =>
|
33
|
-
store 'second_activity_share', :synthesize =>
|
34
|
-
store 'third_activity_share', :synthesize =>
|
32
|
+
store 'first_activity_share', :synthesize => proc { |row| row['ACT1PCT8'].blank? ? nil : row['ACT1PCT8'].to_f / 100.0 }
|
33
|
+
store 'second_activity_share', :synthesize => proc { |row| row['ACT2PCT8'].blank? ? nil : row['ACT2PCT8'].to_f / 100.0 }
|
34
|
+
store 'third_activity_share', :synthesize => proc { |row| row['ACT3PCT8'].blank? ? nil : row['ACT3PCT8'].to_f / 100.0 }
|
35
35
|
store 'lodging_rooms', :field_name => 'LODGRM8'
|
36
36
|
end
|
37
37
|
|
@@ -40,7 +40,7 @@ CommercialBuildingEnergyConsumptionSurveyResponse.class_eval do
|
|
40
40
|
:skip => 1,
|
41
41
|
:headers => ["PUBID8","REGION8","CENDIV8","SQFT8","SQFTC8","YRCONC8","PBA8","ELUSED8","NGUSED8","FKUSED8","PRUSED8","STUSED8","HWUSED8","HEATP8","HTLS508","FURNAC8","BOILER8","PKGHT8","SLFCON8","HTPMPH8","STHW8","OTHTEQ8","FURNP8","BOILP8","PKGHP8","SLFCNP8","HTPHP8","STHWP8","OTHTP8","MAINHT8","PKGHPS8","SPLHPS8","RMHPS8","AIRHPT8","GRDHPT8","WTRHPT8","NWMNHT8","RDHTNF8","HWRDHT8","COOLP8","PKGCL8","RCAC8","ACWNWL8","HTPMPC8","CHWT8","CHILLR8","EVAPCL8","OTCLEQ8","PKGCP8","RCACP8","ACWNWP8","HTPCP8","CHWTP8","CHILP8","EVAPP8","OTCLP8","MAINCL8","PKGCPS8","SPLCPS8","RMCPS8","AIRCPT8","GRDCPT8","WTRCPT8","NWMNCL8","RDCLNF8","HWRDCL8","VAV8","ECN8","MAINT8","EMCS8","ADJWT8","STRATUM8","PAIR8"] do
|
42
42
|
key 'id', :field_name => 'PUBID8'
|
43
|
-
store 'percent_cooled', :synthesize =>
|
43
|
+
store 'percent_cooled', :synthesize => proc { |row| row['COOLP8'].to_f / 100.0 }
|
44
44
|
end
|
45
45
|
|
46
46
|
import 'electricity use from the 2003 EIA CBECS',
|
@@ -50,7 +50,7 @@ CommercialBuildingEnergyConsumptionSurveyResponse.class_eval do
|
|
50
50
|
key 'id', :field_name => 'PUBID8'
|
51
51
|
store 'heating_degree_days', :field_name => 'HDD658', :from_units => :degrees_fahrenheit, :to_units => :degrees_celsius
|
52
52
|
store 'cooling_degree_days', :field_name => 'CDD658', :from_units => :degrees_fahrenheit, :to_units => :degrees_celsius
|
53
|
-
store 'electricity_use', :synthesize =>
|
53
|
+
store 'electricity_use', :synthesize => proc { |row| row['ELCNS8'].to_i }, :units => :kilowatt_hours
|
54
54
|
store 'electricity_energy', :field_name => 'ELBTU8', :from_units => :kbtus, :to_units => :megajoules
|
55
55
|
end
|
56
56
|
|
@@ -3,11 +3,14 @@ require 'earth/locality'
|
|
3
3
|
class CbecsEnergyIntensity < ActiveRecord::Base
|
4
4
|
self.primary_key = "name"
|
5
5
|
|
6
|
-
col :name
|
6
|
+
col :name
|
7
7
|
col :principal_building_activity
|
8
|
-
col :naics_code
|
9
|
-
col :census_region_number, :type => :integer
|
10
|
-
col :census_division_number, :type => :integer
|
8
|
+
col :naics_code
|
9
|
+
col :census_region_number, :type => :integer
|
10
|
+
col :census_division_number, :type => :integer
|
11
|
+
add_index :naics_code
|
12
|
+
add_index :census_region_number
|
13
|
+
add_index :census_division_number
|
11
14
|
|
12
15
|
col :electricity, :type => :float
|
13
16
|
col :electricity_units
|
@@ -176,25 +176,25 @@ CbecsEnergyIntensity.class_eval do
|
|
176
176
|
import "2003 CBECS #{table.upcase} - Electricity Consumption and Intensity - #{division}",
|
177
177
|
:url => "http://www.eia.gov/emeu/cbecs/cbecs2003/detailed_tables_2003/2003set#{CbecsEnergyIntensity::FUELS[energy_source][:set]}/2003excel/#{table}.xls",
|
178
178
|
:headers => false,
|
179
|
-
:select =>
|
179
|
+
:select => proc { |row| CbecsEnergyIntensity::NAICS_CODE_SYNTHESIZER.call(row) }, # only select rows where we can translate activity to a NAICS code
|
180
180
|
:crop => (21..37) do
|
181
|
-
key :name, :synthesize =>
|
181
|
+
key :name, :synthesize => proc { |row|
|
182
182
|
"#{Industry.format_naics_code(CbecsEnergyIntensity::NAICS_CODE_SYNTHESIZER.call(row))}-#{region_number}-#{division_data[:census_division]}"
|
183
183
|
}
|
184
184
|
|
185
|
-
store :principal_building_activity, :synthesize =>
|
185
|
+
store :principal_building_activity, :synthesize => proc { |row| row[0].gsub(/[\.\(\)]/,'').strip }
|
186
186
|
store :naics_code, :synthesize => CbecsEnergyIntensity::NAICS_CODE_SYNTHESIZER
|
187
187
|
store :census_region_number, :static => region_number
|
188
188
|
store :census_division_number, :static => division_data[:census_division]
|
189
189
|
|
190
190
|
fuel_data = CbecsEnergyIntensity::FUELS[energy_source]
|
191
|
-
store energy_source, :units => :megajoules, :synthesize =>
|
191
|
+
store energy_source, :units => :megajoules, :synthesize => proc { |row|
|
192
192
|
Earth::EIA.convert_value(row[division_data[:column] + 1], :from => fuel_data[:consumption], :to => :megajoules)
|
193
193
|
}
|
194
|
-
store "#{energy_source}_floorspace", :units => :square_metres, :synthesize =>
|
194
|
+
store "#{energy_source}_floorspace", :units => :square_metres, :synthesize => proc { |row|
|
195
195
|
Earth::EIA.convert_value(row[division_data[:column] + 4], :from => :million_square_feet, :to => :square_metres)
|
196
196
|
}
|
197
|
-
store "#{energy_source}_intensity", :units => :megajoules_per_square_metre, :synthesize =>
|
197
|
+
store "#{energy_source}_intensity", :units => :megajoules_per_square_metre, :synthesize => proc { |row|
|
198
198
|
Earth::EIA.convert_value(row[division_data[:column] + 7], :from => fuel_data[:intensity], :to => :megajoules_per_square_metre)
|
199
199
|
}
|
200
200
|
end
|
@@ -208,26 +208,26 @@ CbecsEnergyIntensity.class_eval do
|
|
208
208
|
CbecsEnergyIntensity::CBECS[:regions].each do |region, region_data|
|
209
209
|
import "2003 CBECS #{table.upcase} - #{energy_source.to_s.titleize} Consumption and Intensity - #{region.capitalize} Region",
|
210
210
|
:url => "http://www.eia.gov/emeu/cbecs/cbecs2003/detailed_tables_2003/2003set#{CbecsEnergyIntensity::FUELS[energy_source][:set]}/2003excel/#{table}.xls",
|
211
|
-
:select =>
|
211
|
+
:select => proc { |row| CbecsEnergyIntensity::NAICS_CODE_SYNTHESIZER.call(row) }, # only select rows where we can translate activity to a NAICS code
|
212
212
|
:headers => false,
|
213
213
|
:crop => (energy_source == :fuel_oil ? (16..19) : (21..37)) do
|
214
214
|
|
215
|
-
key :name, :synthesize =>
|
215
|
+
key :name, :synthesize => proc { |row|
|
216
216
|
"#{Industry.format_naics_code(CbecsEnergyIntensity::NAICS_CODE_SYNTHESIZER.call(row))}-#{region_data[:census_region]}"
|
217
217
|
}
|
218
218
|
|
219
219
|
store :census_region_number, :static => region_data[:census_region]
|
220
|
-
store :principal_building_activity, :synthesize =>
|
220
|
+
store :principal_building_activity, :synthesize => proc { |row| row[0].gsub(/[\.\(\)]/,'').strip }
|
221
221
|
store :naics_code, :synthesize => CbecsEnergyIntensity::NAICS_CODE_SYNTHESIZER
|
222
222
|
|
223
|
-
store energy_source, :units => :megajoules, :synthesize =>
|
223
|
+
store energy_source, :units => :megajoules, :synthesize => proc { |row|
|
224
224
|
Earth::EIA.convert_value(row[region_data[:column]], :from => CbecsEnergyIntensity::FUELS[energy_source][:consumption],
|
225
225
|
:to => :megajoules)
|
226
226
|
}
|
227
|
-
store "#{energy_source}_floorspace", :units => :square_metres, :synthesize =>
|
227
|
+
store "#{energy_source}_floorspace", :units => :square_metres, :synthesize => proc { |row|
|
228
228
|
Earth::EIA.convert_value(row[region_data[:column] + 4], :from => :million_square_feet, :to => :square_metres)
|
229
229
|
}
|
230
|
-
store "#{energy_source}_intensity", :units => :megajoules_per_square_metre, :synthesize =>
|
230
|
+
store "#{energy_source}_intensity", :units => :megajoules_per_square_metre, :synthesize => proc { |row|
|
231
231
|
Earth::EIA.convert_value(row[region_data[:column] + 8], :from => CbecsEnergyIntensity::FUELS[energy_source][:intensity],
|
232
232
|
:to => :megajoules_per_square_metre)
|
233
233
|
}
|
@@ -239,16 +239,16 @@ CbecsEnergyIntensity.class_eval do
|
|
239
239
|
import "2003 CBECS C1 - District Heat Consumption and Intensity - US Total",
|
240
240
|
:url => "http://www.eia.gov/emeu/cbecs/cbecs2003/detailed_tables_2003/2003set9/2003excel/c1.xls",
|
241
241
|
:headers => false,
|
242
|
-
:select =>
|
242
|
+
:select => proc { |row| CbecsEnergyIntensity::NAICS_CODE_SYNTHESIZER.call(row) }, # only select rows where we can translate activity to a NAICS code
|
243
243
|
:crop => (21..37) do
|
244
|
-
key :name, :synthesize =>
|
244
|
+
key :name, :synthesize => proc { |row|
|
245
245
|
Industry.format_naics_code(CbecsEnergyIntensity::NAICS_CODE_SYNTHESIZER.call(row))
|
246
246
|
}
|
247
|
-
store :principal_building_activity, :synthesize =>
|
247
|
+
store :principal_building_activity, :synthesize => proc { |row| row[0].gsub(/[\.\(\)]/,'').strip }
|
248
248
|
store :naics_code, :synthesize => CbecsEnergyIntensity::NAICS_CODE_SYNTHESIZER
|
249
249
|
|
250
250
|
{:electricity => [4,5], :natural_gas => [6], :fuel_oil => [7], :district_heat => [8]}.each do |energy_source, columns|
|
251
|
-
store energy_source, :units => :megajoules, :synthesize =>
|
251
|
+
store energy_source, :units => :megajoules, :synthesize => proc { |row|
|
252
252
|
total_energy = nil
|
253
253
|
columns.each do |column|
|
254
254
|
value = Earth::EIA.convert_value(row[column], :from => :trillion_btus, :to => :megajoules)
|
@@ -259,10 +259,10 @@ CbecsEnergyIntensity.class_eval do
|
|
259
259
|
end
|
260
260
|
total_energy
|
261
261
|
}
|
262
|
-
store "#{energy_source}_floorspace", :units => :square_metres, :synthesize =>
|
262
|
+
store "#{energy_source}_floorspace", :units => :square_metres, :synthesize => proc { |row|
|
263
263
|
Earth::EIA.convert_value(row[2], :from => :million_square_feet, :to => :square_metres)
|
264
264
|
}
|
265
|
-
store "#{energy_source}_intensity", :units => :megajoules_per_square_metre, :synthesize =>
|
265
|
+
store "#{energy_source}_intensity", :units => :megajoules_per_square_metre, :synthesize => proc { |row|
|
266
266
|
total_energy = nil
|
267
267
|
columns.each do |column|
|
268
268
|
value = Earth::EIA.convert_value(row[column])
|
@@ -31,34 +31,34 @@ MecsEnergy.class_eval do
|
|
31
31
|
:url => "http://205.254.135.24/emeu/mecs/mecs2006/excel/Table3_2.xls",
|
32
32
|
:crop => data[:crop],
|
33
33
|
:headers => ["NAICS Code", "Subsector and Industry", "Total", "BLANK", "Net Electricity", "BLANK", "Residual Fuel Oil", "Distillate Fuel Oil", "Natural Gas", "BLANK", "LPG and NGL", "BLANK", "Coal", "Coke and Breeze", "Other"]) do
|
34
|
-
key :name, :synthesize =>
|
34
|
+
key :name, :synthesize => proc { |row| "#{Industry.format_naics_code(row['NAICS Code'])}-#{data[:code]}" }
|
35
35
|
store :census_region_number, :static => data[:code]
|
36
36
|
store :naics_code, :field_name => 'NAICS Code'
|
37
|
-
store :energy, :units => :megajoules, :synthesize =>
|
37
|
+
store :energy, :units => :megajoules, :synthesize => proc { |row|
|
38
38
|
Earth::EIA.convert_value(row['Total'], :from => :trillion_btus, :to => :megajoules)
|
39
39
|
}
|
40
|
-
store :electricity, :units => :megajoules, :synthesize =>
|
40
|
+
store :electricity, :units => :megajoules, :synthesize => proc { |row|
|
41
41
|
Earth::EIA.convert_value(row['Net Electricity'], :from => :trillion_btus, :to => :megajoules)
|
42
42
|
}
|
43
|
-
store :residual_fuel_oil, :units => :megajoules, :synthesize =>
|
43
|
+
store :residual_fuel_oil, :units => :megajoules, :synthesize => proc { |row|
|
44
44
|
Earth::EIA.convert_value(row['Residual Fuel Oil'], :from => :trillion_btus, :to => :megajoules)
|
45
45
|
}
|
46
|
-
store :distillate_fuel_oil, :units => :megajoules, :synthesize =>
|
46
|
+
store :distillate_fuel_oil, :units => :megajoules, :synthesize => proc { |row|
|
47
47
|
Earth::EIA.convert_value(row['Distillate Fuel Oil'], :from => :trillion_btus, :to => :megajoules)
|
48
48
|
}
|
49
|
-
store :natural_gas, :units => :megajoules, :synthesize =>
|
49
|
+
store :natural_gas, :units => :megajoules, :synthesize => proc { |row|
|
50
50
|
Earth::EIA.convert_value(row['Natural Gas'], :from => :trillion_btus, :to => :megajoules)
|
51
51
|
}
|
52
|
-
store :lpg_and_ngl, :units => :megajoules, :synthesize =>
|
52
|
+
store :lpg_and_ngl, :units => :megajoules, :synthesize => proc { |row|
|
53
53
|
Earth::EIA.convert_value(row['LPG and NGL'], :from => :trillion_btus, :to => :megajoules)
|
54
54
|
}
|
55
|
-
store :coal, :units => :megajoules, :synthesize =>
|
55
|
+
store :coal, :units => :megajoules, :synthesize => proc { |row|
|
56
56
|
Earth::EIA.convert_value(row['Coal'], :from => :trillion_btus, :to => :megajoules)
|
57
57
|
}
|
58
|
-
store :coke_and_breeze, :units => :megajoules, :synthesize =>
|
58
|
+
store :coke_and_breeze, :units => :megajoules, :synthesize => proc { |row|
|
59
59
|
Earth::EIA.convert_value(row['Coke and Breeze'], :from => :trillion_btus, :to => :megajoules)
|
60
60
|
}
|
61
|
-
store :other_fuel, :units => :megajoules, :synthesize =>
|
61
|
+
store :other_fuel, :units => :megajoules, :synthesize => proc { |row|
|
62
62
|
Earth::EIA.convert_value(row['Other'], :from => :trillion_btus, :to => :megajoules)
|
63
63
|
}
|
64
64
|
end
|
@@ -31,10 +31,10 @@ MecsRatio.class_eval do
|
|
31
31
|
:url => "http://205.254.135.24/emeu/mecs/mecs2006/excel/Table6_1.xls",
|
32
32
|
:crop => data[:crop],
|
33
33
|
:headers => ["NAICS Code", "Subsector and Industry", "Consumption per Employee", "Consumption per Dollar of Value Added", "Consumption per Dollar of Value of Shipments"]) do
|
34
|
-
key :name, :synthesize =>
|
34
|
+
key :name, :synthesize => proc { |row| "#{Industry.format_naics_code(row["NAICS Code"])}-#{data[:code]}" }
|
35
35
|
store :census_region_number, :static => data[:code]
|
36
|
-
store :naics_code, :synthesize =>
|
37
|
-
store :energy_per_dollar_of_shipments, :units => :megajoules, :synthesize =>
|
36
|
+
store :naics_code, :synthesize => proc { |row| Industry.format_naics_code row["NAICS Code"] }
|
37
|
+
store :energy_per_dollar_of_shipments, :units => :megajoules, :synthesize => proc { |row|
|
38
38
|
Earth::EIA.convert_value(row['Consumption per Dollar of Value of Shipments'], :from => :kbtus, :to => :megajoules)
|
39
39
|
}
|
40
40
|
end
|
@@ -6,7 +6,7 @@ CensusDivision.class_eval do
|
|
6
6
|
:url => 'http://www.census.gov/popest/about/geo/state_geocodes_v2009.txt',
|
7
7
|
:skip => 6,
|
8
8
|
:headers => %w{ Region Division FIPS Name },
|
9
|
-
:select =>
|
9
|
+
:select => proc { |row| row['Division'].to_i > 0 and row['FIPS'].to_i == 0 }) do
|
10
10
|
key 'number', :field_name => 'Division'
|
11
11
|
store 'name', :field_name => 'Name'
|
12
12
|
store 'census_region_number', :field_name => 'Region'
|
@@ -20,7 +20,7 @@ Country.class_eval do
|
|
20
20
|
|
21
21
|
import "heating and cooling degree day data from WRI CAIT",
|
22
22
|
:url => 'https://docs.google.com/spreadsheet/pub?key=0AoQJbWqPrREqdDN4MkRTSWtWRjdfazhRdWllTkVSMkE&output=csv',
|
23
|
-
:select =>
|
23
|
+
:select => proc { |record| record['country'] != 'European Union (27)' },
|
24
24
|
:errata => { :url => "file://#{Earth::ERRATA_DIR}/country/wri_errata.csv" } do
|
25
25
|
key 'name', :field_name => 'country'
|
26
26
|
store 'heating_degree_days', :units => :degrees_celsius
|
data/lib/earth/utils.rb
CHANGED
@@ -27,7 +27,7 @@ module Earth
|
|
27
27
|
def self.insert_ignore(args = {})
|
28
28
|
dest_cols = args[:cols].values
|
29
29
|
dest_primary_key = args[:dest].primary_key.to_sym
|
30
|
-
dest_primary_key_in_src = args[:cols].
|
30
|
+
dest_primary_key_in_src = args[:cols].detect { |k, _| k == dest_primary_key }
|
31
31
|
|
32
32
|
sql_items = {}
|
33
33
|
args[:cols].each do |src_col, dest_col|
|
data/lib/earth/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: earth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.18
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2012-04-
|
14
|
+
date: 2012-04-20 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: activerecord
|
@@ -406,10 +406,7 @@ email:
|
|
406
406
|
executables:
|
407
407
|
- earth_tester.rb
|
408
408
|
extensions: []
|
409
|
-
extra_rdoc_files:
|
410
|
-
- LICENSE
|
411
|
-
- LICENSE-PREAMBLE
|
412
|
-
- README.markdown
|
409
|
+
extra_rdoc_files: []
|
413
410
|
files:
|
414
411
|
- .gitignore
|
415
412
|
- CHANGELOG
|