alimento-alu0101132907 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +2 -0
  3. data/.gitignore +11 -0
  4. data/.rspec +3 -0
  5. data/.travis.yml +8 -0
  6. data/Gemfile +4 -0
  7. data/Gemfile.lock +97 -0
  8. data/Guardfile +84 -0
  9. data/README.md +27 -0
  10. data/Rakefile +6 -0
  11. data/alimento.gemspec +35 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +8 -0
  14. data/docs/Alimento.html +133 -0
  15. data/docs/Alimento/Comida.html +1129 -0
  16. data/docs/Alimento/Error.html +124 -0
  17. data/docs/Dll.html +1762 -0
  18. data/docs/Dll/Node.html +410 -0
  19. data/docs/Gemfile.html +100 -0
  20. data/docs/Gemfile_lock.html +178 -0
  21. data/docs/Guardfile.html +182 -0
  22. data/docs/Plato.html +1002 -0
  23. data/docs/PlatoEfi.html +561 -0
  24. data/docs/README_md.html +135 -0
  25. data/docs/Rakefile.html +101 -0
  26. data/docs/_index.html +183 -0
  27. data/docs/alimento_gemspec.html +132 -0
  28. data/docs/bin/setup.html +101 -0
  29. data/docs/class_list.html +51 -0
  30. data/docs/created.rid +16 -0
  31. data/docs/css/common.css +1 -0
  32. data/docs/css/fonts.css +167 -0
  33. data/docs/css/full_list.css +58 -0
  34. data/docs/css/rdoc.css +611 -0
  35. data/docs/css/style.css +496 -0
  36. data/docs/file.README.html +102 -0
  37. data/docs/file_list.html +56 -0
  38. data/docs/fonts/Lato-Light.ttf +0 -0
  39. data/docs/fonts/Lato-LightItalic.ttf +0 -0
  40. data/docs/fonts/Lato-Regular.ttf +0 -0
  41. data/docs/fonts/Lato-RegularItalic.ttf +0 -0
  42. data/docs/fonts/SourceCodePro-Bold.ttf +0 -0
  43. data/docs/fonts/SourceCodePro-Regular.ttf +0 -0
  44. data/docs/frames.html +17 -0
  45. data/docs/images/add.png +0 -0
  46. data/docs/images/arrow_up.png +0 -0
  47. data/docs/images/brick.png +0 -0
  48. data/docs/images/brick_link.png +0 -0
  49. data/docs/images/bug.png +0 -0
  50. data/docs/images/bullet_black.png +0 -0
  51. data/docs/images/bullet_toggle_minus.png +0 -0
  52. data/docs/images/bullet_toggle_plus.png +0 -0
  53. data/docs/images/date.png +0 -0
  54. data/docs/images/delete.png +0 -0
  55. data/docs/images/find.png +0 -0
  56. data/docs/images/loadingAnimation.gif +0 -0
  57. data/docs/images/macFFBgHack.png +0 -0
  58. data/docs/images/package.png +0 -0
  59. data/docs/images/page_green.png +0 -0
  60. data/docs/images/page_white_text.png +0 -0
  61. data/docs/images/page_white_width.png +0 -0
  62. data/docs/images/plugin.png +0 -0
  63. data/docs/images/ruby.png +0 -0
  64. data/docs/images/tag_blue.png +0 -0
  65. data/docs/images/tag_green.png +0 -0
  66. data/docs/images/transparent.png +0 -0
  67. data/docs/images/wrench.png +0 -0
  68. data/docs/images/wrench_orange.png +0 -0
  69. data/docs/images/zoom.png +0 -0
  70. data/docs/index.html +102 -0
  71. data/docs/js/app.js +303 -0
  72. data/docs/js/darkfish.js +84 -0
  73. data/docs/js/full_list.js +216 -0
  74. data/docs/js/jquery.js +4 -0
  75. data/docs/js/navigation.js +106 -0
  76. data/docs/js/navigation.js.gz +0 -0
  77. data/docs/js/search.js +110 -0
  78. data/docs/js/search_index.js +1 -0
  79. data/docs/js/search_index.js.gz +0 -0
  80. data/docs/js/searcher.js +229 -0
  81. data/docs/js/searcher.js.gz +0 -0
  82. data/docs/method_list.html +411 -0
  83. data/docs/table_of_contents.html +259 -0
  84. data/docs/top-level-namespace.html +112 -0
  85. data/lib/alimento.rb +46 -0
  86. data/lib/alimento/alimento.rb +70 -0
  87. data/lib/alimento/dll.rb +164 -0
  88. data/lib/alimento/plato.rb +173 -0
  89. data/lib/alimento/version.rb +3 -0
  90. metadata +243 -0
