earth 0.4.9 → 0.4.10
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +5 -1
- data/bin/earth_tester.rb +32 -0
- data/earth.gemspec +5 -5
- data/features/automobile_make_model_year_variant.feature +4 -4
- data/features/support/imports/automobile_make_model_year_variant_bad.csv +1 -1
- data/features/support/imports/automobile_make_model_year_variant_good.csv +1 -1
- data/lib/earth.rb +2 -3
- data/lib/earth/automobile/automobile_make_model/data_miner.rb +3 -2
- data/lib/earth/automobile/automobile_make_model_year/data_miner.rb +4 -3
- data/lib/earth/automobile/automobile_make_model_year_variant/data_miner.rb +8 -7
- data/lib/earth/locality/country.rb +0 -9
- data/lib/earth/locality/country/data_miner.rb +2 -2
- data/lib/earth/pet/breed_gender/data_miner.rb +1 -0
- data/lib/earth/residence/clothes_machine_use/data_miner.rb +1 -1
- data/lib/earth/residence/dishwasher_use/data_miner.rb +1 -1
- data/lib/earth/residence/residence_fuel_price/data_miner.rb +36 -31
- data/lib/earth/version.rb +1 -1
- data/spec/earth/automobile/automobile_type_fuel_year_age_spec.rb +1 -1
- metadata +33 -80
data/Rakefile
CHANGED
@@ -34,7 +34,11 @@ end
|
|
34
34
|
require 'rspec/core/rake_task'
|
35
35
|
desc "Run all examples"
|
36
36
|
RSpec::Core::RakeTask.new(:examples) do |c|
|
37
|
-
|
37
|
+
if ENV['RSPEC_FORMAT']
|
38
|
+
c.rspec_opts = "-Ispec --format #{ENV['RSPEC_FORMAT']}"
|
39
|
+
else
|
40
|
+
c.rspec_opts = '-Ispec'
|
41
|
+
end
|
38
42
|
end
|
39
43
|
|
40
44
|
desc "Run specs with RCov"
|
data/bin/earth_tester.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
unless RUBY_VERSION >= '1.9'
|
4
|
+
require 'rubygems'
|
5
|
+
end
|
6
|
+
|
7
|
+
if File.exist?(File.join(Dir.pwd, 'earth.gemspec'))
|
8
|
+
require 'bundler'
|
9
|
+
Bundler.setup
|
10
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
11
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
12
|
+
end
|
13
|
+
|
14
|
+
require 'active_support/all'
|
15
|
+
require 'active_record'
|
16
|
+
|
17
|
+
ActiveRecord::Schema.verbose = false
|
18
|
+
begin
|
19
|
+
ActiveRecord::Base.establish_connection(:adapter => 'sqlite3', :database => ':memory:')
|
20
|
+
rescue ArgumentError
|
21
|
+
ActiveRecord::Base.establish_connection(:adapter => 'sqlite3', :dbfile => ':memory:')
|
22
|
+
end
|
23
|
+
|
24
|
+
require 'earth'
|
25
|
+
|
26
|
+
Earth.init :load_data_miner => true, :apply_schemas => true
|
27
|
+
|
28
|
+
if ARGV[0].present?
|
29
|
+
eval ARGV[0]
|
30
|
+
else
|
31
|
+
$stderr.puts "Usage: earth_tester.rb 'ResidenceFuelPrice.run_data_miner!' (Note single quotes)"
|
32
|
+
end
|
data/earth.gemspec
CHANGED
@@ -27,12 +27,12 @@ Gem::Specification.new do |s|
|
|
27
27
|
s.require_paths = ["lib"]
|
28
28
|
s.rubygems_version = %q{1.3.7}
|
29
29
|
|
30
|
-
s.add_runtime_dependency 'cohort_scope', '
|
31
|
-
s.add_runtime_dependency 'data_miner'
|
32
|
-
s.add_runtime_dependency 'falls_back_on'
|
30
|
+
s.add_runtime_dependency 'cohort_scope', '>=0.2.0'
|
31
|
+
s.add_runtime_dependency 'data_miner'
|
32
|
+
s.add_runtime_dependency 'falls_back_on'
|
33
|
+
s.add_runtime_dependency 'fixed_width'
|
33
34
|
s.add_runtime_dependency 'geokit-rails'
|
34
|
-
s.add_runtime_dependency '
|
35
|
-
s.add_runtime_dependency 'weighted_average', '~> 0.0.6'
|
35
|
+
s.add_runtime_dependency 'weighted_average'
|
36
36
|
s.add_development_dependency 'bundler'
|
37
37
|
s.add_development_dependency 'bueller'
|
38
38
|
s.add_development_dependency 'cucumber'
|
@@ -3,9 +3,9 @@ Feature: Data import for AutomobileMakeModelYearVariant
|
|
3
3
|
I want to import MakeModelYearVariant data
|
4
4
|
So that I can perform variant-based calculations
|
5
5
|
|
6
|
-
Scenario: Successfully verifying that year is from 1985 to
|
6
|
+
Scenario: Successfully verifying that year is from 1985 to 2011
|
7
7
|
Given a "AutomobileMakeModelYearVariant" data import fetches results listed in "automobile_make_model_year_variant_good"
|
8
|
-
When a data import verifies "Year should be from 1985 to
|
8
|
+
When a data import verifies "Year should be from 1985 to 2011"
|
9
9
|
Then the verification should be successful
|
10
10
|
|
11
11
|
# FIXME TODO
|
@@ -24,9 +24,9 @@ Feature: Data import for AutomobileMakeModelYearVariant
|
|
24
24
|
When a data import verifies "Fuel efficiency units should be kilometres per litre"
|
25
25
|
Then the verification should be successful
|
26
26
|
|
27
|
-
Scenario: Failing to verify that year is from 1985 to
|
27
|
+
Scenario: Failing to verify that year is from 1985 to 2011
|
28
28
|
Given a "AutomobileMakeModelYearVariant" data import fetches results listed in "automobile_make_model_year_variant_bad"
|
29
|
-
When a data import verifies "Year should be from 1985 to
|
29
|
+
When a data import verifies "Year should be from 1985 to 2011"
|
30
30
|
Then the verification should not be successful
|
31
31
|
|
32
32
|
# FIXME TODO
|
@@ -1,3 +1,3 @@
|
|
1
1
|
row_hash,year,fuel_code,fuel_efficiency,fuel_efficiency_city,fuel_efficiency_highway,fuel_efficiency_units,fuel_efficiency_city_units,fuel_efficiency_highway_units
|
2
2
|
a1,2000,D,12.0,10.0,15.0,kilometres_per_litre,kilometres_per_litre,kilometres_per_litre
|
3
|
-
b2,
|
3
|
+
b2,2012,P,0,-10,0,foo,bar
|
@@ -1,3 +1,3 @@
|
|
1
1
|
row_hash,year,fuel_code,fuel_efficiency,fuel_efficiency_city,fuel_efficiency_highway,fuel_efficiency_units,fuel_efficiency_city_units,fuel_efficiency_highway_units
|
2
2
|
a1,2000,D,12.0,10.0,15.0,kilometres_per_litre,kilometres_per_litre,kilometres_per_litre
|
3
|
-
b2,
|
3
|
+
b2,2011,X,20.5,20.0,21.0,kilometres_per_litre,kilometres_per_litre,kilometres_per_litre
|
data/lib/earth.rb
CHANGED
@@ -6,8 +6,7 @@ require 'earth/inflectors'
|
|
6
6
|
require 'data_miner'
|
7
7
|
require 'falls_back_on'
|
8
8
|
require 'weighted_average'
|
9
|
-
require '
|
10
|
-
require 'slither'
|
9
|
+
require 'fixed_width'
|
11
10
|
require 'errata'
|
12
11
|
|
13
12
|
# The earth module is an interface for establishing a taps server (used to fetch
|
@@ -89,7 +88,7 @@ module Earth
|
|
89
88
|
if ActiveRecord::Base.connection.adapter_name.downcase == 'sqlite'
|
90
89
|
{}
|
91
90
|
else
|
92
|
-
{ :options => 'ENGINE=InnoDB default charset=utf8' }
|
91
|
+
{ :options => 'ENGINE=InnoDB default charset=utf8 collate=utf8_general_ci' }
|
93
92
|
end
|
94
93
|
end
|
95
94
|
|
@@ -7,6 +7,7 @@ AutomobileMakeModel.class_eval do
|
|
7
7
|
schema Earth.database_options do
|
8
8
|
string 'name' # make + model
|
9
9
|
string 'make_name'
|
10
|
+
string 'model_name' # model only
|
10
11
|
float 'fuel_efficiency_city'
|
11
12
|
string 'fuel_efficiency_city_units'
|
12
13
|
float 'fuel_efficiency_highway'
|
@@ -15,8 +16,8 @@ AutomobileMakeModel.class_eval do
|
|
15
16
|
|
16
17
|
process "Derive model names from automobile make model year variants" do
|
17
18
|
AutomobileMakeModelYearVariant.run_data_miner!
|
18
|
-
INSERT_IGNORE %{INTO automobile_make_models(name, make_name)
|
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.
|
19
|
+
INSERT_IGNORE %{INTO automobile_make_models(name, make_name, model_name)
|
20
|
+
SELECT automobile_make_model_year_variants.make_model_name, automobile_make_model_year_variants.make_name, automobile_make_model_year_variants.name FROM automobile_make_model_year_variants WHERE LENGTH(automobile_make_model_year_variants.make_name) > 0 AND LENGTH(automobile_make_model_year_variants.name) > 0
|
20
21
|
}
|
21
22
|
end
|
22
23
|
|
@@ -5,8 +5,9 @@ AutomobileMakeModelYear.class_eval do
|
|
5
5
|
end
|
6
6
|
|
7
7
|
schema Earth.database_options do
|
8
|
-
string 'name'
|
8
|
+
string 'name' # make + model + year
|
9
9
|
string 'make_name'
|
10
|
+
string 'model_name'
|
10
11
|
string 'make_model_name'
|
11
12
|
integer 'year'
|
12
13
|
string 'make_year_name'
|
@@ -18,8 +19,8 @@ AutomobileMakeModelYear.class_eval do
|
|
18
19
|
|
19
20
|
process "Derive model year names from automobile make model year variants" do
|
20
21
|
AutomobileMakeModelYearVariant.run_data_miner!
|
21
|
-
INSERT_IGNORE %{INTO automobile_make_model_years(name, make_name, make_model_name, year, make_year_name)
|
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
|
22
|
+
INSERT_IGNORE %{INTO automobile_make_model_years(name, make_name, model_name, make_model_name, year, make_year_name)
|
23
|
+
SELECT automobile_make_model_year_variants.make_model_year_name, automobile_make_model_year_variants.make_name, automobile_make_model_year_variants.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
|
23
24
|
}
|
24
25
|
end
|
25
26
|
|
@@ -106,7 +106,7 @@ AutomobileMakeModelYearVariant.class_eval do
|
|
106
106
|
}
|
107
107
|
|
108
108
|
class AutomobileMakeModelYearVariant::ParserB
|
109
|
-
::
|
109
|
+
::FixedWidth.define :fuel_economy_guide_b do |d|
|
110
110
|
d.rows do |row|
|
111
111
|
row.trap { true } # there's only one section
|
112
112
|
row.column 'active_year' , 4, :type => :integer # ACTIVE YEAR
|
@@ -372,10 +372,10 @@ AutomobileMakeModelYearVariant.class_eval do
|
|
372
372
|
end
|
373
373
|
|
374
374
|
# 2006--2009
|
375
|
-
# FIXME TODO the 2007 FEG import fails: ArgumentError: unknown encoding name - WINDOWS-936
|
376
375
|
{
|
377
376
|
2006 => { :url => 'http://www.fueleconomy.gov/FEG/epadata/06data.zip', :filename => '2006_FE_Guide_14-Nov-2005_download.csv' },
|
378
|
-
|
377
|
+
# the 07data.xls file provided by the government has a bad encoding
|
378
|
+
2007 => { :url => 'http://static.brighterplanet.com/science/data/transport/automobiles/fuel_economy_guide/2007_FE_guide_ALL_no_sales_May_01_2007.csv' },
|
379
379
|
2008 => { :url => 'http://www.fueleconomy.gov/FEG/epadata/08data.zip', :filename => '2008_FE_guide_ALL_rel_dates_-no sales-for DOE-5-1-08.csv' },
|
380
380
|
2009 => { :url => 'http://www.fueleconomy.gov/FEG/epadata/09data.zip', :filename => '2009_FE_guide for DOE_ALL-rel dates-no-sales-8-28-08download.csv' },
|
381
381
|
}.sort { |a, b| a.first <=> b.first }.each do |year, options|
|
@@ -407,7 +407,8 @@ AutomobileMakeModelYearVariant.class_eval do
|
|
407
407
|
|
408
408
|
# 2010--?
|
409
409
|
{
|
410
|
-
2010 => { :url => 'http://www.fueleconomy.gov/FEG/epadata/10data.zip', :filename => '2010FE Guide for DOE-all rel dates-no-sales 4-9-10public.xls' }
|
410
|
+
2010 => { :url => 'http://www.fueleconomy.gov/FEG/epadata/10data.zip', :filename => '2010FE Guide for DOE-all rel dates-no-sales 4-9-10public.xls' },
|
411
|
+
2011 => { :url => 'http://www.fueleconomy.gov/FEG/epadata/11data.zip', :filename => '2011FEGuide-for DOE rel-dates before 1-23-2011-no-sales-01-10-2011public.xlsx' }
|
411
412
|
}.sort { |a, b| a.first <=> b.first }.each do |year, options|
|
412
413
|
import "#{ year } Fuel Economy Guide",
|
413
414
|
options.merge(:transform => { :class => AutomobileMakeModelYearVariant::ParserE, :year => year },
|
@@ -466,10 +467,10 @@ AutomobileMakeModelYearVariant.class_eval do
|
|
466
467
|
end
|
467
468
|
end
|
468
469
|
|
469
|
-
verify "Year should be from 1985 to
|
470
|
+
verify "Year should be from 1985 to 2011" do
|
470
471
|
AutomobileMakeModelYearVariant.all.each do |variant|
|
471
|
-
unless variant.year > 1984 and variant.year <
|
472
|
-
raise "Invalid year for AutomobileMakeModelYearVariant #{variant.row_hash}: #{variant.year} (should be from 1985 to
|
472
|
+
unless variant.year > 1984 and variant.year < 2012
|
473
|
+
raise "Invalid year for AutomobileMakeModelYearVariant #{variant.row_hash}: #{variant.year} (should be from 1985 to 2011)"
|
473
474
|
end
|
474
475
|
end
|
475
476
|
end
|
@@ -22,13 +22,4 @@ class Country < ActiveRecord::Base
|
|
22
22
|
find_by_iso_3166_code('US')
|
23
23
|
end
|
24
24
|
end
|
25
|
-
|
26
|
-
# if we don't have a country-specific flight route inefficiency factor, use the fallback
|
27
|
-
def flight_route_inefficiency_factor
|
28
|
-
if specific_frif = super
|
29
|
-
specific_frif
|
30
|
-
else
|
31
|
-
Country.fallback.flight_route_inefficiency_factor
|
32
|
-
end
|
33
|
-
end
|
34
25
|
end
|
@@ -26,7 +26,7 @@ Country.class_eval do
|
|
26
26
|
end
|
27
27
|
|
28
28
|
import "country-specific flight route inefficiency factors derived from Kettunen et al. (2005)",
|
29
|
-
:url => 'https://spreadsheets.google.com/pub?key=0AoQJbWqPrREqdEJoRVBZaGhnUmlhX240VXE3X0F3WkE&
|
29
|
+
:url => 'https://spreadsheets.google.com/pub?key=0AoQJbWqPrREqdEJoRVBZaGhnUmlhX240VXE3X0F3WkE&output=csv' do
|
30
30
|
key 'iso_3166_code'
|
31
31
|
store 'flight_route_inefficiency_factor'
|
32
32
|
end
|
@@ -42,7 +42,7 @@ Country.class_eval do
|
|
42
42
|
|
43
43
|
# FIXME TODO eventually need to do this for all countries
|
44
44
|
process "Derive US average automobile fuel efficiency from AutomobileTypeFuelYear" do
|
45
|
-
|
45
|
+
AutomobileTypeFuelYear.run_data_miner!
|
46
46
|
|
47
47
|
scope = AutomobileTypeFuelYear.where(:year => AutomobileTypeFuelYear.maximum(:year))
|
48
48
|
fe = scope.sum(:total_travel) / scope.sum(:fuel_consumption)
|
@@ -10,6 +10,7 @@ BreedGender.class_eval do
|
|
10
10
|
|
11
11
|
import "Brighter Planet's list of cat and dog breeds, genders, and weights",
|
12
12
|
:url => 'http://static.brighterplanet.com/science/data/consumables/pets/breed_genders.csv',
|
13
|
+
:encoding => 'ISO-8859-1',
|
13
14
|
:select => lambda { |row| row['gender'].present? } do
|
14
15
|
key 'name', :synthesize => lambda { |row| row['name'] + ' ' + row['gender'] }
|
15
16
|
store 'breed_name', :field_name => 'name'
|
@@ -17,7 +17,7 @@ ClothesMachineUse.class_eval do
|
|
17
17
|
process "precalculate annual energy use" do
|
18
18
|
find_in_batches do |batch|
|
19
19
|
batch.each do |record|
|
20
|
-
record.annual_energy_from_electricity_for_clothes_driers = ResidentialEnergyConsumptionSurveyResponse.big_cohort(:
|
20
|
+
record.annual_energy_from_electricity_for_clothes_driers = ResidentialEnergyConsumptionSurveyResponse.big_cohort(:clothes_machine_use_id => record.name).weighted_average :annual_energy_from_electricity_for_clothes_driers
|
21
21
|
record.annual_energy_from_electricity_for_clothes_driers_units = 'joules'
|
22
22
|
record.save!
|
23
23
|
end
|
@@ -17,7 +17,7 @@ DishwasherUse.class_eval do
|
|
17
17
|
process "precalculate annual energy" do
|
18
18
|
find_in_batches do |batch|
|
19
19
|
batch.each do |record|
|
20
|
-
record.annual_energy_from_electricity_for_dishwashers = ResidentialEnergyConsumptionSurveyResponse.big_cohort(:
|
20
|
+
record.annual_energy_from_electricity_for_dishwashers = ResidentialEnergyConsumptionSurveyResponse.big_cohort(:dishwasher_use_id => record.name).weighted_average :annual_energy_from_electricity_for_dishwashers
|
21
21
|
record.annual_energy_from_electricity_for_dishwashers_units = 'joules'
|
22
22
|
record.save!
|
23
23
|
end
|
@@ -120,7 +120,7 @@ ResidenceFuelPrice.class_eval do
|
|
120
120
|
Conversions.register :dollars, :cents, 100
|
121
121
|
Conversions.register :cubic_feet, :cubic_metres, 0.0283168466 # TODO conversions gem has 'cubic_metres'
|
122
122
|
end
|
123
|
-
|
123
|
+
|
124
124
|
# electricity in dollars per kWh
|
125
125
|
import 'residential electricity prices from the EIA',
|
126
126
|
:url => 'http://www.eia.doe.gov/cneaf/electricity/page/sales_revenue.xls',
|
@@ -153,39 +153,44 @@ ResidenceFuelPrice.class_eval do
|
|
153
153
|
store 'month'
|
154
154
|
end
|
155
155
|
|
156
|
+
# FIXME TODO file missing
|
156
157
|
# dollars per litre
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
158
|
+
# sabshere 4/18/2011 this file has gone missing
|
159
|
+
# ihough 4/22/2011 comment out for now; we'll deal with this later
|
160
|
+
# import "residential fuel oil prices from the EIA",
|
161
|
+
# :url => 'http://tonto.eia.doe.gov/dnav/pet/xls/PET_PRI_RESID_A_EPPR_PTA_CPGAL_M.xls',
|
162
|
+
# :sheet => 'Data 1',
|
163
|
+
# :skip => 2,
|
164
|
+
# :select => lambda { |row| row['year'].to_i > 1989 },
|
165
|
+
# :transform => { :class => FuelOilParser } do
|
166
|
+
# key 'row_hash'
|
167
|
+
# store 'residence_fuel_type_name', :static => 'fuel oil'
|
168
|
+
# store 'locatable_id'
|
169
|
+
# store 'locatable_type'
|
170
|
+
# store 'price', :from_units => :litres, :to_units => :gallons # denominator
|
171
|
+
# store 'price_description', :static => 'dollars_per_litre'
|
172
|
+
# store 'year'
|
173
|
+
# store 'month'
|
174
|
+
# end
|
172
175
|
|
176
|
+
# FIXME TODO file missing
|
173
177
|
# dollars per litre
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
178
|
+
# ihough 4/22/2011 comment out for now; we'll deal with this later
|
179
|
+
# import "residential propane prices from the EIA",
|
180
|
+
# :url => 'http://tonto.eia.doe.gov/dnav/pet/xls/PET_PRI_PROP_A_EPLLPA_PRT_CPGAL_M.xls',
|
181
|
+
# :sheet => 'Data 1',
|
182
|
+
# :skip => 2,
|
183
|
+
# :select => lambda { |row| row['year'].to_i > 1989 },
|
184
|
+
# :transform => { :class => PropaneParser } do
|
185
|
+
# key 'row_hash'
|
186
|
+
# store 'residence_fuel_type_name', :static => 'propane'
|
187
|
+
# store 'locatable_id'
|
188
|
+
# store 'locatable_type'
|
189
|
+
# store 'price', :from_units => :litres, :to_units => :gallons # denominator
|
190
|
+
# store 'price_description', :static => 'dollars_per_litre'
|
191
|
+
# store 'year'
|
192
|
+
# store 'month'
|
193
|
+
# end
|
189
194
|
|
190
195
|
# per Matt in https://brighterplanet.sifterapp.com/projects/30/issues/410/comments
|
191
196
|
# "For coal and kerosene, there isn't good residential price data available, because hardly anybody actually uses them residentially."
|
data/lib/earth/version.rb
CHANGED
@@ -4,7 +4,7 @@ require 'earth/automobile/data_miner'
|
|
4
4
|
|
5
5
|
describe AutomobileTypeFuelYearAge do
|
6
6
|
describe 'import' do
|
7
|
-
it 'imports and processes data successfully' do
|
7
|
+
it 'imports and processes data successfully', :slow => true do
|
8
8
|
expect do
|
9
9
|
AutomobileTypeFuelYearAge.run_data_miner!
|
10
10
|
end.should_not raise_error
|
metadata
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: earth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 4
|
8
|
-
- 9
|
9
|
-
version: 0.4.9
|
4
|
+
prerelease:
|
5
|
+
version: 0.4.10
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- Seamus Abshere
|
@@ -16,205 +12,167 @@ autorequire:
|
|
16
12
|
bindir: bin
|
17
13
|
cert_chain: []
|
18
14
|
|
19
|
-
date: 2011-03-10 00:00:00 -
|
15
|
+
date: 2011-03-10 00:00:00 -06:00
|
20
16
|
default_executable:
|
21
17
|
dependencies:
|
22
18
|
- !ruby/object:Gem::Dependency
|
23
19
|
name: cohort_scope
|
20
|
+
prerelease: false
|
24
21
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
22
|
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
- 0
|
31
|
-
- 1
|
32
|
-
- 5
|
33
|
-
version: 0.1.5
|
26
|
+
version: 0.2.0
|
34
27
|
type: :runtime
|
35
|
-
prerelease: false
|
36
28
|
version_requirements: *id001
|
37
29
|
- !ruby/object:Gem::Dependency
|
38
30
|
name: data_miner
|
31
|
+
prerelease: false
|
39
32
|
requirement: &id002 !ruby/object:Gem::Requirement
|
40
33
|
none: false
|
41
34
|
requirements:
|
42
|
-
- -
|
35
|
+
- - ">="
|
43
36
|
- !ruby/object:Gem::Version
|
44
|
-
|
45
|
-
- 1
|
46
|
-
- 1
|
47
|
-
- 4
|
48
|
-
version: 1.1.4
|
37
|
+
version: "0"
|
49
38
|
type: :runtime
|
50
|
-
prerelease: false
|
51
39
|
version_requirements: *id002
|
52
40
|
- !ruby/object:Gem::Dependency
|
53
41
|
name: falls_back_on
|
42
|
+
prerelease: false
|
54
43
|
requirement: &id003 !ruby/object:Gem::Requirement
|
55
44
|
none: false
|
56
45
|
requirements:
|
57
|
-
- -
|
46
|
+
- - ">="
|
58
47
|
- !ruby/object:Gem::Version
|
59
|
-
|
60
|
-
- 0
|
61
|
-
- 1
|
62
|
-
- 3
|
63
|
-
version: 0.1.3
|
48
|
+
version: "0"
|
64
49
|
type: :runtime
|
65
|
-
prerelease: false
|
66
50
|
version_requirements: *id003
|
67
51
|
- !ruby/object:Gem::Dependency
|
68
|
-
name:
|
52
|
+
name: fixed_width
|
53
|
+
prerelease: false
|
69
54
|
requirement: &id004 !ruby/object:Gem::Requirement
|
70
55
|
none: false
|
71
56
|
requirements:
|
72
57
|
- - ">="
|
73
58
|
- !ruby/object:Gem::Version
|
74
|
-
segments:
|
75
|
-
- 0
|
76
59
|
version: "0"
|
77
60
|
type: :runtime
|
78
|
-
prerelease: false
|
79
61
|
version_requirements: *id004
|
80
62
|
- !ruby/object:Gem::Dependency
|
81
|
-
name:
|
63
|
+
name: geokit-rails
|
64
|
+
prerelease: false
|
82
65
|
requirement: &id005 !ruby/object:Gem::Requirement
|
83
66
|
none: false
|
84
67
|
requirements:
|
85
|
-
- -
|
68
|
+
- - ">="
|
86
69
|
- !ruby/object:Gem::Version
|
87
|
-
|
88
|
-
- 0
|
89
|
-
- 0
|
90
|
-
- 10
|
91
|
-
version: 0.0.10
|
70
|
+
version: "0"
|
92
71
|
type: :runtime
|
93
|
-
prerelease: false
|
94
72
|
version_requirements: *id005
|
95
73
|
- !ruby/object:Gem::Dependency
|
96
74
|
name: weighted_average
|
75
|
+
prerelease: false
|
97
76
|
requirement: &id006 !ruby/object:Gem::Requirement
|
98
77
|
none: false
|
99
78
|
requirements:
|
100
|
-
- -
|
79
|
+
- - ">="
|
101
80
|
- !ruby/object:Gem::Version
|
102
|
-
|
103
|
-
- 0
|
104
|
-
- 0
|
105
|
-
- 6
|
106
|
-
version: 0.0.6
|
81
|
+
version: "0"
|
107
82
|
type: :runtime
|
108
|
-
prerelease: false
|
109
83
|
version_requirements: *id006
|
110
84
|
- !ruby/object:Gem::Dependency
|
111
85
|
name: bundler
|
86
|
+
prerelease: false
|
112
87
|
requirement: &id007 !ruby/object:Gem::Requirement
|
113
88
|
none: false
|
114
89
|
requirements:
|
115
90
|
- - ">="
|
116
91
|
- !ruby/object:Gem::Version
|
117
|
-
segments:
|
118
|
-
- 0
|
119
92
|
version: "0"
|
120
93
|
type: :development
|
121
|
-
prerelease: false
|
122
94
|
version_requirements: *id007
|
123
95
|
- !ruby/object:Gem::Dependency
|
124
96
|
name: bueller
|
97
|
+
prerelease: false
|
125
98
|
requirement: &id008 !ruby/object:Gem::Requirement
|
126
99
|
none: false
|
127
100
|
requirements:
|
128
101
|
- - ">="
|
129
102
|
- !ruby/object:Gem::Version
|
130
|
-
segments:
|
131
|
-
- 0
|
132
103
|
version: "0"
|
133
104
|
type: :development
|
134
|
-
prerelease: false
|
135
105
|
version_requirements: *id008
|
136
106
|
- !ruby/object:Gem::Dependency
|
137
107
|
name: cucumber
|
108
|
+
prerelease: false
|
138
109
|
requirement: &id009 !ruby/object:Gem::Requirement
|
139
110
|
none: false
|
140
111
|
requirements:
|
141
112
|
- - ">="
|
142
113
|
- !ruby/object:Gem::Version
|
143
|
-
segments:
|
144
|
-
- 0
|
145
114
|
version: "0"
|
146
115
|
type: :development
|
147
|
-
prerelease: false
|
148
116
|
version_requirements: *id009
|
149
117
|
- !ruby/object:Gem::Dependency
|
150
118
|
name: rake
|
119
|
+
prerelease: false
|
151
120
|
requirement: &id010 !ruby/object:Gem::Requirement
|
152
121
|
none: false
|
153
122
|
requirements:
|
154
123
|
- - ">="
|
155
124
|
- !ruby/object:Gem::Version
|
156
|
-
segments:
|
157
|
-
- 0
|
158
125
|
version: "0"
|
159
126
|
type: :development
|
160
|
-
prerelease: false
|
161
127
|
version_requirements: *id010
|
162
128
|
- !ruby/object:Gem::Dependency
|
163
129
|
name: rdoc
|
130
|
+
prerelease: false
|
164
131
|
requirement: &id011 !ruby/object:Gem::Requirement
|
165
132
|
none: false
|
166
133
|
requirements:
|
167
134
|
- - ">="
|
168
135
|
- !ruby/object:Gem::Version
|
169
|
-
segments:
|
170
|
-
- 0
|
171
136
|
version: "0"
|
172
137
|
type: :development
|
173
|
-
prerelease: false
|
174
138
|
version_requirements: *id011
|
175
139
|
- !ruby/object:Gem::Dependency
|
176
140
|
name: rdoc
|
141
|
+
prerelease: false
|
177
142
|
requirement: &id012 !ruby/object:Gem::Requirement
|
178
143
|
none: false
|
179
144
|
requirements:
|
180
145
|
- - ">="
|
181
146
|
- !ruby/object:Gem::Version
|
182
|
-
segments:
|
183
|
-
- 0
|
184
147
|
version: "0"
|
185
148
|
type: :development
|
186
|
-
prerelease: false
|
187
149
|
version_requirements: *id012
|
188
150
|
- !ruby/object:Gem::Dependency
|
189
151
|
name: rspec
|
152
|
+
prerelease: false
|
190
153
|
requirement: &id013 !ruby/object:Gem::Requirement
|
191
154
|
none: false
|
192
155
|
requirements:
|
193
156
|
- - ">="
|
194
157
|
- !ruby/object:Gem::Version
|
195
|
-
segments:
|
196
|
-
- 0
|
197
158
|
version: "0"
|
198
159
|
type: :development
|
199
|
-
prerelease: false
|
200
160
|
version_requirements: *id013
|
201
161
|
- !ruby/object:Gem::Dependency
|
202
162
|
name: sqlite3-ruby
|
163
|
+
prerelease: false
|
203
164
|
requirement: &id014 !ruby/object:Gem::Requirement
|
204
165
|
none: false
|
205
166
|
requirements:
|
206
167
|
- - ">="
|
207
168
|
- !ruby/object:Gem::Version
|
208
|
-
segments:
|
209
|
-
- 0
|
210
169
|
version: "0"
|
211
170
|
type: :development
|
212
|
-
prerelease: false
|
213
171
|
version_requirements: *id014
|
214
172
|
description: An earth-simulation environment with ActiveRecord models and data
|
215
173
|
email: andy@rossmeissl.net
|
216
|
-
executables:
|
217
|
-
|
174
|
+
executables:
|
175
|
+
- earth_tester.rb
|
218
176
|
extensions: []
|
219
177
|
|
220
178
|
extra_rdoc_files:
|
@@ -229,6 +187,7 @@ files:
|
|
229
187
|
- LICENSE-PREAMBLE
|
230
188
|
- README.markdown
|
231
189
|
- Rakefile
|
190
|
+
- bin/earth_tester.rb
|
232
191
|
- earth.gemspec
|
233
192
|
- features/automobile_fuel.feature
|
234
193
|
- features/automobile_make.feature
|
@@ -554,23 +513,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
554
513
|
requirements:
|
555
514
|
- - ">="
|
556
515
|
- !ruby/object:Gem::Version
|
557
|
-
hash: -1989203883064114868
|
558
|
-
segments:
|
559
|
-
- 0
|
560
516
|
version: "0"
|
561
517
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
562
518
|
none: false
|
563
519
|
requirements:
|
564
520
|
- - ">="
|
565
521
|
- !ruby/object:Gem::Version
|
566
|
-
hash: -1989203883064114868
|
567
|
-
segments:
|
568
|
-
- 0
|
569
522
|
version: "0"
|
570
523
|
requirements: []
|
571
524
|
|
572
525
|
rubyforge_project:
|
573
|
-
rubygems_version: 1.
|
526
|
+
rubygems_version: 1.6.2
|
574
527
|
signing_key:
|
575
528
|
specification_version: 3
|
576
529
|
summary: Land, sky, and sea
|