gemaalu0100884982 0.1.1

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/.gitignore +9 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +5 -0
  5. data/Gemfile +4 -0
  6. data/Guardfile +82 -0
  7. data/README.md +11 -0
  8. data/Rakefile +21 -0
  9. data/bin/console +14 -0
  10. data/bin/setup +8 -0
  11. data/doc/Dieta.html +681 -0
  12. data/doc/Gema.html +97 -0
  13. data/doc/Gemfile.html +120 -0
  14. data/doc/Gemfile_lock.html +204 -0
  15. data/doc/Guardfile.html +200 -0
  16. data/doc/Lista.html +587 -0
  17. data/doc/Menu_Alimentos.html +234 -0
  18. data/doc/Menu_Edad.html +234 -0
  19. data/doc/Object.html +116 -0
  20. data/doc/README_md.html +129 -0
  21. data/doc/README_md~.html +128 -0
  22. data/doc/Rakefile.html +140 -0
  23. data/doc/Rakefile~.html +140 -0
  24. data/doc/bin/setup.html +121 -0
  25. data/doc/created.rid +30 -0
  26. data/doc/css/fonts.css +167 -0
  27. data/doc/css/rdoc.css +590 -0
  28. data/doc/fonts/Lato-Light.ttf +0 -0
  29. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  30. data/doc/fonts/Lato-Regular.ttf +0 -0
  31. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  32. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  33. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  34. data/doc/gema_gemspec.html +155 -0
  35. data/doc/gema_gemspec~.html +156 -0
  36. data/doc/images/add.png +0 -0
  37. data/doc/images/arrow_up.png +0 -0
  38. data/doc/images/brick.png +0 -0
  39. data/doc/images/brick_link.png +0 -0
  40. data/doc/images/bug.png +0 -0
  41. data/doc/images/bullet_black.png +0 -0
  42. data/doc/images/bullet_toggle_minus.png +0 -0
  43. data/doc/images/bullet_toggle_plus.png +0 -0
  44. data/doc/images/date.png +0 -0
  45. data/doc/images/delete.png +0 -0
  46. data/doc/images/find.png +0 -0
  47. data/doc/images/loadingAnimation.gif +0 -0
  48. data/doc/images/macFFBgHack.png +0 -0
  49. data/doc/images/package.png +0 -0
  50. data/doc/images/page_green.png +0 -0
  51. data/doc/images/page_white_text.png +0 -0
  52. data/doc/images/page_white_width.png +0 -0
  53. data/doc/images/plugin.png +0 -0
  54. data/doc/images/ruby.png +0 -0
  55. data/doc/images/tag_blue.png +0 -0
  56. data/doc/images/tag_green.png +0 -0
  57. data/doc/images/transparent.png +0 -0
  58. data/doc/images/wrench.png +0 -0
  59. data/doc/images/wrench_orange.png +0 -0
  60. data/doc/images/zoom.png +0 -0
  61. data/doc/index.html +135 -0
  62. data/doc/js/darkfish.js +161 -0
  63. data/doc/js/jquery.js +4 -0
  64. data/doc/js/navigation.js +142 -0
  65. data/doc/js/navigation.js.gz +0 -0
  66. data/doc/js/search.js +109 -0
  67. data/doc/js/search_index.js +1 -0
  68. data/doc/js/search_index.js.gz +0 -0
  69. data/doc/js/searcher.js +228 -0
  70. data/doc/js/searcher.js.gz +0 -0
  71. data/doc/lib/gema/dieta_rb~.html +253 -0
  72. data/doc/lib/gema/lista_dll_rb~.html +253 -0
  73. data/doc/lib/gema/lista_rb~.html +241 -0
  74. data/doc/lib/gema/version_rb~.html +122 -0
  75. data/doc/lib/gema_rb~.html +123 -0
  76. data/doc/spec/dieta_spec_rb~.html +286 -0
  77. data/doc/spec/herenciadieta_spec_rb~.html +222 -0
  78. data/doc/spec/lista_spec_rb~.html +396 -0
  79. data/doc/spec/spec_helper_rb~.html +118 -0
  80. data/doc/table_of_contents.html +258 -0
  81. data/gema.gemspec +40 -0
  82. data/lib/gema.rb +6 -0
  83. data/lib/gema/dieta.rb +134 -0
  84. data/lib/gema/dieta_dsl.rb +188 -0
  85. data/lib/gema/lista_dll.rb +157 -0
  86. data/lib/gema/version.rb +4 -0
  87. metadata +228 -0
