dieta-alu0100226300 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +5 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +4 -0
  7. data/Guardfile +82 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +49 -0
  10. data/Rakefile +6 -0
  11. data/algo.log +1 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +8 -0
  14. data/dieta.gemspec +39 -0
  15. data/documentacion/CODE_OF_CONDUCT_md.html +195 -0
  16. data/documentacion/Dieta.html +109 -0
  17. data/documentacion/Dietas.html +219 -0
  18. data/documentacion/Gemfile.html +100 -0
  19. data/documentacion/Gemfile_lock.html +182 -0
  20. data/documentacion/Guardfile.html +180 -0
  21. data/documentacion/LICENSE_txt.html +117 -0
  22. data/documentacion/Lista.html +457 -0
  23. data/documentacion/Menu.html +624 -0
  24. data/documentacion/Menu_alimento.html +221 -0
  25. data/documentacion/Menu_edad.html +221 -0
  26. data/documentacion/Object.html +116 -0
  27. data/documentacion/Plato.html +314 -0
  28. data/documentacion/README_md.html +173 -0
  29. data/documentacion/Rakefile.html +101 -0
  30. data/documentacion/bin/setup.html +101 -0
  31. data/documentacion/created.rid +19 -0
  32. data/documentacion/css/fonts.css +167 -0
  33. data/documentacion/css/rdoc.css +590 -0
  34. data/documentacion/dieta_gemspec.html +135 -0
  35. data/documentacion/fonts/Lato-Light.ttf +0 -0
  36. data/documentacion/fonts/Lato-LightItalic.ttf +0 -0
  37. data/documentacion/fonts/Lato-Regular.ttf +0 -0
  38. data/documentacion/fonts/Lato-RegularItalic.ttf +0 -0
  39. data/documentacion/fonts/SourceCodePro-Bold.ttf +0 -0
  40. data/documentacion/fonts/SourceCodePro-Regular.ttf +0 -0
  41. data/documentacion/images/add.png +0 -0
  42. data/documentacion/images/arrow_up.png +0 -0
  43. data/documentacion/images/brick.png +0 -0
  44. data/documentacion/images/brick_link.png +0 -0
  45. data/documentacion/images/bug.png +0 -0
  46. data/documentacion/images/bullet_black.png +0 -0
  47. data/documentacion/images/bullet_toggle_minus.png +0 -0
  48. data/documentacion/images/bullet_toggle_plus.png +0 -0
  49. data/documentacion/images/date.png +0 -0
  50. data/documentacion/images/delete.png +0 -0
  51. data/documentacion/images/find.png +0 -0
  52. data/documentacion/images/loadingAnimation.gif +0 -0
  53. data/documentacion/images/macFFBgHack.png +0 -0
  54. data/documentacion/images/package.png +0 -0
  55. data/documentacion/images/page_green.png +0 -0
  56. data/documentacion/images/page_white_text.png +0 -0
  57. data/documentacion/images/page_white_width.png +0 -0
  58. data/documentacion/images/plugin.png +0 -0
  59. data/documentacion/images/ruby.png +0 -0
  60. data/documentacion/images/tag_blue.png +0 -0
  61. data/documentacion/images/tag_green.png +0 -0
  62. data/documentacion/images/transparent.png +0 -0
  63. data/documentacion/images/wrench.png +0 -0
  64. data/documentacion/images/wrench_orange.png +0 -0
  65. data/documentacion/images/zoom.png +0 -0
  66. data/documentacion/index.html +119 -0
  67. data/documentacion/js/darkfish.js +161 -0
  68. data/documentacion/js/jquery.js +4 -0
  69. data/documentacion/js/navigation.js +142 -0
  70. data/documentacion/js/navigation.js.gz +0 -0
  71. data/documentacion/js/search.js +109 -0
  72. data/documentacion/js/search_index.js +1 -0
  73. data/documentacion/js/search_index.js.gz +0 -0
  74. data/documentacion/js/searcher.js +228 -0
  75. data/documentacion/js/searcher.js.gz +0 -0
  76. data/documentacion/table_of_contents.html +257 -0
  77. data/lib/dieta.rb +10 -0
  78. data/lib/dieta/dietas.rb +11 -0
  79. data/lib/dieta/lista.rb +65 -0
  80. data/lib/dieta/menu.rb +78 -0
  81. data/lib/dieta/menudsl.rb +58 -0
  82. data/lib/dieta/plato.rb +19 -0
  83. data/lib/dieta/version.rb +3 -0
  84. metadata +210 -0
