dLinkedList 0.1.0

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 (69) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +9 -0
  4. data/.rspec +3 -0
  5. data/.travis.yml +8 -0
  6. data/Gemfile +4 -0
  7. data/Guardfile +82 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +4 -0
  10. data/Rakefile +11 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +7 -0
  13. data/dLinkedList.gemspec +29 -0
  14. data/html/DLinkedList.html +111 -0
  15. data/html/DLinkedList/Articulo.html +321 -0
  16. data/html/DLinkedList/EDocumento.html +321 -0
  17. data/html/DLinkedList/Libro.html +370 -0
  18. data/html/DLinkedList/List.html +464 -0
  19. data/html/DLinkedList/Node.html +205 -0
  20. data/html/DLinkedList/Referencia.html +464 -0
  21. data/html/created.rid +4 -0
  22. data/html/css/fonts.css +167 -0
  23. data/html/css/rdoc.css +590 -0
  24. data/html/fonts/Lato-Light.ttf +0 -0
  25. data/html/fonts/Lato-LightItalic.ttf +0 -0
  26. data/html/fonts/Lato-Regular.ttf +0 -0
  27. data/html/fonts/Lato-RegularItalic.ttf +0 -0
  28. data/html/fonts/SourceCodePro-Bold.ttf +0 -0
  29. data/html/fonts/SourceCodePro-Regular.ttf +0 -0
  30. data/html/images/add.png +0 -0
  31. data/html/images/arrow_up.png +0 -0
  32. data/html/images/brick.png +0 -0
  33. data/html/images/brick_link.png +0 -0
  34. data/html/images/bug.png +0 -0
  35. data/html/images/bullet_black.png +0 -0
  36. data/html/images/bullet_toggle_minus.png +0 -0
  37. data/html/images/bullet_toggle_plus.png +0 -0
  38. data/html/images/date.png +0 -0
  39. data/html/images/delete.png +0 -0
  40. data/html/images/find.png +0 -0
  41. data/html/images/loadingAnimation.gif +0 -0
  42. data/html/images/macFFBgHack.png +0 -0
  43. data/html/images/package.png +0 -0
  44. data/html/images/page_green.png +0 -0
  45. data/html/images/page_white_text.png +0 -0
  46. data/html/images/page_white_width.png +0 -0
  47. data/html/images/plugin.png +0 -0
  48. data/html/images/ruby.png +0 -0
  49. data/html/images/tag_blue.png +0 -0
  50. data/html/images/tag_green.png +0 -0
  51. data/html/images/transparent.png +0 -0
  52. data/html/images/wrench.png +0 -0
  53. data/html/images/wrench_orange.png +0 -0
  54. data/html/images/zoom.png +0 -0
  55. data/html/index.html +92 -0
  56. data/html/js/darkfish.js +161 -0
  57. data/html/js/jquery.js +4 -0
  58. data/html/js/navigation.js +142 -0
  59. data/html/js/navigation.js.gz +0 -0
  60. data/html/js/search.js +109 -0
  61. data/html/js/search_index.js +1 -0
  62. data/html/js/search_index.js.gz +0 -0
  63. data/html/js/searcher.js +228 -0
  64. data/html/js/searcher.js.gz +0 -0
  65. data/html/table_of_contents.html +202 -0
  66. data/lib/dLinkedList.rb +6 -0
  67. data/lib/dLinkedList/dLinkedList.rb +313 -0
  68. data/lib/dLinkedList/version.rb +4 -0
  69. metadata +210 -0