@@ -0,0 +1,259 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>Table of Contents - RDoc Documentation</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "./";
11
+ var index_rel_prefix = "./";
12
+ </script>
13
+
14
+ <script src="./js/navigation.js" defer></script>
15
+ <script src="./js/search.js" defer></script>
16
+ <script src="./js/search_index.js" defer></script>
17
+ <script src="./js/searcher.js" defer></script>
18
+ <script src="./js/darkfish.js" defer></script>
19
+
20
+ <link href="./css/fonts.css" rel="stylesheet">
21
+ <link href="./css/rdoc.css" rel="stylesheet">
22
+
23
+
24
+
25
+ <body id="top" class="table-of-contents">
26
+ <main role="main">
27
+ <h1 class="class">Table of Contents - RDoc Documentation</h1>
28
+
29
+ <h2 id="pages">Pages</h2>
30
+ <ul>
31
+ <li class="file">
32
+ <a href="Gemfile.html">Gemfile</a>
33
+ </li>
34
+ <li class="file">
35
+ <a href="Gemfile_lock.html">Gemfile.lock</a>
36
+ </li>
37
+ <li class="file">
38
+ <a href="Guardfile.html">Guardfile</a>
39
+ </li>
40
+ <li class="file">
41
+ <a href="README_md.html">README</a>
42
+
43
+ <ul>
44
+ <li><a href="README_md.html#label-Alimento">Alimento</a>
45
+ <li><a href="README_md.html#label-Installation">Installation</a>
46
+ <li><a href="README_md.html#label-Usage">Usage</a>
47
+ </ul>
48
+ </li>
49
+ <li class="file">
50
+ <a href="Rakefile.html">Rakefile</a>
51
+ </li>
52
+ <li class="file">
53
+ <a href="alimento_gemspec.html">alimento.gemspec</a>
54
+ </li>
55
+ <li class="file">
56
+ <a href="bin/setup.html">setup</a>
57
+ </li>
58
+
59
+ </ul>
60
+
61
+ <h2 id="classes">Classes and Modules</h2>
62
+ <ul>
63
+ <li class="module">
64
+ <a href="Alimento.html">Alimento</a>
65
+ </li>
66
+ <li class="class">
67
+ <a href="Alimento/Comida.html">Alimento::Comida</a>
68
+ </li>
69
+ <li class="class">
70
+ <a href="Alimento/Error.html">Alimento::Error</a>
71
+ </li>
72
+ <li class="class">
73
+ <a href="Dll.html">Dll</a>
74
+ </li>
75
+ <li class="class">
76
+ <a href="Plato.html">Plato</a>
77
+ </li>
78
+ <li class="class">
79
+ <a href="PlatoEfi.html">PlatoEfi</a>
80
+ </li>
81
+ </ul>
82
+
83
+ <h2 id="methods">Methods</h2>
84
+ <ul>
85
+
86
+ <li class="method">
87
+ <a href="Dll.html#method-c-build_list">::build_list</a>
88
+ &mdash;
89
+ <span class="container">Dll</span>
90
+
91
+ <li class="method">
92
+ <a href="Dll.html#method-c-make_node">::make_node</a>
93
+ &mdash;
94
+ <span class="container">Dll</span>
95
+
96
+ <li class="method">
97
+ <a href="Alimento/Comida.html#method-c-new">::new</a>
98
+ &mdash;
99
+ <span class="container">Alimento::Comida</span>
100
+
101
+ <li class="method">
102
+ <a href="Dll.html#method-c-new">::new</a>
103
+ &mdash;
104
+ <span class="container">Dll</span>
105
+
106
+ <li class="method">
107
+ <a href="Plato.html#method-c-new">::new</a>
108
+ &mdash;
109
+ <span class="container">Plato</span>
110
+
111
+ <li class="method">
112
+ <a href="Alimento/Comida.html#method-c-nombres_impacto">::nombres_impacto</a>
113
+ &mdash;
114
+ <span class="container">Alimento::Comida</span>
115
+
116
+ <li class="method">
117
+ <a href="Alimento/Comida.html#method-c-nombres_nutrientes">::nombres_nutrientes</a>
118
+ &mdash;
119
+ <span class="container">Alimento::Comida</span>
120
+
121
+ <li class="method">
122
+ <a href="Alimento/Comida.html#method-i-3C-3D-3E">#&lt;=&gt;</a>
123
+ &mdash;
124
+ <span class="container">Alimento::Comida</span>
125
+
126
+ <li class="method">
127
+ <a href="Plato.html#method-i-3C-3D-3E">#&lt;=&gt;</a>
128
+ &mdash;
129
+ <span class="container">Plato</span>
130
+
131
+ <li class="method">
132
+ <a href="PlatoEfi.html#method-i-3C-3D-3E">#&lt;=&gt;</a>
133
+ &mdash;
134
+ <span class="container">PlatoEfi</span>
135
+
136
+ <li class="method">
137
+ <a href="Dll.html#method-i-back">#back</a>
138
+ &mdash;
139
+ <span class="container">Dll</span>
140
+
141
+ <li class="method">
142
+ <a href="Plato.html#method-i-cantidad_alimento">#cantidad_alimento</a>
143
+ &mdash;
144
+ <span class="container">Plato</span>
145
+
146
+ <li class="method">
147
+ <a href="Dll.html#method-i-each">#each</a>
148
+ &mdash;
149
+ <span class="container">Dll</span>
150
+
151
+ <li class="method">
152
+ <a href="PlatoEfi.html#method-i-emisiones_totales">#emisiones_totales</a>
153
+ &mdash;
154
+ <span class="container">PlatoEfi</span>
155
+
156
+ <li class="method">
157
+ <a href="Dll.html#method-i-empty">#empty</a>
158
+ &mdash;
159
+ <span class="container">Dll</span>
160
+
161
+ <li class="method">
162
+ <a href="Dll.html#method-i-front">#front</a>
163
+ &mdash;
164
+ <span class="container">Dll</span>
165
+
166
+ <li class="method">
167
+ <a href="PlatoEfi.html#method-i-huella_nutricional">#huella_nutricional</a>
168
+ &mdash;
169
+ <span class="container">PlatoEfi</span>
170
+
171
+ <li class="method">
172
+ <a href="Alimento/Comida.html#method-i-impacto_diario_hombre">#impacto_diario_hombre</a>
173
+ &mdash;
174
+ <span class="container">Alimento::Comida</span>
175
+
176
+ <li class="method">
177
+ <a href="Alimento/Comida.html#method-i-impacto_diario_mujer">#impacto_diario_mujer</a>
178
+ &mdash;
179
+ <span class="container">Alimento::Comida</span>
180
+
181
+ <li class="method">
182
+ <a href="Dll.html#method-i-insert">#insert</a>
183
+ &mdash;
184
+ <span class="container">Dll</span>
185
+
186
+ <li class="method">
187
+ <a href="Dll.html#method-i-insert_multi">#insert_multi</a>
188
+ &mdash;
189
+ <span class="container">Dll</span>
190
+
191
+ <li class="method">
192
+ <a href="Dll.html#method-i-pop_back">#pop_back</a>
193
+ &mdash;
194
+ <span class="container">Dll</span>
195
+
196
+ <li class="method">
197
+ <a href="Dll.html#method-i-pop_front">#pop_front</a>
198
+ &mdash;
199
+ <span class="container">Dll</span>
200
+
201
+ <li class="method">
202
+ <a href="Plato.html#method-i-porcentajes">#porcentajes</a>
203
+ &mdash;
204
+ <span class="container">Plato</span>
205
+
206
+ <li class="method">
207
+ <a href="Dll.html#method-i-push_back">#push_back</a>
208
+ &mdash;
209
+ <span class="container">Dll</span>
210
+
211
+ <li class="method">
212
+ <a href="Dll.html#method-i-push_front">#push_front</a>
213
+ &mdash;
214
+ <span class="container">Dll</span>
215
+
216
+ <li class="method">
217
+ <a href="Alimento/Comida.html#method-i-to_s">#to_s</a>
218
+ &mdash;
219
+ <span class="container">Alimento::Comida</span>
220
+
221
+ <li class="method">
222
+ <a href="Dll.html#method-i-to_s">#to_s</a>
223
+ &mdash;
224
+ <span class="container">Dll</span>
225
+
226
+ <li class="method">
227
+ <a href="Plato.html#method-i-to_s">#to_s</a>
228
+ &mdash;
229
+ <span class="container">Plato</span>
230
+
231
+ <li class="method">
232
+ <a href="PlatoEfi.html#method-i-to_s">#to_s</a>
233
+ &mdash;
234
+ <span class="container">PlatoEfi</span>
235
+
236
+ <li class="method">
237
+ <a href="PlatoEfi.html#method-i-uso_terreno">#uso_terreno</a>
238
+ &mdash;
239
+ <span class="container">PlatoEfi</span>
240
+
241
+ <li class="method">
242
+ <a href="Alimento/Comida.html#method-i-valor_energetico">#valor_energetico</a>
243
+ &mdash;
244
+ <span class="container">Alimento::Comida</span>
245
+
246
+ <li class="method">
247
+ <a href="Plato.html#method-i-vct">#vct</a>
248
+ &mdash;
249
+ <span class="container">Plato</span>
250
+ </ul>
251
+ </main>
252
+
253
+
254
+ <footer id="validator-badges" role="contentinfo">
255
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
256
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.0.1.1.
257
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
258
+ </footer>
259
+
@@ -0,0 +1,112 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Top Level Namespace
8
+
9
+ &mdash; Documentation by YARD 0.9.20
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "";
19
+ relpath = '';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="_index.html">Index</a> &raquo;
40
+
41
+
42
+ <span class="title">Top Level Namespace</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Top Level Namespace
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ </div>
80
+
81
+ <h2>Defined Under Namespace</h2>
82
+ <p class="children">
83
+
84
+
85
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="Alimento.html" title="Alimento (module)">Alimento</a></span>
86
+
87
+
88
+
89
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Dll.html" title="Dll (class)">Dll</a></span>, <span class='object_link'><a href="Plato.html" title="Plato (class)">Plato</a></span>, <span class='object_link'><a href="PlatoEfi.html" title="PlatoEfi (class)">PlatoEfi</a></span>
90
+
91
+
92
+ </p>
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+ </div>
103
+
104
+ <div id="footer">
105
+ Generated on Thu Dec 19 15:40:30 2019 by
106
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
107
+ 0.9.20 (ruby-2.5.7).
108
+ </div>
109
+
110
+ </div>
111
+ </body>
112
+ </html>
@@ -0,0 +1,46 @@
1
+ require 'alimento/version'
2
+ require 'alimento/alimento'
3
+ require 'alimento/dll'
4
+ require 'alimento/plato'
5
+ module Alimento
6
+ class Error < StandardError; end
7
+
8
+ =begin
9
+ class Comida
10
+ attr_reader :nombre, :nutrientes, :impacto
11
+
12
+ @@nombresNutrientes = ["Proteinas", "Carbohidratos", "Lipidos"]
13
+ @@nombresImpacto = ["GEI", "Terreno"]
14
+
15
+ def initialize(nombre, nutrientes, impacto)
16
+ @nombre = nombre
17
+ @nutrientes = [@@nombresNutrientes, nutrientes].transpose.to_h
18
+ @impacto = [@@nombresImpacto, impacto].transpose.to_h
19
+ end
20
+
21
+ def to_s
22
+ "#{@nombre}: ".concat(nutrientes.to_s, impacto.to_s)
23
+ end
24
+
25
+ def impacto_diario_mujer
26
+ impacto_diario(2300)
27
+ end
28
+
29
+ def impacto_diario_hombre
30
+ impacto_diario(3000)
31
+ end
32
+
33
+ def valor_energetico
34
+ (@nutrientes["Carbohidratos"]*4 + @nutrientes["Lipidos"]*9 + @nutrientes["Proteinas"]*4).round(2)
35
+ end
36
+
37
+ private
38
+
39
+ def impacto_diario(cdr)
40
+ impacto.values.collect { |n| (n*(cdr/valor_energetico)).round(2) }
41
+ end
42
+ end
43
+ =end
44
+ end
45
+
46
+
@@ -0,0 +1,70 @@
1
+ module Alimento
2
+ # Clase para representar un alimento
3
+ class Comida
4
+ attr_reader :nombre, :nutrientes, :impacto
5
+
6
+ include Comparable
7
+
8
+ # Variable de clase con los nombres de los nutrientes
9
+ @@nombresNutrientes = ["Proteinas", "Carbohidratos", "Lipidos"]
10
+ # Variable de clase con los nombres de impacto
11
+ @@nombresImpacto = ["GEI", "Terreno"]
12
+
13
+ # Permite acceder a la variable de clase
14
+ # @return [Array] Devuelve el array con los nombres de nutrientes
15
+ def self.nombres_nutrientes
16
+ @@nombresNutrientes
17
+ end
18
+
19
+ # Permite acceder a la variable de clase
20
+ # @return [Array] Devuelve el array con los nombres
21
+ def self.nombres_impacto
22
+ @@nombresImpacto
23
+ end
24
+
25
+ # Inicializa una comida
26
+ # @param nombre [String] Nombre del alimento
27
+ # @param nutrientes [Array] Contiene la información nutricional
28
+ # @param impacto [Array] Contiene la informaci
29
+ def initialize(nombre, nutrientes, impacto)
30
+ @nombre = nombre
31
+ @nutrientes = [@@nombresNutrientes, nutrientes].transpose.to_h
32
+ @impacto = [@@nombresImpacto, impacto].transpose.to_h
33
+ end
34
+
35
+ # Obtiene el alimento concatenado
36
+ # @return [String] Con formato: "Nombre: [Nutrientes..., Impacto...]"
37
+ def to_s
38
+ "#{@nombre}: ".concat(nutrientes.to_s, impacto.to_s)
39
+ end
40
+
41
+ # Permite comparar alimentos
42
+ def <=>(other)
43
+ valor_energetico <=> other.valor_energetico
44
+ end
45
+
46
+ # Obtiene el valor del impacto diario para una mujer
47
+ # @return [Float] Impacto diario suponiendo cdr de 2300
48
+ def impacto_diario_mujer
49
+ impacto_diario(2300)
50
+ end
51
+
52
+ # Obtiene el valor del impacto diario para una hombre
53
+ # @return [Float] Impacto diario suponiendo cdr de 3000
54
+ def impacto_diario_hombre
55
+ impacto_diario(3000)
56
+ end
57
+
58
+ # Obtiene el valor energético del alimento
59
+ # @return [Float] Valor energetico
60
+ def valor_energetico
61
+ (@nutrientes["Carbohidratos"]*4 + @nutrientes["Lipidos"]*9 + @nutrientes["Proteinas"]*4).round(2)
62
+ end
63
+
64
+ private
65
+
66
+ def impacto_diario(cdr)
67
+ impacto.values.collect { |n| (n*(cdr/valor_energetico)).round(2) }
68
+ end
69
+ end
70
+ end