class UsdaNutrientDatabase::Import::Foods

Private Instance Methods

apply_typecasts(row) click to toggle source
# File lib/usda_nutrient_database/import/foods.rb, line 9
def apply_typecasts(row)
  row[6] = row[6].present?
  row
end
columns() click to toggle source
# File lib/usda_nutrient_database/import/foods.rb, line 27
def columns
  [
    :nutrient_databank_number, :food_group_code, :long_description,
    :short_description, :common_names, :manufacturer_name, :survey,
    :refuse_description, :percentage_refuse, :nitrogen_factor,
    :protein_factor, :fat_factor, :carbohydrate_factor
  ]
end
filename() click to toggle source
# File lib/usda_nutrient_database/import/foods.rb, line 23
def filename
  'FOOD_DES.txt'
end
find_or_initialize(row) click to toggle source
# File lib/usda_nutrient_database/import/foods.rb, line 14
def find_or_initialize(row)
  UsdaNutrientDatabase::Food.
    find_or_initialize_by(nutrient_databank_number: row[0])
end
log_import_started() click to toggle source
# File lib/usda_nutrient_database/import/foods.rb, line 19
def log_import_started
  UsdaNutrientDatabase.log 'Importing foods'
end
save_objects() click to toggle source
# File lib/usda_nutrient_database/import/foods.rb, line 36
def save_objects
  UsdaNutrientDatabase::Food.import(columns, objects_to_import, {
    validate: false,
    on_duplicate_key_update: {
      conflict_target: :nutrient_databank_number,
      columns: columns
    }
  })
end