alimentos_diego_algomas 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +2 -0
  3. data/.gitignore +12 -0
  4. data/.rspec +3 -0
  5. data/.travis.yml +7 -0
  6. data/Gemfile +4 -0
  7. data/Gemfile.lock +97 -0
  8. data/Guardfile +83 -0
  9. data/README.md +57 -0
  10. data/Rakefile +6 -0
  11. data/alimentos.gemspec +38 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +8 -0
  14. data/docs/Alimentos.html +115 -0
  15. data/docs/Alimentos/Alimentos.html +376 -0
  16. data/docs/Alimentos/Error.html +106 -0
  17. data/docs/Gemfile.html +99 -0
  18. data/docs/Gemfile_lock.html +180 -0
  19. data/docs/Guardfile.html +166 -0
  20. data/docs/List.html +120 -0
  21. data/docs/List/Error.html +106 -0
  22. data/docs/List/List.html +495 -0
  23. data/docs/Menu.html +115 -0
  24. data/docs/Menu/Error.html +106 -0
  25. data/docs/Menu/Menu.html +512 -0
  26. data/docs/Object.html +199 -0
  27. data/docs/Plato.html +115 -0
  28. data/docs/Plato/Error.html +106 -0
  29. data/docs/Plato/Plato.html +478 -0
  30. data/docs/Plato/PlatoAmbiental.html +374 -0
  31. data/docs/README_md.html +155 -0
  32. data/docs/Rakefile.html +101 -0
  33. data/docs/bin/setup.html +101 -0
  34. data/docs/created.rid +17 -0
  35. data/docs/css/fonts.css +167 -0
  36. data/docs/css/rdoc.css +619 -0
  37. data/docs/fonts/Lato-Light.ttf +0 -0
  38. data/docs/fonts/Lato-LightItalic.ttf +0 -0
  39. data/docs/fonts/Lato-Regular.ttf +0 -0
  40. data/docs/fonts/Lato-RegularItalic.ttf +0 -0
  41. data/docs/fonts/SourceCodePro-Bold.ttf +0 -0
  42. data/docs/fonts/SourceCodePro-Regular.ttf +0 -0
  43. data/docs/images/add.png +0 -0
  44. data/docs/images/arrow_up.png +0 -0
  45. data/docs/images/brick.png +0 -0
  46. data/docs/images/brick_link.png +0 -0
  47. data/docs/images/bug.png +0 -0
  48. data/docs/images/bullet_black.png +0 -0
  49. data/docs/images/bullet_toggle_minus.png +0 -0
  50. data/docs/images/bullet_toggle_plus.png +0 -0
  51. data/docs/images/date.png +0 -0
  52. data/docs/images/delete.png +0 -0
  53. data/docs/images/find.png +0 -0
  54. data/docs/images/loadingAnimation.gif +0 -0
  55. data/docs/images/macFFBgHack.png +0 -0
  56. data/docs/images/package.png +0 -0
  57. data/docs/images/page_green.png +0 -0
  58. data/docs/images/page_white_text.png +0 -0
  59. data/docs/images/page_white_width.png +0 -0
  60. data/docs/images/plugin.png +0 -0
  61. data/docs/images/ruby.png +0 -0
  62. data/docs/images/tag_blue.png +0 -0
  63. data/docs/images/tag_green.png +0 -0
  64. data/docs/images/transparent.png +0 -0
  65. data/docs/images/wrench.png +0 -0
  66. data/docs/images/wrench_orange.png +0 -0
  67. data/docs/images/zoom.png +0 -0
  68. data/docs/index.html +132 -0
  69. data/docs/js/darkfish.js +84 -0
  70. data/docs/js/navigation.js +105 -0
  71. data/docs/js/navigation.js.gz +0 -0
  72. data/docs/js/search.js +110 -0
  73. data/docs/js/search_index.js +1 -0
  74. data/docs/js/search_index.js.gz +0 -0
  75. data/docs/js/searcher.js +229 -0
  76. data/docs/js/searcher.js.gz +0 -0
  77. data/docs/table_of_contents.html +345 -0
  78. data/lib/alimentos.rb +29 -0
  79. data/lib/alimentos/alimentos.rb +36 -0
  80. data/lib/alimentos/dsl.rb +123 -0
  81. data/lib/alimentos/dslmenu.rb +60 -0
  82. data/lib/alimentos/list.rb +104 -0
  83. data/lib/alimentos/menu.rb +62 -0
  84. data/lib/alimentos/plato.rb +93 -0
  85. data/lib/alimentos/platoAmbiental.rb +64 -0
  86. data/lib/alimentos/version.rb +15 -0
  87. metadata +243 -0
