Method: MecsEnergy.find_by_naics_code_and_census_region_number

Defined in:
lib/earth/industry/mecs_energy.rb

.find_by_naics_code_and_census_region_number(code, number, original_number = number) ⇒ Object

Find the first record whose census_region_number matches number, whose naics_code matches code, and that has valid fuel ratios. If none found and we know census region number, try looking nationwide If none found and looking nationwide, chop off the last character of code and try again looking in census region And so on



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/earth/industry/mecs_energy.rb', line 52

def self.find_by_naics_code_and_census_region_number(code, number, original_number = number)
  if code.blank?
    record = nil
  else
    code = Industry.format_naics_code code
    candidate = where(:census_region_number => number, :naics_code => code).first
    
    if candidate.try(:fuel_ratios).present?
      record = candidate
    elsif number.present?
      record = find_by_naics_code_and_census_region_number(code, nil, original_number)
    else
      record = find_by_naics_code_and_census_region_number(code[0..-2], original_number)
    end
  end
  record
end