@@ -0,0 +1,157 @@
1
+ #Nodo genérico de la lista
2
+ Nodo = Struct.new(:valor, :siguiente, :prev)
3
+ #Clase Lista, que es doblemente enlazada
4
+ class Lista
5
+ #Se incluye el módulo Enumerable para que la clase Lista se convierta en Enumerable
6
+ include Enumerable
7
+ #Cabecera de la lista
8
+ attr_accessor :cabecera
9
+ #Cola de la lista
10
+ attr_accessor :cola
11
+ #Constructor de la clase Lista
12
+ def initialize
13
+ @cabecera = nil
14
+ @cola = nil
15
+ end
16
+ #Método que inserta un valor o un array de valores por delante de la lista
17
+ def push (valores)
18
+ if(valores.instance_of? Array )
19
+ if(@cola == nil)
20
+ @cola = Nodo.new(valores[0],nil,nil)
21
+ @cabecera = @cola
22
+ valores.shift()
23
+ end
24
+ valores.each do |valor|
25
+
26
+ aux = @cabecera
27
+ @cabecera = Nodo.new(valor,nil,aux)
28
+ aux.siguiente = @cabecera
29
+
30
+ end
31
+ else
32
+
33
+ if(@cola==nil)
34
+ @cola = Nodo.new(valores,nil,nil)
35
+ @cabecera = @cola
36
+
37
+ else
38
+ aux = @cabecera
39
+ @cabecera = Nodo.new(valores,nil,aux)
40
+ aux.siguiente = @cabecera
41
+ end
42
+ end
43
+
44
+
45
+ end
46
+
47
+ #Método que inserta un valor o un array de valores por detrás de la lista
48
+ def push_tail(valores)
49
+ if(valores.instance_of? Array )
50
+ if(@cola == nil)
51
+ @cola = Nodo.new(valores[0],nil,nil)
52
+ @cabecera = @cola
53
+ valores.shift()
54
+ end
55
+ valores.each do |valor|
56
+
57
+ aux = @cola
58
+ @cola = Nodo.new(valor,aux,nil)
59
+ aux.prev = @cabecera
60
+
61
+ end
62
+ else
63
+
64
+ if(@cola==nil)
65
+ @cola = Nodo.new(valores,nil,nil)
66
+ @cabecera = @cola
67
+
68
+ else
69
+ aux = @cola
70
+ @cola = Nodo.new(valores,aux,nil)
71
+ aux.prev = @cabecera
72
+ end
73
+ end
74
+
75
+
76
+ end
77
+
78
+
79
+
80
+ #Método que saca un nodo por delante de la lista
81
+ def pop
82
+ if(@cabecera!=nil)
83
+ node = @cabecera
84
+ @cabecera = @cabecera.prev
85
+ if(@cabecera!=nil)
86
+ @cabecera.siguiente = nil
87
+ node.prev = nil
88
+ else @cola = nil
89
+ end
90
+
91
+
92
+ end
93
+ return node.valor
94
+ end
95
+ #Método que saca un nodo por detrás de la lista
96
+ def pop_tail
97
+ if(@cola!=nil)
98
+ node = @cola
99
+ @cola = @cola.siguiente
100
+ if(@cola!=nil)
101
+ @cola.prev = nil
102
+ node.prev = nil
103
+ else @cabecera = nil
104
+ end
105
+
106
+
107
+ end
108
+ return node.valor
109
+ end
110
+ #Método necesario para que el módulo Enumerable se pueda utilizar(el módulo Enumerable define iteradores útiles que se implementan en base a un iterador each)
111
+ def each
112
+ nodo = @cola
113
+ while(nodo!=nil)
114
+ yield nodo.valor
115
+ nodo = nodo.siguiente
116
+
117
+ end
118
+
119
+
120
+ end
121
+
122
+
123
+
124
+ #Método para imprimir la lista
125
+ def to_s
126
+ nodo = @cola
127
+ total=""
128
+ while(nodo!=nil)
129
+ total+= "#{nodo.valor}\t"
130
+ nodo = nodo.siguiente
131
+ end
132
+ total += "\n"
133
+
134
+
135
+ end
136
+ #Método que retorna si la lista está vacía o no
137
+ def is_vacia?
138
+
139
+ if(@cabecera==nil)
140
+ return true
141
+ else return false
142
+
143
+ end
144
+ end
145
+ #Método que vacía la lista
146
+ def vaciar
147
+ @cabecera = nil
148
+ return @cabecera
149
+
150
+ end
151
+
152
+
153
+
154
+
155
+
156
+
157
+ end
@@ -0,0 +1,4 @@
1
+ #Versión de la gema
2
+ module Gema
3
+ VERSION = "0.1.1" #:nodoc:
4
+ end
metadata ADDED
@@ -0,0 +1,228 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gemaalu0100884982
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - alu0100884982
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-12-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rb-readline
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.13'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.13'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: guard
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-rspec
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: guard-bundler
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: Diseño e implementación de un DSL, siguiendo la filosofía de Ruby, que
112
+ permite la definición de menús dietéticos. También, utilización de pruebas TDD a
113
+ través de RSpec(expectativas).
114
+ email:
115
+ - alu0100884982@ull.edu.es
116
+ executables: []
117
+ extensions: []
118
+ extra_rdoc_files: []
119
+ files:
120
+ - ".gitignore"
121
+ - ".rspec"
122
+ - ".travis.yml"
123
+ - Gemfile
124
+ - Guardfile
125
+ - README.md
126
+ - Rakefile
127
+ - bin/console
128
+ - bin/setup
129
+ - doc/Dieta.html
130
+ - doc/Gema.html
131
+ - doc/Gemfile.html
132
+ - doc/Gemfile_lock.html
133
+ - doc/Guardfile.html
134
+ - doc/Lista.html
135
+ - doc/Menu_Alimentos.html
136
+ - doc/Menu_Edad.html
137
+ - doc/Object.html
138
+ - doc/README_md.html
139
+ - doc/README_md~.html
140
+ - doc/Rakefile.html
141
+ - doc/Rakefile~.html
142
+ - doc/bin/setup.html
143
+ - doc/created.rid
144
+ - doc/css/fonts.css
145
+ - doc/css/rdoc.css
146
+ - doc/fonts/Lato-Light.ttf
147
+ - doc/fonts/Lato-LightItalic.ttf
148
+ - doc/fonts/Lato-Regular.ttf
149
+ - doc/fonts/Lato-RegularItalic.ttf
150
+ - doc/fonts/SourceCodePro-Bold.ttf
151
+ - doc/fonts/SourceCodePro-Regular.ttf
152
+ - doc/gema_gemspec.html
153
+ - doc/gema_gemspec~.html
154
+ - doc/images/add.png
155
+ - doc/images/arrow_up.png
156
+ - doc/images/brick.png
157
+ - doc/images/brick_link.png
158
+ - doc/images/bug.png
159
+ - doc/images/bullet_black.png
160
+ - doc/images/bullet_toggle_minus.png
161
+ - doc/images/bullet_toggle_plus.png
162
+ - doc/images/date.png
163
+ - doc/images/delete.png
164
+ - doc/images/find.png
165
+ - doc/images/loadingAnimation.gif
166
+ - doc/images/macFFBgHack.png
167
+ - doc/images/package.png
168
+ - doc/images/page_green.png
169
+ - doc/images/page_white_text.png
170
+ - doc/images/page_white_width.png
171
+ - doc/images/plugin.png
172
+ - doc/images/ruby.png
173
+ - doc/images/tag_blue.png
174
+ - doc/images/tag_green.png
175
+ - doc/images/transparent.png
176
+ - doc/images/wrench.png
177
+ - doc/images/wrench_orange.png
178
+ - doc/images/zoom.png
179
+ - doc/index.html
180
+ - doc/js/darkfish.js
181
+ - doc/js/jquery.js
182
+ - doc/js/navigation.js
183
+ - doc/js/navigation.js.gz
184
+ - doc/js/search.js
185
+ - doc/js/search_index.js
186
+ - doc/js/search_index.js.gz
187
+ - doc/js/searcher.js
188
+ - doc/js/searcher.js.gz
189
+ - doc/lib/gema/dieta_rb~.html
190
+ - doc/lib/gema/lista_dll_rb~.html
191
+ - doc/lib/gema/lista_rb~.html
192
+ - doc/lib/gema/version_rb~.html
193
+ - doc/lib/gema_rb~.html
194
+ - doc/spec/dieta_spec_rb~.html
195
+ - doc/spec/herenciadieta_spec_rb~.html
196
+ - doc/spec/lista_spec_rb~.html
197
+ - doc/spec/spec_helper_rb~.html
198
+ - doc/table_of_contents.html
199
+ - gema.gemspec
200
+ - lib/gema.rb
201
+ - lib/gema/dieta.rb
202
+ - lib/gema/dieta_dsl.rb
203
+ - lib/gema/lista_dll.rb
204
+ - lib/gema/version.rb
205
+ homepage: https://github.com/ULL-ESIT-LPP-1617/menu-dietetico-alu0100884982
206
+ licenses: []
207
+ metadata: {}
208
+ post_install_message:
209
+ rdoc_options: []
210
+ require_paths:
211
+ - lib
212
+ required_ruby_version: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
217
+ required_rubygems_version: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ requirements: []
223
+ rubyforge_project:
224
+ rubygems_version: 2.6.8
225
+ signing_key:
226
+ specification_version: 4
227
+ summary: Practica 11 LPP
228
+ test_files: []