alimentos_diego_algomas 0.1.3

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.
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
+