class UsdaNutrientDatabase::Importer

Attributes

directory[R]
version[R]

Public Class Methods

new(directory = 'tmp/usda', version = UsdaNutrientDatabase.usda_version) click to toggle source
# File lib/usda_nutrient_database/importer.rb, line 5
def initialize(directory = 'tmp/usda', version = UsdaNutrientDatabase.usda_version)
  @directory = directory
  @version = version
end

Public Instance Methods

import() click to toggle source
# File lib/usda_nutrient_database/importer.rb, line 10
def import
  downloader.download_and_unzip
  importer_names.each { |importer_name| importer_for(importer_name).import }
ensure
  downloader.cleanup
end

Private Instance Methods

downloader() click to toggle source
# File lib/usda_nutrient_database/importer.rb, line 36
def downloader
  UsdaNutrientDatabase::Import::Downloader.new(directory, version)
end
importer_for(importer_name) click to toggle source
# File lib/usda_nutrient_database/importer.rb, line 31
def importer_for(importer_name)
  "UsdaNutrientDatabase::Import::#{importer_name}".constantize.
    new("#{directory}/#{version}")
end
importer_names() click to toggle source
# File lib/usda_nutrient_database/importer.rb, line 19
def importer_names
  [
    'FoodGroups',
    'SourceCodes',
    'Nutrients',
    'Foods',
    'FoodsNutrients',
    'Weights',
    'Footnotes'
  ]
end