Method: FoodAbstract#initialize
- Defined in:
- lib/food/food_class.rb
#initialize(name, protein_energy_pair, glucid_energy_pair, lipid_energy_pair) ⇒ FoodAbstract
Constructor of Abstract Food for allowing the childs to call it.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/food/food_class.rb', line 25 def initialize (name, protein_energy_pair, glucid_energy_pair, lipid_energy_pair) raise unless name.is_a? String raise unless ((protein_energy_pair.is_a? Array) && (glucid_energy_pair.is_a? Array) && (lipid_energy_pair.is_a? Array)) raise unless ((protein_energy_pair.count == 2) && (glucid_energy_pair.count == 2) && (lipid_energy_pair.count == 2)) protein_energy_pair.each { |element| raise unless element.is_a?(Integer) || element.is_a?(Float) } glucid_energy_pair.each { |element| raise unless element.is_a?(Integer) || element.is_a?(Float) } lipid_energy_pair.each { |element| raise unless element.is_a?(Integer) || element.is_a?(Float) } @name = name.capitalize @protein_quantity = protein_energy_pair[0] @glucid_quantity = glucid_energy_pair[0] @lipid_quantity = lipid_energy_pair[0] # Vector de pares, pues hash no permite iguales @pair_macronutrient_energy = [] @pair_macronutrient_energy.push([protein_energy_pair[0], protein_energy_pair[1]]) @pair_macronutrient_energy.push([glucid_energy_pair[0], glucid_energy_pair[1]]) @pair_macronutrient_energy.push([lipid_energy_pair[0], lipid_energy_pair[1]]) @energetic_content = calculate_energetic_content.round(3) end |