Module: NutritionalCalculator
- Defined in:
- lib/nutritional_calculator.rb,
lib/nutritional_calculator/food.rb,
lib/nutritional_calculator/version.rb,
lib/nutritional_calculator/foodgroup.rb,
lib/nutritional_calculator/linkedlist.rb
Overview
El módulo se crea para describir los distintos elementos que compondrán una calculadora nutricional de alimentos.
- Author
-
Cristian Abrante (mailto: alu0100945850@ull.edu.es)
- Copyright
-
Creative Commons
- License
-
Distributed under the same license as Ruby.
Defined Under Namespace
Classes: Food, FoodGroup, LinkedList
Constant Summary
- VERSION =
Versión actual de la gema.
"3.0.0"
Class Method Summary collapse
-
.read_nutritional_file(file_name) ⇒ Object
Método que lee la configuración del fichero.
-
.read_nutritional_groups(file_name) ⇒ Object
Método que lee la configuración del fichero para un grupo de alimentos.
Class Method Details
.read_nutritional_file(file_name) ⇒ Object
Método que lee la configuración del fichero.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/nutritional_calculator.rb', line 13 def self.read_nutritional_file(file_name) nutritional_hash = Hash.new File.open(file_name, "r") do |f| f.each_line do |line| vector = line.split(" ") if vector.length == 4 nutritional_hash[vector[0]] = vector[1...4].map {|value| value.to_f} else pos = 1 food_name = vector[0] while vector[pos].to_f == 0.0 && vector[pos] != "#{vector[pos].to_f}" food_name += " " + vector[pos] pos += 1 end nutritional_hash[food_name] = vector[pos...vector.length].map {|value| value.to_f} end end end return nutritional_hash end |
.read_nutritional_groups(file_name) ⇒ Object
Método que lee la configuración del fichero para un grupo de alimentos.
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/nutritional_calculator.rb', line 47 def self.read_nutritional_groups(file_name) nutritional_groups = Hash.new File.open(file_name, "r") do |f| f.each_line do |line| vector = line.split(" ") num_pos = 1 food_name = "#{vector[0]}" while vector[num_pos].to_f == 0.0 && vector[num_pos] != "#{vector[num_pos].to_f}" food_name += " " + "#{vector[num_pos]}" num_pos += 1 end food_group = "" for chunk in vector[(num_pos + 3)...vector.length] do food_group += "#{chunk} " end vector_of_food = vector[num_pos...num_pos + 3].map {|value| value.to_f} vector_of_food[3] = food_group nutritional_groups[food_name] = vector_of_food end end nutritional_groups end |