class NutritionFacts::Item

Attributes

hits[RW]
item_name[RW]
max_score[RW]
nf_calcium_dv[RW]
nf_calories[RW]
nf_calories_from_fat[RW]
nf_cholesterol[RW]
nf_dietary_fiber[RW]
nf_iron_dv[RW]
nf_protein[RW]
nf_saturated_fat[RW]
nf_serving_size_qty[RW]
nf_serving_size_unit[RW]
nf_serving_weight_grams[RW]
nf_sodium[RW]
nf_sugars[RW]
nf_total_carbohydrate[RW]
nf_total_fat[RW]
nf_vitamin_a_dv[RW]
nf_vitamin_c_dv[RW]
total_hits[RW]

Public Class Methods

all() click to toggle source
# File lib/nutrition_facts/item.rb, line 39
def self.all
  @@all
end
find_by_name(name) click to toggle source
# File lib/nutrition_facts/item.rb, line 19
def self.find_by_name(name)
  uri = URI.parse("https://api.nutritionix.com/v1_1/search/#{name}?results=0%3A9&cal_min=0&cal_max=50000&fields=item_name%2Cnf_calories%2Cnf_total_fat%2Cnf_total_carbohydrate%2Cnf_dietary_fiber%2Cnf_sugars%2Cnf_protein%2Cnf_serving_weight_grams%2Cnf_cholesterol%2Cnf_saturated_fat%2Cnf_calories_from_fat%2Cnf_sodium%2Cnf_calcium_dv%2Cnf_iron_dv%2Cnf_vitamin_a_dv%2Cnf_vitamin_c_dv%2Cnf_serving_size_qty%2Cnf_serving_size_unit&appId=da276553&appKey=f501b79647768ba684af20428a44ef59")

  response = Net::HTTP.get_response(uri)

  raw_data = JSON.parse(response.body)

  if raw_data['hits'].empty?
    puts ''
  else
    i = 0
    num = raw_data['hits'].count
    while i < num
      @@all << NutritionFacts::Item.new(raw_data['hits'][i]['fields'])
      i += 1
    end
  end
  @@all
end
new(item_list = {}) click to toggle source
# File lib/nutrition_facts/item.rb, line 13
def initialize(item_list = {})
  item_list.each do |key, value|
    send("#{key}=", value)
  end
end
reset() click to toggle source
# File lib/nutrition_facts/item.rb, line 43
def self.reset
  @@all.clear
end