lib/earth/pet/species.rb in earth-0.5.0 vs lib/earth/pet/species.rb in earth-0.5.2
- old
+ new
@@ -1,18 +1,31 @@
class Species < ActiveRecord::Base
set_primary_key :name
+ create_table do
+ string 'name'
+ integer 'population'
+ float 'diet_emission_intensity'
+ string 'diet_emission_intensity_units'
+ float 'weight'
+ string 'weight_units'
+ float 'marginal_dietary_requirement'
+ string 'marginal_dietary_requirement_units'
+ float 'fixed_dietary_requirement'
+ string 'fixed_dietary_requirement_units'
+ float 'minimum_weight'
+ string 'minimum_weight_units'
+ float 'maximum_weight'
+ string 'maximum_weight_units'
+ end
+
scope :thoroughly_researched, :conditions => 'marginal_dietary_requirement IS NOT NULL'
falls_back_on :diet_emission_intensity => lambda { weighted_average :diet_emission_intensity, :weighted_by => :population }, # kg CO2 / joule
:marginal_dietary_requirement => lambda { Species.marginal_dietary_requirement_fallback },
:fixed_dietary_requirement => 0, # force a zero intercept to be respectful of our tiny tiny animal friends
:weight => lambda { weighted_average :weight, :weighted_by => :population } # kg
- data_miner do
- tap "Brighter Planet's species data", Earth.taps_server
- end
-
class << self
def [](name)
find_by_name name.to_s
end