@@ -0,0 +1,257 @@
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
+ </script>
12
+
13
+ <script src="./js/jquery.js"></script>
14
+ <script src="./js/darkfish.js"></script>
15
+
16
+ <link href="./css/fonts.css" rel="stylesheet">
17
+ <link href="./css/rdoc.css" rel="stylesheet">
18
+
19
+
20
+
21
+ <body id="top" class="table-of-contents">
22
+ <main role="main">
23
+ <h1 class="class">Table of Contents - RDoc Documentation</h1>
24
+
25
+ <h2 id="pages">Pages</h2>
26
+ <ul>
27
+ <li class="file">
28
+ <a href="CODE_OF_CONDUCT_md.html">CODE_OF_CONDUCT</a>
29
+
30
+ <ul>
31
+ <li><a href="CODE_OF_CONDUCT_md.html#label-Contributor+Covenant+Code+of+Conduct">Contributor Covenant Code of Conduct</a>
32
+ <li><a href="CODE_OF_CONDUCT_md.html#label-Our+Pledge">Our Pledge</a>
33
+ <li><a href="CODE_OF_CONDUCT_md.html#label-Our+Standards">Our Standards</a>
34
+ <li><a href="CODE_OF_CONDUCT_md.html#label-Our+Responsibilities">Our Responsibilities</a>
35
+ <li><a href="CODE_OF_CONDUCT_md.html#label-Scope">Scope</a>
36
+ <li><a href="CODE_OF_CONDUCT_md.html#label-Enforcement">Enforcement</a>
37
+ <li><a href="CODE_OF_CONDUCT_md.html#label-Attribution">Attribution</a>
38
+ </ul>
39
+ </li>
40
+ <li class="file">
41
+ <a href="Gemfile.html">Gemfile</a>
42
+ </li>
43
+ <li class="file">
44
+ <a href="Gemfile_lock.html">Gemfile.lock</a>
45
+ </li>
46
+ <li class="file">
47
+ <a href="Guardfile.html">Guardfile</a>
48
+ </li>
49
+ <li class="file">
50
+ <a href="LICENSE_txt.html">LICENSE</a>
51
+ </li>
52
+ <li class="file">
53
+ <a href="README_md.html">README</a>
54
+
55
+ <ul>
56
+ <li><a href="README_md.html#label-Lenguajes+y+Paradigmas+de+la+Programaci-C3-B3n">Lenguajes y Paradigmas de la Programación</a>
57
+ <li><a href="README_md.html#label-Practica+8">Practica 8</a>
58
+ <li><a href="README_md.html#label-Dieta">Dieta</a>
59
+ <li><a href="README_md.html#label-Installation">Installation</a>
60
+ <li><a href="README_md.html#label-Usage">Usage</a>
61
+ <li><a href="README_md.html#label-Development">Development</a>
62
+ <li><a href="README_md.html#label-Contributing">Contributing</a>
63
+ <li><a href="README_md.html#label-License">License</a>
64
+ </ul>
65
+ </li>
66
+ <li class="file">
67
+ <a href="Rakefile.html">Rakefile</a>
68
+ </li>
69
+ <li class="file">
70
+ <a href="bin/setup.html">setup</a>
71
+ </li>
72
+ <li class="file">
73
+ <a href="dieta_gemspec.html">dieta.gemspec</a>
74
+ </li>
75
+
76
+ </ul>
77
+
78
+ <h2 id="classes">Classes and Modules</h2>
79
+ <ul>
80
+ <li class="module">
81
+ <a href="Dieta.html">Dieta</a>
82
+ </li>
83
+ <li class="class">
84
+ <a href="Dietas.html">Dietas</a>
85
+ </li>
86
+ <li class="class">
87
+ <a href="Lista.html">Lista</a>
88
+ </li>
89
+ <li class="class">
90
+ <a href="Menu.html">Menu</a>
91
+ </li>
92
+ <li class="class">
93
+ <a href="Menu_alimento.html">Menu_alimento</a>
94
+ </li>
95
+ <li class="class">
96
+ <a href="Menu_edad.html">Menu_edad</a>
97
+ </li>
98
+ <li class="class">
99
+ <a href="Object.html">Object</a>
100
+ </li>
101
+ <li class="class">
102
+ <a href="Plato.html">Plato</a>
103
+ </li>
104
+ </ul>
105
+
106
+ <h2 id="methods">Methods</h2>
107
+ <ul>
108
+
109
+ <li class="method">
110
+ <a href="Dietas.html#method-c-new">::new</a>
111
+ &mdash;
112
+ <span class="container">Dietas</span>
113
+
114
+ <li class="method">
115
+ <a href="Lista.html#method-c-new">::new</a>
116
+ &mdash;
117
+ <span class="container">Lista</span>
118
+
119
+ <li class="method">
120
+ <a href="Menu.html#method-c-new">::new</a>
121
+ &mdash;
122
+ <span class="container">Menu</span>
123
+
124
+ <li class="method">
125
+ <a href="Menu_alimento.html#method-c-new">::new</a>
126
+ &mdash;
127
+ <span class="container">Menu_alimento</span>
128
+
129
+ <li class="method">
130
+ <a href="Menu_edad.html#method-c-new">::new</a>
131
+ &mdash;
132
+ <span class="container">Menu_edad</span>
133
+
134
+ <li class="method">
135
+ <a href="Plato.html#method-c-new">::new</a>
136
+ &mdash;
137
+ <span class="container">Plato</span>
138
+
139
+ <li class="method">
140
+ <a href="Menu.html#method-i-3C-3D-3E">#&lt;=&gt;</a>
141
+ &mdash;
142
+ <span class="container">Menu</span>
143
+
144
+ <li class="method">
145
+ <a href="Plato.html#method-i-3D-3D">#==</a>
146
+ &mdash;
147
+ <span class="container">Plato</span>
148
+
149
+ <li class="method">
150
+ <a href="Lista.html#method-i-each">#each</a>
151
+ &mdash;
152
+ <span class="container">Lista</span>
153
+
154
+ <li class="method">
155
+ <a href="Lista.html#method-i-extraer_inicio">#extraer_inicio</a>
156
+ &mdash;
157
+ <span class="container">Lista</span>
158
+
159
+ <li class="method">
160
+ <a href="Lista.html#method-i-extrar_final">#extrar_final</a>
161
+ &mdash;
162
+ <span class="container">Lista</span>
163
+
164
+ <li class="method">
165
+ <a href="Plato.html#method-i-get_descripcion">#get_descripcion</a>
166
+ &mdash;
167
+ <span class="container">Plato</span>
168
+
169
+ <li class="method">
170
+ <a href="Menu.html#method-i-get_grasas">#get_grasas</a>
171
+ &mdash;
172
+ <span class="container">Menu</span>
173
+
174
+ <li class="method">
175
+ <a href="Menu.html#method-i-get_hidratos">#get_hidratos</a>
176
+ &mdash;
177
+ <span class="container">Menu</span>
178
+
179
+ <li class="method">
180
+ <a href="Menu.html#method-i-get_plato">#get_plato</a>
181
+ &mdash;
182
+ <span class="container">Menu</span>
183
+
184
+ <li class="method">
185
+ <a href="Menu.html#method-i-get_porcentaje">#get_porcentaje</a>
186
+ &mdash;
187
+ <span class="container">Menu</span>
188
+
189
+ <li class="method">
190
+ <a href="Menu.html#method-i-get_proteinas">#get_proteinas</a>
191
+ &mdash;
192
+ <span class="container">Menu</span>
193
+
194
+ <li class="method">
195
+ <a href="Menu.html#method-i-get_titulo">#get_titulo</a>
196
+ &mdash;
197
+ <span class="container">Menu</span>
198
+
199
+ <li class="method">
200
+ <a href="Menu.html#method-i-get_vct">#get_vct</a>
201
+ &mdash;
202
+ <span class="container">Menu</span>
203
+
204
+ <li class="method">
205
+ <a href="Menu.html#method-i-getall_platos">#getall_platos</a>
206
+ &mdash;
207
+ <span class="container">Menu</span>
208
+
209
+ <li class="method">
210
+ <a href="Lista.html#method-i-insertar">#insertar</a>
211
+ &mdash;
212
+ <span class="container">Lista</span>
213
+
214
+ <li class="method">
215
+ <a href="Lista.html#method-i-insertar_varios">#insertar_varios</a>
216
+ &mdash;
217
+ <span class="container">Lista</span>
218
+
219
+ <li class="method">
220
+ <a href="Dietas.html#method-i-porcentaje_diario">#porcentaje_diario</a>
221
+ &mdash;
222
+ <span class="container">Dietas</span>
223
+
224
+ <li class="method">
225
+ <a href="Lista.html#method-i-to_s">#to_s</a>
226
+ &mdash;
227
+ <span class="container">Lista</span>
228
+
229
+ <li class="method">
230
+ <a href="Menu.html#method-i-to_s">#to_s</a>
231
+ &mdash;
232
+ <span class="container">Menu</span>
233
+
234
+ <li class="method">
235
+ <a href="Menu_alimento.html#method-i-to_s">#to_s</a>
236
+ &mdash;
237
+ <span class="container">Menu_alimento</span>
238
+
239
+ <li class="method">
240
+ <a href="Menu_edad.html#method-i-to_s">#to_s</a>
241
+ &mdash;
242
+ <span class="container">Menu_edad</span>
243
+
244
+ <li class="method">
245
+ <a href="Plato.html#method-i-to_s">#to_s</a>
246
+ &mdash;
247
+ <span class="container">Plato</span>
248
+ </ul>
249
+ </main>
250
+
251
+
252
+ <footer id="validator-badges" role="contentinfo">
253
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
254
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.1.
255
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
256
+ </footer>
257
+
@@ -0,0 +1,10 @@
1
+ require "dieta/dietas"
2
+ require "dieta/menu"
3
+ require "dieta/menudsl"
4
+ require "dieta/plato"
5
+ require "dieta/lista"
6
+ require "dieta/version"
7
+
8
+ module Dieta
9
+ # Your code goes here...
10
+ end
@@ -0,0 +1,11 @@
1
+ class Dietas
2
+ attr_reader :menus
3
+ def initialize menus
4
+ @menus = menus
5
+ end
6
+ def porcentaje_diario
7
+ @total=0
8
+ @menus.map {|menu| @total=@total + menu.get_porcentaje }
9
+ @total
10
+ end
11
+ end
@@ -0,0 +1,65 @@
1
+ Nodo = Struct.new(:value, :next, :prev)
2
+
3
+ class Lista
4
+
5
+ include Enumerable
6
+
7
+ attr_accessor :cabeza, :cola, :nodo_actual
8
+
9
+ def initialize(cabeza,cola)
10
+ @cabeza = cabeza
11
+ @cola = cola
12
+ end
13
+
14
+ def insertar(x)
15
+ node = Nodo.new(x,nil,nil)
16
+
17
+ if @cabeza==nil && @cola==nil
18
+ node.prev = @cola
19
+ node.next = @cabeza
20
+ @nodo_actual = node
21
+ @cabeza = node
22
+ @cola = node
23
+ else
24
+ node.prev = @cabeza
25
+ node.next = nil
26
+ @nodo_actual = node
27
+ @cabeza.next = node
28
+ @cabeza = node
29
+ end
30
+ end
31
+
32
+ def insertar_varios(nodos)
33
+ nodos.each do |nd|
34
+ insertar(nd)
35
+ end
36
+ end
37
+
38
+ #eliminar el nodo y cambiar los valores al nodo anterior
39
+ def extraer_inicio()
40
+ @cola=@cola.next
41
+ end
42
+
43
+ def extrar_final()
44
+ @cabeza = @cabeza.prev
45
+ end
46
+
47
+ def to_s
48
+ @cabeza.to_s
49
+ end
50
+
51
+ def each
52
+ while @cabeza != @cola
53
+ yield @cabeza.value
54
+ @cabeza=@cabeza.prev
55
+ end
56
+
57
+ if @cabeza == @cola
58
+ if @cabeza == nil
59
+ nil
60
+ else
61
+ yield @cola.value
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,78 @@
1
+ class Menu
2
+
3
+ include Comparable
4
+
5
+ attr_reader :titulo, :porcentaje, :platos, :vct, :proteinas, :grasas, :hidratos
6
+ def initialize titulo, porcentaje, platos, vct, proteinas, grasas, hidratos
7
+ @titulo, @porcentaje, @platos, @vct, @proteinas, @grasas, @hidratos = titulo, porcentaje, platos, vct, proteinas, grasas, hidratos
8
+ end
9
+ def get_titulo
10
+ @titulo
11
+ end
12
+ def get_plato i
13
+ @platos[i]
14
+ end
15
+ def getall_platos
16
+ @platos
17
+ end
18
+ def get_vct
19
+ @vct
20
+ end
21
+ def get_porcentaje
22
+ @porcentaje
23
+ end
24
+ def to_s
25
+ out = "#{@titulo.upcase} (#{@porcentaje}%)\n"
26
+ out << @platos.map { |plato| "- #{plato}" }.join(",\n")
27
+ out << "\nV.C.T. | % #{vct} kcal | #{proteinas}% - #{grasas}% - #{hidratos}%"
28
+ out
29
+ end
30
+ def get_proteinas
31
+ @proteinas
32
+ end
33
+ def get_grasas
34
+ @grasas
35
+ end
36
+ def get_hidratos
37
+ @hidratos
38
+ end
39
+ def <=>(otro)
40
+ titulo<=>otro.titulo
41
+ end
42
+
43
+
44
+ end
45
+
46
+ class Menu_alimento < Menu
47
+
48
+ attr_accessor :grupo_alimento
49
+
50
+ def initialize titulo, porcentaje, platos, vct, proteinas, grasas, hidratos, grupo_alimento
51
+ @titulo, @porcentaje, @platos, @vct, @proteinas, @grasas, @hidratos, @grupo_alimento = titulo, porcentaje, platos, vct, proteinas, grasas, hidratos, grupo_alimento
52
+ end
53
+
54
+ def to_s
55
+ out = "Menu dietetico del grupo #{@grupo_alimento}\n"
56
+ out << "#{@titulo.upcase} (#{@porcentaje}%)\n"
57
+ out << @platos.map { |plato| "- #{plato}" }.join(",\n")
58
+ out << "\nV.C.T. | % #{vct} kcal | #{proteinas}% - #{grasas}% - #{hidratos}%"
59
+ out
60
+ end
61
+ end
62
+
63
+ class Menu_edad < Menu
64
+
65
+ attr_accessor :grupo_edad
66
+
67
+ def initialize titulo, porcentaje, platos, vct, proteinas, grasas, hidratos, grupo_edad
68
+ @titulo, @porcentaje, @platos, @vct, @proteinas, @grasas, @hidratos, @grupo_edad = titulo, porcentaje, platos, vct, proteinas, grasas, hidratos, grupo_edad
69
+ end
70
+
71
+ def to_s
72
+ out = "Menu dietetico del grupo #{@grupo_edad}\n"
73
+ out << "#{@titulo.upcase} (#{@porcentaje}%)\n"
74
+ out << @platos.map { |plato| "- #{plato}" }.join(",\n")
75
+ out << "\nV.C.T. | % #{vct} kcal | #{proteinas}% - #{grasas}% - #{hidratos}%"
76
+ out
77
+ end
78
+ end
@@ -0,0 +1,58 @@
1
+ class MenuDSL
2
+ attr_accessor :name, :ntitulo, :ingestas, :platos, :instructions, :porcientos
3
+
4
+ def initialize(name, &block)
5
+ self.name = name
6
+ self.ntitulo = []
7
+ self.ingestas = []
8
+ self.platos = []
9
+ self.instructions = []
10
+ self.porcientos = []
11
+
12
+ instance_eval &block
13
+ end
14
+
15
+ def titulo(text, options = {})
16
+ ntitulo << text
17
+ end
18
+
19
+ def ingesta(options = {})
20
+ ingestas << " (#{options[:min]})" if options[:min]
21
+ ingestas << " (#{options[:max]})" if options[:max]
22
+ end
23
+
24
+ def plato(options = {})
25
+ platos << " (#{options[:descripcion]})" if options[:descripcion]
26
+ platos << " (#{options[:porcion]})" if options[:porcion]
27
+ platos << " (#{options[:gramos]})" if options[:gramos]
28
+ end
29
+
30
+ def porcentajes(options = {})
31
+ porcientos << " (#{options[:vct]})" if options[:vct]
32
+ porcientos << " (#{options[:proteinas]})" if options[:proteinas]
33
+ porcientos << " (#{options[:grasas]})" if options[:grasas]
34
+ porcientos << " (#{options[:hidratos]})" if options[:hidratos]
35
+ end
36
+
37
+ def to_s
38
+ output = ""
39
+ output << "#{ntitulo.join(', ')}"
40
+ output << "\n#{'=' * name.size}\n\n"
41
+ output << "min: #{ingestas[0]} max: #{ingestas[1]}\n"
42
+
43
+ output << "\nPlatos:\n"
44
+
45
+ platos.each_with_index do |plato, index|
46
+ output << "#{plato}"
47
+ if index>0
48
+ if (index-1) % 3 == 1
49
+ output << "\n"
50
+ end
51
+ end
52
+ end
53
+
54
+ output << "\nPorcientos: vct:#{porcientos[0]}, proteinas:#{porcientos[1]} grasas:#{porcientos[2]} hidratos:#{porcientos[3]}\n"
55
+
56
+ output
57
+ end
58
+ end