Class: AutomobileTypeFuelYearControl

Inherits:
ActiveRecord::Base
  • Object
show all
Extended by:
Earth::Model
Defined in:
lib/earth/automobile/automobile_type_fuel_year_control.rb

Constant Summary collapse

TABLE_STRUCTURE =
<<-EOS

CREATE TABLE automobile_type_fuel_year_controls
  (
     name                   CHARACTER VARYING(255) NOT NULL PRIMARY KEY,
     type_name              CHARACTER VARYING(255),
     fuel_family            CHARACTER VARYING(255),
     year                   INTEGER,
     control_name           CHARACTER VARYING(255),
     type_fuel_control_name CHARACTER VARYING(255),
     total_travel_percent   FLOAT
  );

EOS

Class Method Summary collapse

Methods included from Earth::Model

extend_mining, extended, registry

Class Method Details

.find_all_by_type_name_and_fuel_family_and_closest_year(type_name, fuel_family, year) ⇒ Object

Used by AutomobileTypeFuelYear



32
33
34
35
36
37
38
39
# File 'lib/earth/automobile/automobile_type_fuel_year_control.rb', line 32

def self.find_all_by_type_name_and_fuel_family_and_closest_year(type_name, fuel_family, year)
  candidates = where(:type_name => type_name, :fuel_family => fuel_family)
  if year > (max_year = candidates.maximum(:year))
    candidates.where :year => max_year
  else
    candidates.where :year => [year, candidates.minimum(:year)].max
  end
end