linkedlist_alu0100221879 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.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.rspec +3 -0
- data/Gemfile +4 -0
- data/Guardfile +82 -0
- data/LICENSE.txt +21 -0
- data/README.md +9 -0
- data/Rakefile +11 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/html/Linkedlist.html +112 -0
- data/html/Linkedlist/List.html +429 -0
- data/html/Linkedlist/Menu.html +611 -0
- data/html/Linkedlist/MenuEdades.html +267 -0
- data/html/Linkedlist/MenuGrupos.html +266 -0
- data/html/Linkedlist/Node.html +206 -0
- data/html/Linkedlist/Plato.html +317 -0
- data/html/created.rid +4 -0
- data/html/css/fonts.css +167 -0
- data/html/css/rdoc.css +590 -0
- data/html/fonts/Lato-Light.ttf +0 -0
- data/html/fonts/Lato-LightItalic.ttf +0 -0
- data/html/fonts/Lato-Regular.ttf +0 -0
- data/html/fonts/Lato-RegularItalic.ttf +0 -0
- data/html/fonts/SourceCodePro-Bold.ttf +0 -0
- data/html/fonts/SourceCodePro-Regular.ttf +0 -0
- data/html/images/add.png +0 -0
- data/html/images/arrow_up.png +0 -0
- data/html/images/brick.png +0 -0
- data/html/images/brick_link.png +0 -0
- data/html/images/bug.png +0 -0
- data/html/images/bullet_black.png +0 -0
- data/html/images/bullet_toggle_minus.png +0 -0
- data/html/images/bullet_toggle_plus.png +0 -0
- data/html/images/date.png +0 -0
- data/html/images/delete.png +0 -0
- data/html/images/find.png +0 -0
- data/html/images/loadingAnimation.gif +0 -0
- data/html/images/macFFBgHack.png +0 -0
- data/html/images/package.png +0 -0
- data/html/images/page_green.png +0 -0
- data/html/images/page_white_text.png +0 -0
- data/html/images/page_white_width.png +0 -0
- data/html/images/plugin.png +0 -0
- data/html/images/ruby.png +0 -0
- data/html/images/tag_blue.png +0 -0
- data/html/images/tag_green.png +0 -0
- data/html/images/transparent.png +0 -0
- data/html/images/wrench.png +0 -0
- data/html/images/wrench_orange.png +0 -0
- data/html/images/zoom.png +0 -0
- data/html/index.html +93 -0
- data/html/js/darkfish.js +161 -0
- data/html/js/jquery.js +4 -0
- data/html/js/navigation.js +142 -0
- data/html/js/navigation.js.gz +0 -0
- data/html/js/search.js +109 -0
- data/html/js/search_index.js +1 -0
- data/html/js/search_index.js.gz +0 -0
- data/html/js/searcher.js +229 -0
- data/html/js/searcher.js.gz +0 -0
- data/html/table_of_contents.html +198 -0
- data/lib/linkedlist.rb +6 -0
- data/lib/linkedlist/linkedlist.rb +302 -0
- data/lib/linkedlist/version.rb +3 -0
- data/linkedlist.gemspec +29 -0
- metadata +207 -0
|
Binary file
|
data/html/js/search.js
ADDED
|
@@ -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":["linkedlist","list","menu","menuedades","menugrupos","node","plato","<=>()","==()","each()","empty?()","eql?()","err_pct()","get_plate()","grupo()","ingesta()","is_pct?()","new()","new()","new()","new()","new()","new()","plato()","pop()","porcentajes()","push()","push_multi()","rango()","tit()","to_s()","to_s()","to_s()","to_s()"],"longSearchIndex":["linkedlist","linkedlist::list","linkedlist::menu","linkedlist::menuedades","linkedlist::menugrupos","linkedlist::node","linkedlist::plato","linkedlist::menu#<=>()","linkedlist::plato#==()","linkedlist::list#each()","linkedlist::list#empty?()","linkedlist::plato#eql?()","linkedlist::menu::err_pct()","linkedlist::menu#get_plate()","linkedlist::menugrupos#grupo()","linkedlist::menu#ingesta()","linkedlist::menu::is_pct?()","linkedlist::list::new()","linkedlist::menu::new()","linkedlist::menuedades::new()","linkedlist::menugrupos::new()","linkedlist::node::new()","linkedlist::plato::new()","linkedlist::menu#plato()","linkedlist::list#pop()","linkedlist::menu#porcentajes()","linkedlist::list#push()","linkedlist::list#push_multi()","linkedlist::menuedades#rango()","linkedlist::menu#tit()","linkedlist::menu#to_s()","linkedlist::menuedades#to_s()","linkedlist::menugrupos#to_s()","linkedlist::plato#to_s()"],"info":[["Linkedlist","","Linkedlist.html","","<p>Lista de menús dietéticos.\n"],["Linkedlist::List","","Linkedlist/List.html","","<p>Lista de menús dietéticos.\n"],["Linkedlist::Menu","","Linkedlist/Menu.html","","<p>Menú básico.\n"],["Linkedlist::MenuEdades","","Linkedlist/MenuEdades.html","","<p>Menú por edades.\n"],["Linkedlist::MenuGrupos","","Linkedlist/MenuGrupos.html","","<p>Menú por grupo de alimentos.\n"],["Linkedlist::Node","","Linkedlist/Node.html","","<p>Nodo que contiene un menú dietético de cualquier tipo.\n"],["Linkedlist::Plato","","Linkedlist/Plato.html","","<p>Plato de un menú.\n"],["<=>","Linkedlist::Menu","Linkedlist/Menu.html#method-i-3C-3D-3E","(c_menu)","<p>Comparación de menús. La comparación es por orden alfabético de títulos y\npor cantidad de platos (de …\n"],["==","Linkedlist::Plato","Linkedlist/Plato.html#method-i-3D-3D","(plato)","<p>Comprobación de la igualdad entre platos.\n"],["each","Linkedlist::List","Linkedlist/List.html#method-i-each","()","<p>Itera la lista, ejecutando el bloque pasado pasándole como parámetro el\nvalor de cada nodo.\n"],["empty?","Linkedlist::List","Linkedlist/List.html#method-i-empty-3F","()","<p>Devuelve si la lista está vacía.\n"],["eql?","Linkedlist::Plato","Linkedlist/Plato.html#method-i-eql-3F","(plato)","<p>Comprobación de la igualdad entre platos.\n"],["err_pct","Linkedlist::Menu","Linkedlist/Menu.html#method-c-err_pct","(str)","<p>Devuelve la cadena de error si el porcentaje no es correcto.\n"],["get_plate","Linkedlist::Menu","Linkedlist/Menu.html#method-i-get_plate","(num)","<p>Obtiene el plato correspondiente al número <em>num</em> o nil si éste no\nexiste.\n"],["grupo","Linkedlist::MenuGrupos","Linkedlist/MenuGrupos.html#method-i-grupo","(grupo)","<p>Establece el grupo de alimentos.\n"],["ingesta","Linkedlist::Menu","Linkedlist/Menu.html#method-i-ingesta","(ingesta)","<p>Establece el porcentaje de ingesta diaria.\n"],["is_pct?","Linkedlist::Menu","Linkedlist/Menu.html#method-c-is_pct-3F","(num)","<p>Comprueba que <em>num</em> está entre 0 y 100 (ambos incluidos).\n"],["new","Linkedlist::List","Linkedlist/List.html#method-c-new","()","<p>Inicializa la lista vacía.\n"],["new","Linkedlist::Menu","Linkedlist/Menu.html#method-c-new","(&block)","<p>Inicializa el menú con los datos pasados (formato DSL).\n"],["new","Linkedlist::MenuEdades","Linkedlist/MenuEdades.html#method-c-new","(&block)","<p>Inicializa el menú con los datos pasados (formato DSL).\n"],["new","Linkedlist::MenuGrupos","Linkedlist/MenuGrupos.html#method-c-new","(&block)","<p>Inicializa el menú con los datos pasados (formato DSL).\n"],["new","Linkedlist::Node","Linkedlist/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","Linkedlist::Plato","Linkedlist/Plato.html#method-c-new","(descr, porcion, ingesta)","<p>Inicializa el plato con los datos pasados.\n"],["plato","Linkedlist::Menu","Linkedlist/Menu.html#method-i-plato","(plato)","<p>Añade un plato al menú.\n"],["pop","Linkedlist::List","Linkedlist/List.html#method-i-pop","()","<p>Extrae y devuelve el menú del principio de la lista.\n"],["porcentajes","Linkedlist::Menu","Linkedlist/Menu.html#method-i-porcentajes","(porcentajes)","<p>Establece el valor calórico total (VCT) y los porcentajes de proteínas,\ngrasas e hidratos de carbono. …\n"],["push","Linkedlist::List","Linkedlist/List.html#method-i-push","(ref)","<p>Inserta el menú <em>ref</em> al final de la lista.\n"],["push_multi","Linkedlist::List","Linkedlist/List.html#method-i-push_multi","(*refs)","<p>Inserta múltiples elementos al final de la lista.\n"],["rango","Linkedlist::MenuEdades","Linkedlist/MenuEdades.html#method-i-rango","(rango)","<p>Establece el rango de edades recomendado para el menú.\n"],["tit","Linkedlist::Menu","Linkedlist/Menu.html#method-i-tit","(titulo)","<p>Establece el título del menú.\n"],["to_s","Linkedlist::Menu","Linkedlist/Menu.html#method-i-to_s","()","<p>Devuelve el menú formateado como cadena.\n"],["to_s","Linkedlist::MenuEdades","Linkedlist/MenuEdades.html#method-i-to_s","()","<p>Devuelve el menú por edades formateado como cadena.\n"],["to_s","Linkedlist::MenuGrupos","Linkedlist/MenuGrupos.html#method-i-to_s","()","<p>Devuelve el menú por grupo de alimentos formateado como cadena.\n"],["to_s","Linkedlist::Plato","Linkedlist/Plato.html#method-i-to_s","()","<p>Devuelve el plato formateado como cadena.\n"]]}}
|
|
Binary file
|
data/html/js/searcher.js
ADDED
|
@@ -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 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
|
+
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
|
+
jQuery.each(this.handlers, function(i, fn) {
|
|
225
|
+
fn.call(this, results, isLast)
|
|
226
|
+
})
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
Binary file
|
|
@@ -0,0 +1,198 @@
|
|
|
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/jquery.js"></script>
|
|
15
|
+
<script src="./js/darkfish.js"></script>
|
|
16
|
+
|
|
17
|
+
<link href="./css/fonts.css" rel="stylesheet">
|
|
18
|
+
<link href="./css/rdoc.css" rel="stylesheet">
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
<body id="top" class="table-of-contents">
|
|
23
|
+
<main role="main">
|
|
24
|
+
<h1 class="class">Table of Contents - RDoc Documentation</h1>
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
<h2 id="classes">Classes and Modules</h2>
|
|
28
|
+
<ul>
|
|
29
|
+
<li class="module">
|
|
30
|
+
<a href="Linkedlist.html">Linkedlist</a>
|
|
31
|
+
</li>
|
|
32
|
+
<li class="class">
|
|
33
|
+
<a href="Linkedlist/List.html">Linkedlist::List</a>
|
|
34
|
+
</li>
|
|
35
|
+
<li class="class">
|
|
36
|
+
<a href="Linkedlist/Menu.html">Linkedlist::Menu</a>
|
|
37
|
+
</li>
|
|
38
|
+
<li class="class">
|
|
39
|
+
<a href="Linkedlist/MenuEdades.html">Linkedlist::MenuEdades</a>
|
|
40
|
+
</li>
|
|
41
|
+
<li class="class">
|
|
42
|
+
<a href="Linkedlist/MenuGrupos.html">Linkedlist::MenuGrupos</a>
|
|
43
|
+
</li>
|
|
44
|
+
<li class="class">
|
|
45
|
+
<a href="Linkedlist/Node.html">Linkedlist::Node</a>
|
|
46
|
+
</li>
|
|
47
|
+
<li class="class">
|
|
48
|
+
<a href="Linkedlist/Plato.html">Linkedlist::Plato</a>
|
|
49
|
+
</li>
|
|
50
|
+
</ul>
|
|
51
|
+
|
|
52
|
+
<h2 id="methods">Methods</h2>
|
|
53
|
+
<ul>
|
|
54
|
+
|
|
55
|
+
<li class="method">
|
|
56
|
+
<a href="Linkedlist/Menu.html#method-c-err_pct">::err_pct</a>
|
|
57
|
+
—
|
|
58
|
+
<span class="container">Linkedlist::Menu</span>
|
|
59
|
+
|
|
60
|
+
<li class="method">
|
|
61
|
+
<a href="Linkedlist/Menu.html#method-c-is_pct-3F">::is_pct?</a>
|
|
62
|
+
—
|
|
63
|
+
<span class="container">Linkedlist::Menu</span>
|
|
64
|
+
|
|
65
|
+
<li class="method">
|
|
66
|
+
<a href="Linkedlist/Plato.html#method-c-new">::new</a>
|
|
67
|
+
—
|
|
68
|
+
<span class="container">Linkedlist::Plato</span>
|
|
69
|
+
|
|
70
|
+
<li class="method">
|
|
71
|
+
<a href="Linkedlist/Menu.html#method-c-new">::new</a>
|
|
72
|
+
—
|
|
73
|
+
<span class="container">Linkedlist::Menu</span>
|
|
74
|
+
|
|
75
|
+
<li class="method">
|
|
76
|
+
<a href="Linkedlist/MenuGrupos.html#method-c-new">::new</a>
|
|
77
|
+
—
|
|
78
|
+
<span class="container">Linkedlist::MenuGrupos</span>
|
|
79
|
+
|
|
80
|
+
<li class="method">
|
|
81
|
+
<a href="Linkedlist/MenuEdades.html#method-c-new">::new</a>
|
|
82
|
+
—
|
|
83
|
+
<span class="container">Linkedlist::MenuEdades</span>
|
|
84
|
+
|
|
85
|
+
<li class="method">
|
|
86
|
+
<a href="Linkedlist/Node.html#method-c-new">::new</a>
|
|
87
|
+
—
|
|
88
|
+
<span class="container">Linkedlist::Node</span>
|
|
89
|
+
|
|
90
|
+
<li class="method">
|
|
91
|
+
<a href="Linkedlist/List.html#method-c-new">::new</a>
|
|
92
|
+
—
|
|
93
|
+
<span class="container">Linkedlist::List</span>
|
|
94
|
+
|
|
95
|
+
<li class="method">
|
|
96
|
+
<a href="Linkedlist/Menu.html#method-i-3C-3D-3E">#<=></a>
|
|
97
|
+
—
|
|
98
|
+
<span class="container">Linkedlist::Menu</span>
|
|
99
|
+
|
|
100
|
+
<li class="method">
|
|
101
|
+
<a href="Linkedlist/Plato.html#method-i-3D-3D">#==</a>
|
|
102
|
+
—
|
|
103
|
+
<span class="container">Linkedlist::Plato</span>
|
|
104
|
+
|
|
105
|
+
<li class="method">
|
|
106
|
+
<a href="Linkedlist/List.html#method-i-each">#each</a>
|
|
107
|
+
—
|
|
108
|
+
<span class="container">Linkedlist::List</span>
|
|
109
|
+
|
|
110
|
+
<li class="method">
|
|
111
|
+
<a href="Linkedlist/List.html#method-i-empty-3F">#empty?</a>
|
|
112
|
+
—
|
|
113
|
+
<span class="container">Linkedlist::List</span>
|
|
114
|
+
|
|
115
|
+
<li class="method">
|
|
116
|
+
<a href="Linkedlist/Plato.html#method-i-eql-3F">#eql?</a>
|
|
117
|
+
—
|
|
118
|
+
<span class="container">Linkedlist::Plato</span>
|
|
119
|
+
|
|
120
|
+
<li class="method">
|
|
121
|
+
<a href="Linkedlist/Menu.html#method-i-get_plate">#get_plate</a>
|
|
122
|
+
—
|
|
123
|
+
<span class="container">Linkedlist::Menu</span>
|
|
124
|
+
|
|
125
|
+
<li class="method">
|
|
126
|
+
<a href="Linkedlist/MenuGrupos.html#method-i-grupo">#grupo</a>
|
|
127
|
+
—
|
|
128
|
+
<span class="container">Linkedlist::MenuGrupos</span>
|
|
129
|
+
|
|
130
|
+
<li class="method">
|
|
131
|
+
<a href="Linkedlist/Menu.html#method-i-ingesta">#ingesta</a>
|
|
132
|
+
—
|
|
133
|
+
<span class="container">Linkedlist::Menu</span>
|
|
134
|
+
|
|
135
|
+
<li class="method">
|
|
136
|
+
<a href="Linkedlist/Menu.html#method-i-plato">#plato</a>
|
|
137
|
+
—
|
|
138
|
+
<span class="container">Linkedlist::Menu</span>
|
|
139
|
+
|
|
140
|
+
<li class="method">
|
|
141
|
+
<a href="Linkedlist/List.html#method-i-pop">#pop</a>
|
|
142
|
+
—
|
|
143
|
+
<span class="container">Linkedlist::List</span>
|
|
144
|
+
|
|
145
|
+
<li class="method">
|
|
146
|
+
<a href="Linkedlist/Menu.html#method-i-porcentajes">#porcentajes</a>
|
|
147
|
+
—
|
|
148
|
+
<span class="container">Linkedlist::Menu</span>
|
|
149
|
+
|
|
150
|
+
<li class="method">
|
|
151
|
+
<a href="Linkedlist/List.html#method-i-push">#push</a>
|
|
152
|
+
—
|
|
153
|
+
<span class="container">Linkedlist::List</span>
|
|
154
|
+
|
|
155
|
+
<li class="method">
|
|
156
|
+
<a href="Linkedlist/List.html#method-i-push_multi">#push_multi</a>
|
|
157
|
+
—
|
|
158
|
+
<span class="container">Linkedlist::List</span>
|
|
159
|
+
|
|
160
|
+
<li class="method">
|
|
161
|
+
<a href="Linkedlist/MenuEdades.html#method-i-rango">#rango</a>
|
|
162
|
+
—
|
|
163
|
+
<span class="container">Linkedlist::MenuEdades</span>
|
|
164
|
+
|
|
165
|
+
<li class="method">
|
|
166
|
+
<a href="Linkedlist/Menu.html#method-i-tit">#tit</a>
|
|
167
|
+
—
|
|
168
|
+
<span class="container">Linkedlist::Menu</span>
|
|
169
|
+
|
|
170
|
+
<li class="method">
|
|
171
|
+
<a href="Linkedlist/Plato.html#method-i-to_s">#to_s</a>
|
|
172
|
+
—
|
|
173
|
+
<span class="container">Linkedlist::Plato</span>
|
|
174
|
+
|
|
175
|
+
<li class="method">
|
|
176
|
+
<a href="Linkedlist/Menu.html#method-i-to_s">#to_s</a>
|
|
177
|
+
—
|
|
178
|
+
<span class="container">Linkedlist::Menu</span>
|
|
179
|
+
|
|
180
|
+
<li class="method">
|
|
181
|
+
<a href="Linkedlist/MenuGrupos.html#method-i-to_s">#to_s</a>
|
|
182
|
+
—
|
|
183
|
+
<span class="container">Linkedlist::MenuGrupos</span>
|
|
184
|
+
|
|
185
|
+
<li class="method">
|
|
186
|
+
<a href="Linkedlist/MenuEdades.html#method-i-to_s">#to_s</a>
|
|
187
|
+
—
|
|
188
|
+
<span class="container">Linkedlist::MenuEdades</span>
|
|
189
|
+
</ul>
|
|
190
|
+
</main>
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
<footer id="validator-badges" role="contentinfo">
|
|
194
|
+
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
|
195
|
+
<p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.0.0.
|
|
196
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
197
|
+
</footer>
|
|
198
|
+
|