@@ -0,0 +1 @@
1
+ var search_data = {"index":{"searchIndex":["alimentos","alimentos","error","list","error","list","menu","error","menu","object","plato","error","plato","platoambiental","<=>()","<=>()","<=>()","<=>()","calculocalorico()","calorias()","each()","each()","emisiones()","getcarbohidratos()","getkcal()","getlipidos()","getproteinas()","huella()","huella_nutricional()","m2()","multiplicadorambiental()","new()","new()","new()","new()","new()","pop_head()","pop_tail()","porcarbohidratos()","porlipidos()","porproteinas()","push()","push_array()","size()","to_s()","to_s()","to_s()","to_s()","gemfile","gemfile.lock","guardfile","readme","rakefile","setup"],"longSearchIndex":["alimentos","alimentos::alimentos","alimentos::error","list","list::error","list::list","menu","menu::error","menu::menu","object","plato","plato::error","plato::plato","plato::platoambiental","alimentos::alimentos#<=>()","menu::menu#<=>()","plato::plato#<=>()","plato::platoambiental#<=>()","plato::plato#calculocalorico()","alimentos::alimentos#calorias()","list::list#each()","menu::menu#each()","plato::platoambiental#emisiones()","menu::menu#getcarbohidratos()","menu::menu#getkcal()","menu::menu#getlipidos()","menu::menu#getproteinas()","plato::platoambiental#huella()","object#huella_nutricional()","plato::platoambiental#m2()","object#multiplicadorambiental()","alimentos::alimentos::new()","list::list::new()","menu::menu::new()","plato::plato::new()","plato::platoambiental::new()","list::list#pop_head()","list::list#pop_tail()","plato::plato#porcarbohidratos()","plato::plato#porlipidos()","plato::plato#porproteinas()","list::list#push()","list::list#push_array()","list::list#size()","alimentos::alimentos#to_s()","menu::menu#to_s()","plato::plato#to_s()","plato::platoambiental#to_s()","","","","","",""],"info":[["Alimentos","","Alimentos.html","","<p>Modulo donde se encuentra la clase de alimentos\n"],["Alimentos::Alimentos","","Alimentos/Alimentos.html","","<p>Clase alimentos donde se guardan las propiedades del mismo\n"],["Alimentos::Error","","Alimentos/Error.html","",""],["List","","List.html","","<p>Modulo lista donde se encuentra la clase lista y el diseño de un nodo\n"],["List::Error","","List/Error.html","",""],["List::List","","List/List.html","","<p>Clase lista donde se implementa una clase constituida por una lista doblemente enlazada de elementos …\n"],["Menu","","Menu.html","","<p>Modulo donde se encuentra la clase menú (practica 8) Actualemente en desuso\n"],["Menu::Error","","Menu/Error.html","",""],["Menu::Menu","","Menu/Menu.html","","<p>Clase Menu donde se almacenaban una lista con los platos y la suma calórica de os mismos\n"],["Object","","Object.html","",""],["Plato","","Plato.html","","<p>Modulo donde se encuentran la clase plato y plato ambiental\n"],["Plato::Error","","Plato/Error.html","",""],["Plato::Plato","","Plato/Plato.html","","<p>Clase plato donde se encuentran los platos dormados por sus alimentos y sus cantidades\n"],["Plato::PlatoAmbiental","","Plato/PlatoAmbiental.html","","<p>Clase de plato ambientales que hereda de plato En ella se tiene en cuenta los valores de contaminación …\n"],["<=>","Alimentos::Alimentos","Alimentos/Alimentos.html#method-i-3C-3D-3E","(other)","<p>Permite comparar entre alimentos\n"],["<=>","Menu::Menu","Menu/Menu.html#method-i-3C-3D-3E","(other)","<p>Compara entre distintos menus por las kcal\n"],["<=>","Plato::Plato","Plato/Plato.html#method-i-3C-3D-3E","(other)","<p>Permite comparar entre distintos platos según las kcal\n"],["<=>","Plato::PlatoAmbiental","Plato/PlatoAmbiental.html#method-i-3C-3D-3E","(other)","<p>Sobrecarga propia de la huella para que ordene los platos en función de la huella\n"],["calculoCalorico","Plato::Plato","Plato/Plato.html#method-i-calculoCalorico","()","<p>Realiza el calculo de las calorias totales del plato\n"],["calorias","Alimentos::Alimentos","Alimentos/Alimentos.html#method-i-calorias","()","<p>Metodo que calcula las kcal de un alimento\n"],["each","List::List","List/List.html#method-i-each","()",""],["each","Menu::Menu","Menu/Menu.html#method-i-each","()","<p>Implementa el enumerable del menu\n"],["emisiones","Plato::PlatoAmbiental","Plato/PlatoAmbiental.html#method-i-emisiones","()","<p>Calcula las emisiones asociadas a cada plato\n"],["getCarbohidratos","Menu::Menu","Menu/Menu.html#method-i-getCarbohidratos","()","<p>calcula la cantidad de carbohidratos\n"],["getKcal","Menu::Menu","Menu/Menu.html#method-i-getKcal","()","<p>calcula las Kcal del menú\n"],["getLipidos","Menu::Menu","Menu/Menu.html#method-i-getLipidos","()","<p>Calcula la cantidad de lípidos\n"],["getProteinas","Menu::Menu","Menu/Menu.html#method-i-getProteinas","()","<p>calcula la cantidad de proteinas\n"],["huella","Plato::PlatoAmbiental","Plato/PlatoAmbiental.html#method-i-huella","()","<p>Calcula la huella ambiental de cada uno de los platos\n"],["huella_nutricional","Object","Object.html#method-i-huella_nutricional","(menu)",""],["m2","Plato::PlatoAmbiental","Plato/PlatoAmbiental.html#method-i-m2","()","<p>Calcula los metros cuadrados que gasta cada plato\n"],["multiplicadorAmbiental","Object","Object.html#method-i-multiplicadorAmbiental","(menu,precios)",""],["new","Alimentos::Alimentos","Alimentos/Alimentos.html#method-c-new","(nombre,proteinas,carbohidratos,lipidos,emisiones,m2)",""],["new","List::List","List/List.html#method-c-new","()",""],["new","Menu::Menu","Menu/Menu.html#method-c-new","(nombre,platos)",""],["new","Plato::Plato","Plato/Plato.html#method-c-new","(nombre,alimentos,cantidades)",""],["new","Plato::PlatoAmbiental","Plato/PlatoAmbiental.html#method-c-new","(nombre,ingredientes,cantidades)",""],["pop_head","List::List","List/List.html#method-i-pop_head","()","<p>Permite extraer la cabeza y la devuelve\n"],["pop_tail","List::List","List/List.html#method-i-pop_tail","()","<p>Permite extraer la cola y la devuelve ese elemento\n"],["porcarbohidratos","Plato::Plato","Plato/Plato.html#method-i-porcarbohidratos","()","<p>Realiza el calculo del porcentaje de carbohidratos que tiene\n"],["porlipidos","Plato::Plato","Plato/Plato.html#method-i-porlipidos","()","<p>Realiza el calculo del porcentaje de lipidos que tiene\n"],["porproteinas","Plato::Plato","Plato/Plato.html#method-i-porproteinas","()","<p>Realiza el calculo del porcentaje de proteinas que tiene\n"],["push","List::List","List/List.html#method-i-push","(valor)","<p>Permite insertar un valor en la cola\n"],["push_array","List::List","List/List.html#method-i-push_array","(values)","<p>Permite insertar un array de elementos en la cola\n"],["size","List::List","List/List.html#method-i-size","()","<p>Devuelve el tamaño de la lista\n"],["to_s","Alimentos::Alimentos","Alimentos/Alimentos.html#method-i-to_s","()","<p>Serializador de un alimento\n"],["to_s","Menu::Menu","Menu/Menu.html#method-i-to_s","()","<p>Transforma en un strig el menú\n"],["to_s","Plato::Plato","Plato/Plato.html#method-i-to_s","()","<p>Serializa el plato\n"],["to_s","Plato::PlatoAmbiental","Plato/PlatoAmbiental.html#method-i-to_s","()","<p>Serializa el plato ambiental\n"],["Gemfile","","Gemfile.html","","<p>source “rubygems.org”\n<p># Specify your gem&#39;s dependencies in alimentos.gemspec gemspec\n"],["Gemfile.lock","","Gemfile_lock.html","","<p>PATH\n\n<pre>remote: .\nspecs:\n alimentos (0.1.0)</pre>\n<p>GEM\n"],["Guardfile","","Guardfile.html","","<p># A sample Guardfile # More info at github.com/guard/guard#readme\n<p>## Uncomment and set this to only include …\n"],["README","","README_md.html","","<p>Alimentos\n<p>Gema creada por Diego Machín Guardia\nPráctica 6 de LPP\n<p>Descripción\n"],["Rakefile","","Rakefile.html","","<p>require “bundler/gem_tasks” require “rspec/core/rake_task”\n<p>RSpec::Core::RakeTask.new …\n"],["setup","","bin/setup.html","","<p>#!/usr/bin/env bash set -euo pipefail IFS=$&#39;nt&#39; set -vx\n<p>bundle install\n<p># Do any other automated …\n"]]}}
@@ -0,0 +1,229 @@
1
+ Searcher = function(data) {
2
+ this.data = data;
3
+ this.handlers = [];
4
+ }
5
+
6
+ Searcher.prototype = new function() {
7
+ // search is performed in chunks of 1000 for non-blocking user input
8
+ var CHUNK_SIZE = 1000;
9
+ // do not try to find more than 100 results
10
+ var MAX_RESULTS = 100;
11
+ var huid = 1;
12
+ var suid = 1;
13
+ var runs = 0;
14
+
15
+ this.find = function(query) {
16
+ var queries = splitQuery(query);
17
+ var regexps = buildRegexps(queries);
18
+ var highlighters = buildHilighters(queries);
19
+ var state = { from: 0, pass: 0, limit: MAX_RESULTS, n: suid++};
20
+ var _this = this;
21
+
22
+ this.currentSuid = state.n;
23
+
24
+ if (!query) return;
25
+
26
+ var run = function() {
27
+ // stop current search thread if new search started
28
+ if (state.n != _this.currentSuid) return;
29
+
30
+ var results =
31
+ performSearch(_this.data, regexps, queries, highlighters, state);
32
+ var hasMore = (state.limit > 0 && state.pass < 4);
33
+
34
+ triggerResults.call(_this, results, !hasMore);
35
+ if (hasMore) {
36
+ setTimeout(run, 2);
37
+ }
38
+ runs++;
39
+ };
40
+ runs = 0;
41
+
42
+ // start search thread
43
+ run();
44
+ }
45
+
46
+ /* ----- Events ------ */
47
+ this.ready = function(fn) {
48
+ fn.huid = huid;
49
+ this.handlers.push(fn);
50
+ }
51
+
52
+ /* ----- Utilities ------ */
53
+ function splitQuery(query) {
54
+ return query.split(/(\s+|::?|\(\)?)/).filter(function(string) {
55
+ return string.match(/\S/);
56
+ });
57
+ }
58
+
59
+ function buildRegexps(queries) {
60
+ return queries.map(function(query) {
61
+ return new RegExp(query.replace(/(.)/g, '([$1])([^$1]*?)'), 'i');
62
+ });
63
+ }
64
+
65
+ function buildHilighters(queries) {
66
+ return queries.map(function(query) {
67
+ return query.split('').map(function(l, i) {
68
+ return '\u0001$' + (i*2+1) + '\u0002$' + (i*2+2);
69
+ }).join('');
70
+ });
71
+ }
72
+
73
+ // function longMatchRegexp(index, longIndex, regexps) {
74
+ // for (var i = regexps.length - 1; i >= 0; i--){
75
+ // if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false;
76
+ // };
77
+ // return true;
78
+ // }
79
+
80
+
81
+ /* ----- Mathchers ------ */
82
+
83
+ /*
84
+ * This record matches if the index starts with queries[0] and the record
85
+ * matches all of the regexps
86
+ */
87
+ function matchPassBeginning(index, longIndex, queries, regexps) {
88
+ if (index.indexOf(queries[0]) != 0) return false;
89
+ for (var i=1, l = regexps.length; i < l; i++) {
90
+ if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
91
+ return false;
92
+ };
93
+ return true;
94
+ }
95
+
96
+ /*
97
+ * This record matches if the longIndex starts with queries[0] and the
98
+ * longIndex matches all of the regexps
99
+ */
100
+ function matchPassLongIndex(index, longIndex, queries, regexps) {
101
+ if (longIndex.indexOf(queries[0]) != 0) return false;
102
+ for (var i=1, l = regexps.length; i < l; i++) {
103
+ if (!longIndex.match(regexps[i]))
104
+ return false;
105
+ };
106
+ return true;
107
+ }
108
+
109
+ /*
110
+ * This record matches if the index contains queries[0] and the record
111
+ * matches all of the regexps
112
+ */
113
+ function matchPassContains(index, longIndex, queries, regexps) {
114
+ if (index.indexOf(queries[0]) == -1) return false;
115
+ for (var i=1, l = regexps.length; i < l; i++) {
116
+ if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
117
+ return false;
118
+ };
119
+ return true;
120
+ }
121
+
122
+ /*
123
+ * This record matches if regexps[0] matches the index and the record
124
+ * matches all of the regexps
125
+ */
126
+ function matchPassRegexp(index, longIndex, queries, regexps) {
127
+ if (!index.match(regexps[0])) return false;
128
+ for (var i=1, l = regexps.length; i < l; i++) {
129
+ if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
130
+ return false;
131
+ };
132
+ return true;
133
+ }
134
+
135
+
136
+ /* ----- Highlighters ------ */
137
+ function highlightRegexp(info, queries, regexps, highlighters) {
138
+ var result = createResult(info);
139
+ for (var i=0, l = regexps.length; i < l; i++) {
140
+ result.title = result.title.replace(regexps[i], highlighters[i]);
141
+ result.namespace = result.namespace.replace(regexps[i], highlighters[i]);
142
+ };
143
+ return result;
144
+ }
145
+
146
+ function hltSubstring(string, pos, length) {
147
+ return string.substring(0, pos) + '\u0001' + string.substring(pos, pos + length) + '\u0002' + string.substring(pos + length);
148
+ }
149
+
150
+ function highlightQuery(info, queries, regexps, highlighters) {
151
+ var result = createResult(info);
152
+ var pos = 0;
153
+ var lcTitle = result.title.toLowerCase();
154
+
155
+ pos = lcTitle.indexOf(queries[0]);
156
+ if (pos != -1) {
157
+ result.title = hltSubstring(result.title, pos, queries[0].length);
158
+ }
159
+
160
+ result.namespace = result.namespace.replace(regexps[0], highlighters[0]);
161
+ for (var i=1, l = regexps.length; i < l; i++) {
162
+ result.title = result.title.replace(regexps[i], highlighters[i]);
163
+ result.namespace = result.namespace.replace(regexps[i], highlighters[i]);
164
+ };
165
+ return result;
166
+ }
167
+
168
+ function createResult(info) {
169
+ var result = {};
170
+ result.title = info[0];
171
+ result.namespace = info[1];
172
+ result.path = info[2];
173
+ result.params = info[3];
174
+ result.snippet = info[4];
175
+ result.badge = info[6];
176
+ return result;
177
+ }
178
+
179
+ /* ----- Searching ------ */
180
+ function performSearch(data, regexps, queries, highlighters, state) {
181
+ var searchIndex = data.searchIndex;
182
+ var longSearchIndex = data.longSearchIndex;
183
+ var info = data.info;
184
+ var result = [];
185
+ var i = state.from;
186
+ var l = searchIndex.length;
187
+ var togo = CHUNK_SIZE;
188
+ var matchFunc, hltFunc;
189
+
190
+ while (state.pass < 4 && state.limit > 0 && togo > 0) {
191
+ if (state.pass == 0) {
192
+ matchFunc = matchPassBeginning;
193
+ hltFunc = highlightQuery;
194
+ } else if (state.pass == 1) {
195
+ matchFunc = matchPassLongIndex;
196
+ hltFunc = highlightQuery;
197
+ } else if (state.pass == 2) {
198
+ matchFunc = matchPassContains;
199
+ hltFunc = highlightQuery;
200
+ } else if (state.pass == 3) {
201
+ matchFunc = matchPassRegexp;
202
+ hltFunc = highlightRegexp;
203
+ }
204
+
205
+ for (; togo > 0 && i < l && state.limit > 0; i++, togo--) {
206
+ if (info[i].n == state.n) continue;
207
+ if (matchFunc(searchIndex[i], longSearchIndex[i], queries, regexps)) {
208
+ info[i].n = state.n;
209
+ result.push(hltFunc(info[i], queries, regexps, highlighters));
210
+ state.limit--;
211
+ }
212
+ };
213
+ if (searchIndex.length <= i) {
214
+ state.pass++;
215
+ i = state.from = 0;
216
+ } else {
217
+ state.from = i;
218
+ }
219
+ }
220
+ return result;
221
+ }
222
+
223
+ function triggerResults(results, isLast) {
224
+ this.handlers.forEach(function(fn) {
225
+ fn.call(this, results, isLast)
226
+ });
227
+ }
228
+ }
229
+
Binary file
@@ -0,0 +1,345 @@
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
+
26
+ <body id="top" class="table-of-contents">
27
+ <main role="main">
28
+ <h1 class="class">Table of Contents - RDoc Documentation</h1>
29
+
30
+
31
+
32
+ <h2 id="pages">Pages</h2>
33
+ <ul>
34
+
35
+ <li class="file">
36
+ <a href="Gemfile.html">Gemfile</a>
37
+
38
+ </li>
39
+
40
+ <li class="file">
41
+ <a href="Gemfile_lock.html">Gemfile.lock</a>
42
+
43
+ </li>
44
+
45
+ <li class="file">
46
+ <a href="Guardfile.html">Guardfile</a>
47
+
48
+ </li>
49
+
50
+ <li class="file">
51
+ <a href="README_md.html">README</a>
52
+
53
+ <ul>
54
+
55
+ <li><a href="README_md.html#label-Alimentos">Alimentos</a>
56
+
57
+ <li><a href="README_md.html#label-Descripci-C3-B3n">Descripción</a>
58
+
59
+ <li><a href="README_md.html#label-Installation">Installation</a>
60
+
61
+ <li><a href="README_md.html#label-Desarrollo">Desarrollo</a>
62
+
63
+ <li><a href="README_md.html#label-Pr-C3-A1ctica+7">Práctica 7</a>
64
+
65
+ <li><a href="README_md.html#label-Clase+List">Clase List</a>
66
+
67
+ <li><a href="README_md.html#label-Pruebas+de+las+Dietas">Pruebas de las Dietas</a>
68
+
69
+ <li><a href="README_md.html#label-P8">P8</a>
70
+
71
+ </ul>
72
+
73
+ </li>
74
+
75
+ <li class="file">
76
+ <a href="Rakefile.html">Rakefile</a>
77
+
78
+ </li>
79
+
80
+ <li class="file">
81
+ <a href="bin/setup.html">setup</a>
82
+
83
+ </li>
84
+
85
+ </ul>
86
+
87
+
88
+ <h2 id="classes">Classes and Modules</h2>
89
+ <ul>
90
+
91
+ <li class="module">
92
+ <a href="Alimentos.html">Alimentos</a>
93
+
94
+ </li>
95
+
96
+ <li class="class">
97
+ <a href="Alimentos/Alimentos.html">Alimentos::Alimentos</a>
98
+
99
+ </li>
100
+
101
+ <li class="class">
102
+ <a href="Alimentos/Error.html">Alimentos::Error</a>
103
+
104
+ </li>
105
+
106
+ <li class="module">
107
+ <a href="List.html">List</a>
108
+
109
+ </li>
110
+
111
+ <li class="class">
112
+ <a href="List/Error.html">List::Error</a>
113
+
114
+ </li>
115
+
116
+ <li class="class">
117
+ <a href="List/List.html">List::List</a>
118
+
119
+ </li>
120
+
121
+ <li class="module">
122
+ <a href="Menu.html">Menu</a>
123
+
124
+ </li>
125
+
126
+ <li class="class">
127
+ <a href="Menu/Error.html">Menu::Error</a>
128
+
129
+ </li>
130
+
131
+ <li class="class">
132
+ <a href="Menu/Menu.html">Menu::Menu</a>
133
+
134
+ </li>
135
+
136
+ <li class="class">
137
+ <a href="Object.html">Object</a>
138
+
139
+ </li>
140
+
141
+ <li class="module">
142
+ <a href="Plato.html">Plato</a>
143
+
144
+ </li>
145
+
146
+ <li class="class">
147
+ <a href="Plato/Error.html">Plato::Error</a>
148
+
149
+ </li>
150
+
151
+ <li class="class">
152
+ <a href="Plato/Plato.html">Plato::Plato</a>
153
+
154
+ </li>
155
+
156
+ <li class="class">
157
+ <a href="Plato/PlatoAmbiental.html">Plato::PlatoAmbiental</a>
158
+
159
+ </li>
160
+
161
+ </ul>
162
+
163
+ <h2 id="methods">Methods</h2>
164
+ <ul>
165
+
166
+ <li class="method">
167
+ <a href="Alimentos/Alimentos.html#method-c-new">::new</a>
168
+ &mdash;
169
+ <span class="container">Alimentos::Alimentos</span>
170
+
171
+ <li class="method">
172
+ <a href="List/List.html#method-c-new">::new</a>
173
+ &mdash;
174
+ <span class="container">List::List</span>
175
+
176
+ <li class="method">
177
+ <a href="Menu/Menu.html#method-c-new">::new</a>
178
+ &mdash;
179
+ <span class="container">Menu::Menu</span>
180
+
181
+ <li class="method">
182
+ <a href="Plato/Plato.html#method-c-new">::new</a>
183
+ &mdash;
184
+ <span class="container">Plato::Plato</span>
185
+
186
+ <li class="method">
187
+ <a href="Plato/PlatoAmbiental.html#method-c-new">::new</a>
188
+ &mdash;
189
+ <span class="container">Plato::PlatoAmbiental</span>
190
+
191
+ <li class="method">
192
+ <a href="Alimentos/Alimentos.html#method-i-3C-3D-3E">#&lt;=&gt;</a>
193
+ &mdash;
194
+ <span class="container">Alimentos::Alimentos</span>
195
+
196
+ <li class="method">
197
+ <a href="Menu/Menu.html#method-i-3C-3D-3E">#&lt;=&gt;</a>
198
+ &mdash;
199
+ <span class="container">Menu::Menu</span>
200
+
201
+ <li class="method">
202
+ <a href="Plato/Plato.html#method-i-3C-3D-3E">#&lt;=&gt;</a>
203
+ &mdash;
204
+ <span class="container">Plato::Plato</span>
205
+
206
+ <li class="method">
207
+ <a href="Plato/PlatoAmbiental.html#method-i-3C-3D-3E">#&lt;=&gt;</a>
208
+ &mdash;
209
+ <span class="container">Plato::PlatoAmbiental</span>
210
+
211
+ <li class="method">
212
+ <a href="Plato/Plato.html#method-i-calculoCalorico">#calculoCalorico</a>
213
+ &mdash;
214
+ <span class="container">Plato::Plato</span>
215
+
216
+ <li class="method">
217
+ <a href="Alimentos/Alimentos.html#method-i-calorias">#calorias</a>
218
+ &mdash;
219
+ <span class="container">Alimentos::Alimentos</span>
220
+
221
+ <li class="method">
222
+ <a href="List/List.html#method-i-each">#each</a>
223
+ &mdash;
224
+ <span class="container">List::List</span>
225
+
226
+ <li class="method">
227
+ <a href="Menu/Menu.html#method-i-each">#each</a>
228
+ &mdash;
229
+ <span class="container">Menu::Menu</span>
230
+
231
+ <li class="method">
232
+ <a href="Plato/PlatoAmbiental.html#method-i-emisiones">#emisiones</a>
233
+ &mdash;
234
+ <span class="container">Plato::PlatoAmbiental</span>
235
+
236
+ <li class="method">
237
+ <a href="Menu/Menu.html#method-i-getCarbohidratos">#getCarbohidratos</a>
238
+ &mdash;
239
+ <span class="container">Menu::Menu</span>
240
+
241
+ <li class="method">
242
+ <a href="Menu/Menu.html#method-i-getKcal">#getKcal</a>
243
+ &mdash;
244
+ <span class="container">Menu::Menu</span>
245
+
246
+ <li class="method">
247
+ <a href="Menu/Menu.html#method-i-getLipidos">#getLipidos</a>
248
+ &mdash;
249
+ <span class="container">Menu::Menu</span>
250
+
251
+ <li class="method">
252
+ <a href="Menu/Menu.html#method-i-getProteinas">#getProteinas</a>
253
+ &mdash;
254
+ <span class="container">Menu::Menu</span>
255
+
256
+ <li class="method">
257
+ <a href="Plato/PlatoAmbiental.html#method-i-huella">#huella</a>
258
+ &mdash;
259
+ <span class="container">Plato::PlatoAmbiental</span>
260
+
261
+ <li class="method">
262
+ <a href="Object.html#method-i-huella_nutricional">#huella_nutricional</a>
263
+ &mdash;
264
+ <span class="container">Object</span>
265
+
266
+ <li class="method">
267
+ <a href="Plato/PlatoAmbiental.html#method-i-m2">#m2</a>
268
+ &mdash;
269
+ <span class="container">Plato::PlatoAmbiental</span>
270
+
271
+ <li class="method">
272
+ <a href="Object.html#method-i-multiplicadorAmbiental">#multiplicadorAmbiental</a>
273
+ &mdash;
274
+ <span class="container">Object</span>
275
+
276
+ <li class="method">
277
+ <a href="List/List.html#method-i-pop_head">#pop_head</a>
278
+ &mdash;
279
+ <span class="container">List::List</span>
280
+
281
+ <li class="method">
282
+ <a href="List/List.html#method-i-pop_tail">#pop_tail</a>
283
+ &mdash;
284
+ <span class="container">List::List</span>
285
+
286
+ <li class="method">
287
+ <a href="Plato/Plato.html#method-i-porcarbohidratos">#porcarbohidratos</a>
288
+ &mdash;
289
+ <span class="container">Plato::Plato</span>
290
+
291
+ <li class="method">
292
+ <a href="Plato/Plato.html#method-i-porlipidos">#porlipidos</a>
293
+ &mdash;
294
+ <span class="container">Plato::Plato</span>
295
+
296
+ <li class="method">
297
+ <a href="Plato/Plato.html#method-i-porproteinas">#porproteinas</a>
298
+ &mdash;
299
+ <span class="container">Plato::Plato</span>
300
+
301
+ <li class="method">
302
+ <a href="List/List.html#method-i-push">#push</a>
303
+ &mdash;
304
+ <span class="container">List::List</span>
305
+
306
+ <li class="method">
307
+ <a href="List/List.html#method-i-push_array">#push_array</a>
308
+ &mdash;
309
+ <span class="container">List::List</span>
310
+
311
+ <li class="method">
312
+ <a href="List/List.html#method-i-size">#size</a>
313
+ &mdash;
314
+ <span class="container">List::List</span>
315
+
316
+ <li class="method">
317
+ <a href="Alimentos/Alimentos.html#method-i-to_s">#to_s</a>
318
+ &mdash;
319
+ <span class="container">Alimentos::Alimentos</span>
320
+
321
+ <li class="method">
322
+ <a href="Menu/Menu.html#method-i-to_s">#to_s</a>
323
+ &mdash;
324
+ <span class="container">Menu::Menu</span>
325
+
326
+ <li class="method">
327
+ <a href="Plato/Plato.html#method-i-to_s">#to_s</a>
328
+ &mdash;
329
+ <span class="container">Plato::Plato</span>
330
+
331
+ <li class="method">
332
+ <a href="Plato/PlatoAmbiental.html#method-i-to_s">#to_s</a>
333
+ &mdash;
334
+ <span class="container">Plato::PlatoAmbiental</span>
335
+
336
+ </ul>
337
+ </main>
338
+
339
+
340
+ <footer id="validator-badges" role="contentinfo">
341
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
342
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.2.0.
343
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
344
+ </footer>
345
+