class UsdaNutrientDatabase::Import::FoodsNutrients
Private Instance Methods
apply_typecasts(row)
click to toggle source
# File lib/usda_nutrient_database/import/foods_nutrients.rb, line 7 def apply_typecasts(row) row[8] = row[8] == 'Y' row end
columns()
click to toggle source
# File lib/usda_nutrient_database/import/foods_nutrients.rb, line 12 def columns [ :nutrient_databank_number, :nutrient_number, :nutrient_value, :num_data_points, :standard_error, :src_code, :derivation_code, :ref_nutrient_databank_number, :add_nutrient_mark, :num_studies, :min, :max, :degrees_of_freedom, :lower_error_bound, :upper_error_bound, :statistical_comments, :add_mod_date ] end
filename()
click to toggle source
# File lib/usda_nutrient_database/import/foods_nutrients.rb, line 29 def filename 'NUT_DATA.txt' end
find_or_initialize(row)
click to toggle source
# File lib/usda_nutrient_database/import/foods_nutrients.rb, line 22 def find_or_initialize(row) UsdaNutrientDatabase::FoodsNutrient.new( nutrient_databank_number: row[0], nutrient_number: row[3] ) end
log_import_started()
click to toggle source
# File lib/usda_nutrient_database/import/foods_nutrients.rb, line 33 def log_import_started UsdaNutrientDatabase.log 'Importing foods_nutrients' end
save_objects()
click to toggle source
# File lib/usda_nutrient_database/import/foods_nutrients.rb, line 37 def save_objects options = { batch_size: UsdaNutrientDatabase.batch_size, validate: false } if UsdaNutrientDatabase::FoodsNutrient.exists? options.merge!( on_duplicate_key_update: { conflict_target: %i(nutrient_databank_number nutrient_number), columns: columns } ) end UsdaNutrientDatabase::FoodsNutrient.import( columns, objects_to_import, options ) end