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
search(*names)
click to toggle source
# File lib/foodnutritionix/food.rb, line 33 def self.search(*names) FoodNutrixClient.search_foods(names) &.map { |food| new(food) } end
Public Instance Methods
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