Binary file
@@ -0,0 +1,109 @@
1
+ Search = function(data, input, result) {
2
+ this.data = data;
3
+ this.$input = $(input);
4
+ this.$result = $(result);
5
+
6
+ this.$current = null;
7
+ this.$view = this.$result.parent();
8
+ this.searcher = new Searcher(data.index);
9
+ this.init();
10
+ }
11
+
12
+ Search.prototype = $.extend({}, Navigation, new function() {
13
+ var suid = 1;
14
+
15
+ this.init = function() {
16
+ var _this = this;
17
+ var observer = function(e) {
18
+ switch(e.originalEvent.keyCode) {
19
+ case 38: // Event.KEY_UP
20
+ case 40: // Event.KEY_DOWN
21
+ return;
22
+ }
23
+ _this.search(_this.$input[0].value);
24
+ };
25
+ this.$input.keyup(observer);
26
+ this.$input.click(observer); // mac's clear field
27
+
28
+ this.searcher.ready(function(results, isLast) {
29
+ _this.addResults(results, isLast);
30
+ })
31
+
32
+ this.initNavigation();
33
+ this.setNavigationActive(false);
34
+ }
35
+
36
+ this.search = function(value, selectFirstMatch) {
37
+ value = jQuery.trim(value).toLowerCase();
38
+ if (value) {
39
+ this.setNavigationActive(true);
40
+ } else {
41
+ this.setNavigationActive(false);
42
+ }
43
+
44
+ if (value == '') {
45
+ this.lastQuery = value;
46
+ this.$result.empty();
47
+ this.$result.attr('aria-expanded', 'false');
48
+ this.setNavigationActive(false);
49
+ } else if (value != this.lastQuery) {
50
+ this.lastQuery = value;
51
+ this.$result.attr('aria-busy', 'true');
52
+ this.$result.attr('aria-expanded', 'true');
53
+ this.firstRun = true;
54
+ this.searcher.find(value);
55
+ }
56
+ }
57
+
58
+ this.addResults = function(results, isLast) {
59
+ var target = this.$result.get(0);
60
+ if (this.firstRun && (results.length > 0 || isLast)) {
61
+ this.$current = null;
62
+ this.$result.empty();
63
+ }
64
+
65
+ for (var i=0, l = results.length; i < l; i++) {
66
+ var item = this.renderItem.call(this, results[i]);
67
+ item.setAttribute('id', 'search-result-' + target.childElementCount);
68
+ target.appendChild(item);
69
+ };
70
+
71
+ if (this.firstRun && results.length > 0) {
72
+ this.firstRun = false;
73
+ this.$current = $(target.firstChild);
74
+ this.$current.addClass('search-selected');
75
+ }
76
+ if (jQuery.browser.msie) this.$element[0].className += '';
77
+
78
+ if (isLast) this.$result.attr('aria-busy', 'false');
79
+ }
80
+
81
+ this.move = function(isDown) {
82
+ if (!this.$current) return;
83
+ var $next = this.$current[isDown ? 'next' : 'prev']();
84
+ if ($next.length) {
85
+ this.$current.removeClass('search-selected');
86
+ $next.addClass('search-selected');
87
+ this.$input.attr('aria-activedescendant', $next.attr('id'));
88
+ this.scrollIntoView($next[0], this.$view[0]);
89
+ this.$current = $next;
90
+ this.$input.val($next[0].firstChild.firstChild.text);
91
+ this.$input.select();
92
+ }
93
+ return true;
94
+ }
95
+
96
+ this.hlt = function(html) {
97
+ return this.escapeHTML(html).
98
+ replace(/\u0001/g, '<em>').
99
+ replace(/\u0002/g, '</em>');
100
+ }
101
+
102
+ this.escapeHTML = function(html) {
103
+ return html.replace(/[&<>]/g, function(c) {
104
+ return '&#' + c.charCodeAt(0) + ';';
105
+ });
106
+ }
107
+
108
+ });
109
+
@@ -0,0 +1 @@
1
+ var search_data = {"index":{"searchIndex":["dlinkedlist","articulo","edocumento","libro","list","node","referencia","<=>()","url_descarga()","autor()","autores_to_s()","each()","ed()","editor()","empty?()","fecha()","fecha_recup()","lugar()","new()","new()","new()","new()","new()","new()","pags()","pop()","push()","push_multi()","tit()","tit_publi()","to_s()","to_s()","to_s()","to_s()","to_s()"],"longSearchIndex":["dlinkedlist","dlinkedlist::articulo","dlinkedlist::edocumento","dlinkedlist::libro","dlinkedlist::list","dlinkedlist::node","dlinkedlist::referencia","dlinkedlist::referencia#<=>()","dlinkedlist::edocumento#url_descarga()","dlinkedlist::referencia#autor()","dlinkedlist::referencia#autores_to_s()","dlinkedlist::list#each()","dlinkedlist::libro#ed()","dlinkedlist::libro#editor()","dlinkedlist::list#empty?()","dlinkedlist::referencia#fecha()","dlinkedlist::edocumento#fecha_recup()","dlinkedlist::libro#lugar()","dlinkedlist::articulo::new()","dlinkedlist::edocumento::new()","dlinkedlist::libro::new()","dlinkedlist::list::new()","dlinkedlist::node::new()","dlinkedlist::referencia::new()","dlinkedlist::articulo#pags()","dlinkedlist::list#pop()","dlinkedlist::list#push()","dlinkedlist::list#push_multi()","dlinkedlist::referencia#tit()","dlinkedlist::articulo#tit_publi()","dlinkedlist::articulo#to_s()","dlinkedlist::edocumento#to_s()","dlinkedlist::libro#to_s()","dlinkedlist::list#to_s()","dlinkedlist::referencia#to_s()"],"info":[["DLinkedList","","DLinkedList.html","","<p>Lista de referencias bibliográficas.\n"],["DLinkedList::Articulo","","DLinkedList/Articulo.html","","<p>Referencia de un artículo.\n"],["DLinkedList::EDocumento","","DLinkedList/EDocumento.html","","<p>Referencia de un documento electrónico.\n"],["DLinkedList::Libro","","DLinkedList/Libro.html","","<p>Referencia de un libro.\n"],["DLinkedList::List","","DLinkedList/List.html","","<p>Lista de referencias bibliográficas.\n"],["DLinkedList::Node","","DLinkedList/Node.html","","<p>Nodo que contiene una referencia bibliográfica de cualquier tipo.\n"],["DLinkedList::Referencia","","DLinkedList/Referencia.html","","<p>Referencia bibliográfica básica.\n"],["<=>","DLinkedList::Referencia","DLinkedList/Referencia.html#method-i-3C-3D-3E","(c_ref)","<p>Comparación de referencias según los criterios del formato APA.\n"],["URL_descarga","DLinkedList::EDocumento","DLinkedList/EDocumento.html#method-i-URL_descarga","(dURL)","<p>Establece la URL de descarga del documento.\n"],["autor","DLinkedList::Referencia","DLinkedList/Referencia.html#method-i-autor","(autorhash)","<p>Añade un autor a la lista de autores.\n"],["autores_to_s","DLinkedList::Referencia","DLinkedList/Referencia.html#method-i-autores_to_s","()","<p>Devuelve la lista de autores como cadena.\n"],["each","DLinkedList::List","DLinkedList/List.html#method-i-each","()","<p>Itera la lista, ejecutando el bloque pasado pasándole como parámetro el\nvalor de cada nodo.\n"],["ed","DLinkedList::Libro","DLinkedList/Libro.html#method-i-ed","(edicion)","<p>Establece el nº de edición.\n"],["editor","DLinkedList::Libro","DLinkedList/Libro.html#method-i-editor","(editorial)","<p>Establece la editorial.\n"],["empty?","DLinkedList::List","DLinkedList/List.html#method-i-empty-3F","()","<p>Devuelve si la lista está vacía.\n"],["fecha","DLinkedList::Referencia","DLinkedList/Referencia.html#method-i-fecha","(fecha_publicacion)","<p>Establece la fecha de publicación.\n"],["fecha_recup","DLinkedList::EDocumento","DLinkedList/EDocumento.html#method-i-fecha_recup","(fecha_recuperacion)","<p>Establece la fecha de recuperación del documento.\n"],["lugar","DLinkedList::Libro","DLinkedList/Libro.html#method-i-lugar","(lugar_publicacion)","<p>Establece el lugar de publicación.\n"],["new","DLinkedList::Articulo","DLinkedList/Articulo.html#method-c-new","(&block)","<p>Inicializa la referencia al artículo usando el DSL especificado en el\nbloque <em>block</em>.\n"],["new","DLinkedList::EDocumento","DLinkedList/EDocumento.html#method-c-new","(&block)","<p>Inicializa la referencia al documento electrónico usando el DSL\nespecificado en el bloque <em>block</em>.\n"],["new","DLinkedList::Libro","DLinkedList/Libro.html#method-c-new","(&block)","<p>Inicializa la referencia al libro usando el DSL especificado en el bloque\n<em>block</em>.\n"],["new","DLinkedList::List","DLinkedList/List.html#method-c-new","()","<p>Inicializa la lista vacía.\n"],["new","DLinkedList::Node","DLinkedList/Node.html#method-c-new","(value, next_node = nil, prev_node = nil)","<p>Inicializa el nodo con el valor <em>value</em>. Si se especifican también\ninicializa los enlaces al siguiente …\n"],["new","DLinkedList::Referencia","DLinkedList/Referencia.html#method-c-new","(&block)","<p>Inicializa la referencia usando el DSL especificado en el bloque\n<em>block</em>.\n"],["pags","DLinkedList::Articulo","DLinkedList/Articulo.html#method-i-pags","(paginas)","<p>Establece los nº de las páginas donde está ubicado el artículo.\n"],["pop","DLinkedList::List","DLinkedList/List.html#method-i-pop","()","<p>Extrae y devuelve la referencia del principio de la lista.\n"],["push","DLinkedList::List","DLinkedList/List.html#method-i-push","(ref)","<p>Inserta la referencia <em>ref</em> al final de la lista.\n"],["push_multi","DLinkedList::List","DLinkedList/List.html#method-i-push_multi","(*refs)","<p>Inserta múltiples elementos al final de la lista.\n"],["tit","DLinkedList::Referencia","DLinkedList/Referencia.html#method-i-tit","(titulo)","<p>Establece el título.\n"],["tit_publi","DLinkedList::Articulo","DLinkedList/Articulo.html#method-i-tit_publi","(titulo_publicacion)","<p>Establece el título de la publicación.\n"],["to_s","DLinkedList::Articulo","DLinkedList/Articulo.html#method-i-to_s","()","<p>Devuelve una cadena con el contenido de la referencia al artículo en\nformato APA.\n<p>Formato: Apellidos_Autor …\n"],["to_s","DLinkedList::EDocumento","DLinkedList/EDocumento.html#method-i-to_s","()","<p>Devuelve una cadena con el contenido de la referencia al documento\nelectrónico en formato APA.\n<p>Formato: …\n"],["to_s","DLinkedList::Libro","DLinkedList/Libro.html#method-i-to_s","()","<p>Devuelve una cadena con el contenido de la referencia al libro en formato\nAPA.\n<p>Formato: Apellidos_Autor …\n"],["to_s","DLinkedList::List","DLinkedList/List.html#method-i-to_s","()","<p>Devuelve la lista de referencias ordenadas en líneas distintas como cadena.\n"],["to_s","DLinkedList::Referencia","DLinkedList/Referencia.html#method-i-to_s","()","<p>Devuelve una cadena con el contenido de la referencia en formato APA.\n<p>Formato: Apellidos_Autor, Nombre_Autor …\n"]]}}
@@ -0,0 +1,228 @@
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 jQuery.grep(query.split(/(\s+|::?|\(\)?)/), function(string) {
55
+ return string.match(/\S/)
56
+ });
57
+ }
58
+
59
+ function buildRegexps(queries) {
60
+ return jQuery.map(queries, function(query) {
61
+ return new RegExp(query.replace(/(.)/g, '([$1])([^$1]*?)'), 'i')
62
+ });
63
+ }
64
+
65
+ function buildHilighters(queries) {
66
+ return jQuery.map(queries, function(query) {
67
+ return jQuery.map(query.split(''), 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
+ return result;
176
+ }
177
+
178
+ /* ----- Searching ------ */
179
+ function performSearch(data, regexps, queries, highlighters, state) {
180
+ var searchIndex = data.searchIndex;
181
+ var longSearchIndex = data.longSearchIndex;
182
+ var info = data.info;
183
+ var result = [];
184
+ var i = state.from;
185
+ var l = searchIndex.length;
186
+ var togo = CHUNK_SIZE;
187
+ var matchFunc, hltFunc;
188
+
189
+ while (state.pass < 4 && state.limit > 0 && togo > 0) {
190
+ if (state.pass == 0) {
191
+ matchFunc = matchPassBeginning;
192
+ hltFunc = highlightQuery;
193
+ } else if (state.pass == 1) {
194
+ matchFunc = matchPassLongIndex;
195
+ hltFunc = highlightQuery;
196
+ } else if (state.pass == 2) {
197
+ matchFunc = matchPassContains;
198
+ hltFunc = highlightQuery;
199
+ } else if (state.pass == 3) {
200
+ matchFunc = matchPassRegexp;
201
+ hltFunc = highlightRegexp;
202
+ }
203
+
204
+ for (; togo > 0 && i < l && state.limit > 0; i++, togo--) {
205
+ if (info[i].n == state.n) continue;
206
+ if (matchFunc(searchIndex[i], longSearchIndex[i], queries, regexps)) {
207
+ info[i].n = state.n;
208
+ result.push(hltFunc(info[i], queries, regexps, highlighters));
209
+ state.limit--;
210
+ }
211
+ };
212
+ if (searchIndex.length <= i) {
213
+ state.pass++;
214
+ i = state.from = 0;
215
+ } else {
216
+ state.from = i;
217
+ }
218
+ }
219
+ return result;
220
+ }
221
+
222
+ function triggerResults(results, isLast) {
223
+ jQuery.each(this.handlers, function(i, fn) {
224
+ fn.call(this, results, isLast)
225
+ })
226
+ }
227
+ }
228
+
Binary file
@@ -0,0 +1,202 @@
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
+
26
+ <h2 id="classes">Classes and Modules</h2>
27
+ <ul>
28
+ <li class="module">
29
+ <a href="DLinkedList.html">DLinkedList</a>
30
+ </li>
31
+ <li class="class">
32
+ <a href="DLinkedList/Articulo.html">DLinkedList::Articulo</a>
33
+ </li>
34
+ <li class="class">
35
+ <a href="DLinkedList/EDocumento.html">DLinkedList::EDocumento</a>
36
+ </li>
37
+ <li class="class">
38
+ <a href="DLinkedList/Libro.html">DLinkedList::Libro</a>
39
+ </li>
40
+ <li class="class">
41
+ <a href="DLinkedList/List.html">DLinkedList::List</a>
42
+ </li>
43
+ <li class="class">
44
+ <a href="DLinkedList/Node.html">DLinkedList::Node</a>
45
+ </li>
46
+ <li class="class">
47
+ <a href="DLinkedList/Referencia.html">DLinkedList::Referencia</a>
48
+ </li>
49
+ </ul>
50
+
51
+ <h2 id="methods">Methods</h2>
52
+ <ul>
53
+
54
+ <li class="method">
55
+ <a href="DLinkedList/Referencia.html#method-c-new">::new</a>
56
+ &mdash;
57
+ <span class="container">DLinkedList::Referencia</span>
58
+
59
+ <li class="method">
60
+ <a href="DLinkedList/Libro.html#method-c-new">::new</a>
61
+ &mdash;
62
+ <span class="container">DLinkedList::Libro</span>
63
+
64
+ <li class="method">
65
+ <a href="DLinkedList/Articulo.html#method-c-new">::new</a>
66
+ &mdash;
67
+ <span class="container">DLinkedList::Articulo</span>
68
+
69
+ <li class="method">
70
+ <a href="DLinkedList/EDocumento.html#method-c-new">::new</a>
71
+ &mdash;
72
+ <span class="container">DLinkedList::EDocumento</span>
73
+
74
+ <li class="method">
75
+ <a href="DLinkedList/Node.html#method-c-new">::new</a>
76
+ &mdash;
77
+ <span class="container">DLinkedList::Node</span>
78
+
79
+ <li class="method">
80
+ <a href="DLinkedList/List.html#method-c-new">::new</a>
81
+ &mdash;
82
+ <span class="container">DLinkedList::List</span>
83
+
84
+ <li class="method">
85
+ <a href="DLinkedList/Referencia.html#method-i-3C-3D-3E">#&lt;=&gt;</a>
86
+ &mdash;
87
+ <span class="container">DLinkedList::Referencia</span>
88
+
89
+ <li class="method">
90
+ <a href="DLinkedList/EDocumento.html#method-i-URL_descarga">#URL_descarga</a>
91
+ &mdash;
92
+ <span class="container">DLinkedList::EDocumento</span>
93
+
94
+ <li class="method">
95
+ <a href="DLinkedList/Referencia.html#method-i-autor">#autor</a>
96
+ &mdash;
97
+ <span class="container">DLinkedList::Referencia</span>
98
+
99
+ <li class="method">
100
+ <a href="DLinkedList/Referencia.html#method-i-autores_to_s">#autores_to_s</a>
101
+ &mdash;
102
+ <span class="container">DLinkedList::Referencia</span>
103
+
104
+ <li class="method">
105
+ <a href="DLinkedList/List.html#method-i-each">#each</a>
106
+ &mdash;
107
+ <span class="container">DLinkedList::List</span>
108
+
109
+ <li class="method">
110
+ <a href="DLinkedList/Libro.html#method-i-ed">#ed</a>
111
+ &mdash;
112
+ <span class="container">DLinkedList::Libro</span>
113
+
114
+ <li class="method">
115
+ <a href="DLinkedList/Libro.html#method-i-editor">#editor</a>
116
+ &mdash;
117
+ <span class="container">DLinkedList::Libro</span>
118
+
119
+ <li class="method">
120
+ <a href="DLinkedList/List.html#method-i-empty-3F">#empty?</a>
121
+ &mdash;
122
+ <span class="container">DLinkedList::List</span>
123
+
124
+ <li class="method">
125
+ <a href="DLinkedList/Referencia.html#method-i-fecha">#fecha</a>
126
+ &mdash;
127
+ <span class="container">DLinkedList::Referencia</span>
128
+
129
+ <li class="method">
130
+ <a href="DLinkedList/EDocumento.html#method-i-fecha_recup">#fecha_recup</a>
131
+ &mdash;
132
+ <span class="container">DLinkedList::EDocumento</span>
133
+
134
+ <li class="method">
135
+ <a href="DLinkedList/Libro.html#method-i-lugar">#lugar</a>
136
+ &mdash;
137
+ <span class="container">DLinkedList::Libro</span>
138
+
139
+ <li class="method">
140
+ <a href="DLinkedList/Articulo.html#method-i-pags">#pags</a>
141
+ &mdash;
142
+ <span class="container">DLinkedList::Articulo</span>
143
+
144
+ <li class="method">
145
+ <a href="DLinkedList/List.html#method-i-pop">#pop</a>
146
+ &mdash;
147
+ <span class="container">DLinkedList::List</span>
148
+
149
+ <li class="method">
150
+ <a href="DLinkedList/List.html#method-i-push">#push</a>
151
+ &mdash;
152
+ <span class="container">DLinkedList::List</span>
153
+
154
+ <li class="method">
155
+ <a href="DLinkedList/List.html#method-i-push_multi">#push_multi</a>
156
+ &mdash;
157
+ <span class="container">DLinkedList::List</span>
158
+
159
+ <li class="method">
160
+ <a href="DLinkedList/Referencia.html#method-i-tit">#tit</a>
161
+ &mdash;
162
+ <span class="container">DLinkedList::Referencia</span>
163
+
164
+ <li class="method">
165
+ <a href="DLinkedList/Articulo.html#method-i-tit_publi">#tit_publi</a>
166
+ &mdash;
167
+ <span class="container">DLinkedList::Articulo</span>
168
+
169
+ <li class="method">
170
+ <a href="DLinkedList/Referencia.html#method-i-to_s">#to_s</a>
171
+ &mdash;
172
+ <span class="container">DLinkedList::Referencia</span>
173
+
174
+ <li class="method">
175
+ <a href="DLinkedList/Libro.html#method-i-to_s">#to_s</a>
176
+ &mdash;
177
+ <span class="container">DLinkedList::Libro</span>
178
+
179
+ <li class="method">
180
+ <a href="DLinkedList/Articulo.html#method-i-to_s">#to_s</a>
181
+ &mdash;
182
+ <span class="container">DLinkedList::Articulo</span>
183
+
184
+ <li class="method">
185
+ <a href="DLinkedList/EDocumento.html#method-i-to_s">#to_s</a>
186
+ &mdash;
187
+ <span class="container">DLinkedList::EDocumento</span>
188
+
189
+ <li class="method">
190
+ <a href="DLinkedList/List.html#method-i-to_s">#to_s</a>
191
+ &mdash;
192
+ <span class="container">DLinkedList::List</span>
193
+ </ul>
194
+ </main>
195
+
196
+
197
+ <footer id="validator-badges" role="contentinfo">
198
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
199
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
200
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
201
+ </footer>
202
+