alimento_odmc 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.coveralls.yml +1 -0
- data/.gitignore +13 -0
- data/.travis.yml +5 -0
- data/Gemfile +8 -0
- data/Guardfile +82 -0
- data/README.md +35 -0
- data/Rakefile +6 -0
- data/alimento.gemspec +43 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/docs/Alimento.html +117 -0
- data/docs/AlimentoC.html +507 -0
- data/docs/Alimentos.html +1114 -0
- data/docs/Lista.html +1583 -0
- data/docs/Nodo.html +416 -0
- data/docs/_index.html +143 -0
- data/docs/class_list.html +51 -0
- data/docs/css/common.css +1 -0
- data/docs/css/full_list.css +58 -0
- data/docs/css/style.css +492 -0
- data/docs/file.README.html +119 -0
- data/docs/file_list.html +56 -0
- data/docs/frames.html +17 -0
- data/docs/index.html +119 -0
- data/docs/js/app.js +248 -0
- data/docs/js/full_list.js +216 -0
- data/docs/js/jquery.js +4 -0
- data/docs/method_list.html +299 -0
- data/docs/top-level-namespace.html +112 -0
- data/lib/alimento.rb +5 -0
- data/lib/alimento/alimento.rb +69 -0
- data/lib/alimento/alimentoC.rb +23 -0
- data/lib/alimento/lista.rb +244 -0
- data/lib/alimento/platoDls.rb +192 -0
- data/lib/alimento/version.rb +3 -0
- metadata +177 -0
@@ -0,0 +1,192 @@
|
|
1
|
+
require "alimento/lista.rb"
|
2
|
+
require "alimento/version.rb"
|
3
|
+
|
4
|
+
class PlatoDls
|
5
|
+
attr_accessor :nombre, :v_energetico, :vegetales, :frutas, :cereales, :proteinas, :aceites
|
6
|
+
|
7
|
+
#@note Lista de alimentos para la costrucción de los platos
|
8
|
+
@@lista = Lista.new()
|
9
|
+
@HuevoFrito = AlimentoC.new("Huevo Frito", 14.1, 0.0, 19.5, "Huevos, lacteos y helados" )
|
10
|
+
@LecheVaca = AlimentoC.new("Leche vaca", 3.3, 4.8, 3.2, "Huevos, lacteos y helados")
|
11
|
+
@Yogurt = AlimentoC.new("Yogurt", 3.8, 4.9, 3.8, "Huevos, lacteos y helados")
|
12
|
+
@Cerdo = AlimentoC.new("Cerdo", 21.5, 0.0, 6.3, "Carnes y derivados")
|
13
|
+
@Ternera = AlimentoC.new("Ternera", 21.1, 0.0, 3.1, "Carnes y derivados")
|
14
|
+
@Pollo = AlimentoC.new("Pollo", 20.6, 0.0, 5.6, "Carnes y derivados")
|
15
|
+
@Bacalao = AlimentoC.new("Bacalao", 17.7, 0.0, 0.4, "Pescados y mariscos")
|
16
|
+
@Atun = AlimentoC.new("Atun", 21.5, 0.0, 15.5, "Pescados y mariscos")
|
17
|
+
@Salmon = AlimentoC.new("Salmon", 19.9, 0.0, 13.6, "Pescados y mariscos")
|
18
|
+
@AceiteOliva = AlimentoC.new("Aceite Oliva", 0.0, 0.2, 99.6, "Alimentos grasos")
|
19
|
+
@Mantequilla = AlimentoC.new("Mantequilla", 0.7, 0.0, 83.2, "Alimentos grasos")
|
20
|
+
@Chocolate = AlimentoC.new("Chocolate", 5.3, 47.0, 30.0, "Alimentos grasos")
|
21
|
+
@Azucar = AlimentoC.new("Azucar", 0.0, 99.8, 0.0, "Alimentos ricos en carbohidratos")
|
22
|
+
@Arroz = AlimentoC.new("Arroz",6.8, 77.7, 0.6, "Alimentos ricos en carbohidratos")
|
23
|
+
@Lentejas = AlimentoC.new("Lentejas", 23.5, 52.0, 1.4, "Alimentos ricos en carbohidratos")
|
24
|
+
@Papas = AlimentoC.new("Papas",2.0, 15.4, 0.1, "Alimentos ricos en carbohidratos")
|
25
|
+
@Tomate = AlimentoC.new("Tomate", 1.0, 3.5, 0.2, "Verduras y Hortalizas")
|
26
|
+
@Cebolla = AlimentoC.new("Cebolla", 1.3, 5.8, 0.3, "Verduras y Hortalizas")
|
27
|
+
@Calabaza = AlimentoC.new("Calabaza", 1.1, 4.8, 0.1, "Verduras y Hortalizas")
|
28
|
+
@Manzanas = AlimentoC.new("Manzanas", 0.3, 12.4, 0.4, "Frutas")
|
29
|
+
@Platanos = AlimentoC.new("Platanos", 1.2, 21.4, 0.2, "Frutas")
|
30
|
+
@Pera = AlimentoC.new("Pera", 0.5, 12.7, 0.3, "Frutas")
|
31
|
+
|
32
|
+
@nodo1 = Nodo.new(@HuevoFrito)
|
33
|
+
@nodo2 = Nodo.new(@LecheVaca)
|
34
|
+
@nodo3 = Nodo.new(@Yogurt)
|
35
|
+
@nodo4 = Nodo.new(@Cerdo)
|
36
|
+
@nodo5 = Nodo.new(@Ternera)
|
37
|
+
@nodo6 = Nodo.new(@Pollo)
|
38
|
+
@nodo7 = Nodo.new(@Bacalao)
|
39
|
+
@nodo8 = Nodo.new(@Atun)
|
40
|
+
@nodo9 = Nodo.new(@Salmon)
|
41
|
+
@nodo10 = Nodo.new(@AceiteOliva)
|
42
|
+
@nodo11 = Nodo.new(@Mantequilla)
|
43
|
+
@nodo12 = Nodo.new(@Chocolate)
|
44
|
+
@nodo13 = Nodo.new(@Azucar)
|
45
|
+
@nodo14 = Nodo.new(@Arroz)
|
46
|
+
@nodo15 = Nodo.new(@Lentejas)
|
47
|
+
@nodo16 = Nodo.new(@Papas)
|
48
|
+
@nodo17 = Nodo.new(@Tomate)
|
49
|
+
@nodo18 = Nodo.new(@Cebolla)
|
50
|
+
@nodo19 = Nodo.new(@Calabaza)
|
51
|
+
@nodo20 = Nodo.new(@Manzanas)
|
52
|
+
@nodo21 = Nodo.new(@Platanos)
|
53
|
+
@nodo22 = Nodo.new(@Pera)
|
54
|
+
|
55
|
+
@@lista.insertar_cabeza(@nodo1)
|
56
|
+
@@lista.insertar_mul([@nodo2, @nodo3, @nodo4, @nodo5, @nodo6, @nodo7, @nodo8, @nodo9, @nodo10,
|
57
|
+
@nodo11,@nodo12, @nodo13, @nodo14, @nodo15, @nodo16, @nodo17, @nodo18, @nodo19, @nodo20, @nodo21, @nodo22], 1)
|
58
|
+
|
59
|
+
#@note La equivalencia de las diferentes palabras en gramos
|
60
|
+
@@equGram = { "cucharadas"=>1.8,"piezas pequeñas"=>7,"taza"=>6,"cucharón"=>4,"pieza"=>10,"cucharada"=>1.8, "piezas"=>10 }
|
61
|
+
|
62
|
+
#@note Construcctor de la clase platos de DLS
|
63
|
+
#@param Le pasamos el nombre y el bloque que irá inicializando el resto de las variables.
|
64
|
+
def initialize nombreIn, &bloque
|
65
|
+
@nombre = nombreIn
|
66
|
+
@v_energetico = 0
|
67
|
+
|
68
|
+
@vegetales = []
|
69
|
+
@frutas = []
|
70
|
+
@cereales = []
|
71
|
+
@proteinas = []
|
72
|
+
@aceites = []
|
73
|
+
|
74
|
+
instance_eval(&bloque)
|
75
|
+
end
|
76
|
+
|
77
|
+
#@note Función para la cantidad de alimento que añadimos al plato
|
78
|
+
#@param porcion[String]
|
79
|
+
def get_cant porcion
|
80
|
+
#La cantidad está en el primer caracter
|
81
|
+
num = porcion.split[0].to_r
|
82
|
+
cad = ""
|
83
|
+
#Formateamos correctamente la cadena
|
84
|
+
porcion.split[1..cad.length-1].each do |i|
|
85
|
+
cad += i + " "
|
86
|
+
end
|
87
|
+
cant = num * @@equGram[cad.chomp ' ']
|
88
|
+
end
|
89
|
+
|
90
|
+
#@note Función para añadir correctamente los vegetales desde dls
|
91
|
+
#@param nom_ali[Strign], opciones[String]
|
92
|
+
def vegetal nom_ali, opciones = {}
|
93
|
+
cant = 0
|
94
|
+
ali = @@lista.detect { |i| nom_ali == i.nombre }
|
95
|
+
if opciones[:gramos]
|
96
|
+
cant = options[:gramos]
|
97
|
+
elsif opciones[:porcion]
|
98
|
+
cant = get_cant opciones[:porcion]
|
99
|
+
end
|
100
|
+
@v_energetico += cant*ali.v_energetico
|
101
|
+
@vegetales.push([ali, (cant*ali.v_energetico).round(3)])
|
102
|
+
end
|
103
|
+
|
104
|
+
#@note Función para añadir correctamente las frutas desde dls
|
105
|
+
#@param nom_ali[Strign], opciones[String]
|
106
|
+
def fruta nom_ali, opciones = {}
|
107
|
+
cant = 0
|
108
|
+
ali = @@lista.detect { |i| nom_ali == i.nombre }
|
109
|
+
if opciones[:gramos]
|
110
|
+
cant = opciones[:gramos]
|
111
|
+
elsif opciones[:porcion]
|
112
|
+
cant = get_cant opciones[:porcion]
|
113
|
+
end
|
114
|
+
@v_energetico += cant*ali.v_energetico
|
115
|
+
@frutas.push([ali, (cant*ali.v_energetico).round(3)])
|
116
|
+
end
|
117
|
+
|
118
|
+
#@note Función para añadir correctamente los cereales desde dls
|
119
|
+
#@param nom_ali[Strign], opciones[String]
|
120
|
+
def cereal nom_ali, opciones = {}
|
121
|
+
cant = 0
|
122
|
+
ali = @@lista.detect { |i| nom_ali == i.nombre }
|
123
|
+
if opciones[:gramos]
|
124
|
+
cant = opciones[:gramos]
|
125
|
+
elsif opciones[:porcion]
|
126
|
+
cant = get_cant opciones[:porcion]
|
127
|
+
end
|
128
|
+
@v_energetico += cant*ali.v_energetico
|
129
|
+
@cereales.push([ali, (cant*ali.v_energetico).round(3)])
|
130
|
+
end
|
131
|
+
|
132
|
+
#@note Función para añadir correctamente los proteinas desde dls
|
133
|
+
#@param nom_ali[Strign], opciones[String]
|
134
|
+
def proteina nom_ali, opciones = {}
|
135
|
+
cant = 0
|
136
|
+
ali = @@lista.detect { |i| nom_ali == i.nombre }
|
137
|
+
if opciones[:gramos]
|
138
|
+
cant = opciones[:gramos]
|
139
|
+
elsif opciones[:porcion]
|
140
|
+
cant = get_cant opciones[:porcion]
|
141
|
+
end
|
142
|
+
@v_energetico += cant*ali.v_energetico
|
143
|
+
@proteinas.push([ali, (cant*ali.v_energetico).round(3)])
|
144
|
+
end
|
145
|
+
|
146
|
+
#@note Función para añadir correctamente el aceite desde dls
|
147
|
+
#@param nom_ali[Strign], opciones[String]
|
148
|
+
def aceite nom_ali, opciones = {}
|
149
|
+
cant = 0
|
150
|
+
ali = @@lista.detect { |i| nom_ali == i.nombre }
|
151
|
+
if opciones[:gramos]
|
152
|
+
cant = opciones[:gramos]
|
153
|
+
elsif opciones[:porcion]
|
154
|
+
cant = get_cant opciones[:porcion]
|
155
|
+
end
|
156
|
+
@v_energetico += cant*ali.v_energetico
|
157
|
+
@aceites.push([ali, (cant*ali.v_energetico).round(3)])
|
158
|
+
end
|
159
|
+
|
160
|
+
#@note Función para mostrar el contenido de la lista.
|
161
|
+
#@return Lista formateada en una cadena para su visualización.
|
162
|
+
def to_s
|
163
|
+
salida = @nombre + "\n"
|
164
|
+
salida += "=============================================================\n"
|
165
|
+
salida += "Composición nutricional: \n"
|
166
|
+
salida += "\tglúcidos proteínas lípidos \tgrupo\t\t\t valor energético\n"
|
167
|
+
|
168
|
+
for i in 0..@vegetales.length-1 do
|
169
|
+
salida += @vegetales[i][0].to_s + "\t\t" + @vegetales[i][1].to_s + "\n"
|
170
|
+
end
|
171
|
+
|
172
|
+
for i in 0..@frutas.length-1 do
|
173
|
+
salida += @frutas[i][0].to_s + "\t\t" + @frutas[i][1].to_s + "\n"
|
174
|
+
end
|
175
|
+
|
176
|
+
for i in 0..@cereales.length-1 do
|
177
|
+
salida += @cereales[i][0].to_s + "\t\t" + @cereales[i][1].to_s + "\n"
|
178
|
+
end
|
179
|
+
|
180
|
+
for i in 0..@proteinas.length-1 do
|
181
|
+
salida += @proteinas[i][0].to_s + "\t\t" + @proteinas[i][1].to_s + "\n"
|
182
|
+
end
|
183
|
+
|
184
|
+
for i in 0..@aceites.length-1 do
|
185
|
+
salida += @aceites[i][0].to_s + "\t\t" + @aceites[i][1].to_s + "\n"
|
186
|
+
end
|
187
|
+
|
188
|
+
salida += "Valor energetico = " + v_energetico.to_s
|
189
|
+
salida
|
190
|
+
end
|
191
|
+
|
192
|
+
end
|
metadata
ADDED
@@ -0,0 +1,177 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: alimento_odmc
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Óscar
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-12-13 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.15'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.15'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: guard
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: guard-rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: guard-bundler
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: coveralls
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
description: 'Gema para representar alimentos con sus propiedades y calcular su valor
|
112
|
+
calorico '
|
113
|
+
email:
|
114
|
+
- alu0100705638@ull.edu.es
|
115
|
+
executables: []
|
116
|
+
extensions: []
|
117
|
+
extra_rdoc_files: []
|
118
|
+
files:
|
119
|
+
- ".coveralls.yml"
|
120
|
+
- ".gitignore"
|
121
|
+
- ".travis.yml"
|
122
|
+
- Gemfile
|
123
|
+
- Guardfile
|
124
|
+
- README.md
|
125
|
+
- Rakefile
|
126
|
+
- alimento.gemspec
|
127
|
+
- bin/console
|
128
|
+
- bin/setup
|
129
|
+
- docs/Alimento.html
|
130
|
+
- docs/AlimentoC.html
|
131
|
+
- docs/Alimentos.html
|
132
|
+
- docs/Lista.html
|
133
|
+
- docs/Nodo.html
|
134
|
+
- docs/_index.html
|
135
|
+
- docs/class_list.html
|
136
|
+
- docs/css/common.css
|
137
|
+
- docs/css/full_list.css
|
138
|
+
- docs/css/style.css
|
139
|
+
- docs/file.README.html
|
140
|
+
- docs/file_list.html
|
141
|
+
- docs/frames.html
|
142
|
+
- docs/index.html
|
143
|
+
- docs/js/app.js
|
144
|
+
- docs/js/full_list.js
|
145
|
+
- docs/js/jquery.js
|
146
|
+
- docs/method_list.html
|
147
|
+
- docs/top-level-namespace.html
|
148
|
+
- lib/alimento.rb
|
149
|
+
- lib/alimento/alimento.rb
|
150
|
+
- lib/alimento/alimentoC.rb
|
151
|
+
- lib/alimento/lista.rb
|
152
|
+
- lib/alimento/platoDls.rb
|
153
|
+
- lib/alimento/version.rb
|
154
|
+
homepage: https://github.com/ULL-ESIT-LPP-1718/tdd-alu0100705638
|
155
|
+
licenses: []
|
156
|
+
metadata: {}
|
157
|
+
post_install_message:
|
158
|
+
rdoc_options: []
|
159
|
+
require_paths:
|
160
|
+
- lib
|
161
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - ">="
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0'
|
166
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
167
|
+
requirements:
|
168
|
+
- - ">="
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
version: '0'
|
171
|
+
requirements: []
|
172
|
+
rubyforge_project:
|
173
|
+
rubygems_version: 2.6.8
|
174
|
+
signing_key:
|
175
|
+
specification_version: 4
|
176
|
+
summary: Representacion de alimentos con sus proteinas, glucidos y lipidos
|
177
|
+
test_files: []
|