alimento_odmc 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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: []
|