class FoodNutritionix::Food

Constants

ATTRIBUTES

Public Class Methods

new(data) click to toggle source
# File lib/foodnutritionix/food.rb, line 21
def initialize(data)
  @name = data['food_name']
  populate_serving_information(data)
  populate_nutrition_facts(data)
  @photo = data['photo']
end

Public Instance Methods

to_h()
Alias for: to_hash
to_hash() click to toggle source
# File lib/foodnutritionix/food.rb, line 28
def to_hash
  ATTRIBUTES.map { |attribute| [attribute, send(attribute)] }.to_h
end
Also aliased as: to_h

Private Instance Methods

populate_nutrition_facts(data) click to toggle source
# File lib/foodnutritionix/food.rb, line 46
def populate_nutrition_facts(data)
  @calories      = data.fetch('nf_calories', 0.0)
  @fat           = data.fetch('nf_total_fat', 0.0)
  @saturated_fat = data.fetch('nf_saturated_fat', 0.0)
  @cholesterol   = data.fetch('nf_cholesterol', 0.0)
  @sodium        = data.fetch('nf_sodium', 0.0)
  @carbohydrate  = data.fetch('nf_total_carbohydrate', 0.0)
  @dietary_fiber = data.fetch('nf_dietary_fiber', 0.0)
  @sugars        = data.fetch('nf_sugars', 0.0)
  @protein       = data.fetch('nf_protein', 0.0)
  @potassium     = data.fetch('nf_potassium', 0.0)
end
populate_serving_information(data) click to toggle source
# File lib/foodnutritionix/food.rb, line 40
def populate_serving_information(data)
  @serving_quantity = data['serving_qty']
  @serving_unit     = data['serving_unit']
  @serving_weight   = data['serving_weight_grams']
end