elabs_matchers 0.0.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 (48) hide show
  1. data/.gitignore +4 -0
  2. data/.rvmrc +1 -0
  3. data/Gemfile +4 -0
  4. data/Gemfile.lock +61 -0
  5. data/README.rdoc +45 -0
  6. data/Rakefile +17 -0
  7. data/doc/ElabsMatchers.html +106 -0
  8. data/doc/ElabsMatchers/Matchers.html +93 -0
  9. data/doc/ElabsMatchers/Matchers/Capybara.html +81 -0
  10. data/doc/ElabsMatchers/Matchers/Rspec.html +81 -0
  11. data/doc/_index.html +140 -0
  12. data/doc/class_list.html +36 -0
  13. data/doc/css/common.css +1 -0
  14. data/doc/css/full_list.css +53 -0
  15. data/doc/css/style.css +318 -0
  16. data/doc/file.README.html +102 -0
  17. data/doc/file_list.html +38 -0
  18. data/doc/frames.html +13 -0
  19. data/doc/index.html +102 -0
  20. data/doc/js/app.js +203 -0
  21. data/doc/js/full_list.js +149 -0
  22. data/doc/js/jquery.js +16 -0
  23. data/doc/method_list.html +35 -0
  24. data/doc/top-level-namespace.html +88 -0
  25. data/elabs_matchers.gemspec +27 -0
  26. data/lib/elabs_matchers.rb +19 -0
  27. data/lib/elabs_matchers/cucumber/common.rb +57 -0
  28. data/lib/elabs_matchers/helpers/capybara.rb +24 -0
  29. data/lib/elabs_matchers/helpers/common.rb +27 -0
  30. data/lib/elabs_matchers/helpers/fixtures.rb +21 -0
  31. data/lib/elabs_matchers/helpers/orm.rb +32 -0
  32. data/lib/elabs_matchers/helpers/session.rb +26 -0
  33. data/lib/elabs_matchers/matchers/capybara/common.rb +200 -0
  34. data/lib/elabs_matchers/matchers/rspec/common.rb +59 -0
  35. data/lib/elabs_matchers/matchers/rspec/orm.rb +29 -0
  36. data/lib/elabs_matchers/orm/post.rb +27 -0
  37. data/lib/elabs_matchers/version.rb +3 -0
  38. data/spec/elabs_matchers/cucumber/common_spec.rb +49 -0
  39. data/spec/elabs_matchers/helpers/capybara_spec.rb +32 -0
  40. data/spec/elabs_matchers/helpers/common_spec.rb +25 -0
  41. data/spec/elabs_matchers/helpers/fixtures_spec.rb +9 -0
  42. data/spec/elabs_matchers/helpers/orm_spec.rb +22 -0
  43. data/spec/elabs_matchers/matchers/capybara/common_spec.rb +202 -0
  44. data/spec/elabs_matchers/matchers/rspec/common_spec.rb +74 -0
  45. data/spec/elabs_matchers/matchers/rspec/orm_spec.rb +16 -0
  46. data/spec/fixtures/file.txt +1 -0
  47. data/spec/spec_helper.rb +11 -0
  48. metadata +192 -0
@@ -0,0 +1,102 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>Documentation by YARD 0.6.5</title>
7
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="_index.html" title="Index">Index</a> &raquo;
27
+ <span class="title">File: README</span>
28
+
29
+
30
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
31
+ </div>
32
+
33
+ <div id="search">
34
+ <a id="class_list_link" href="#">Class List</a>
35
+ <a id="method_list_link" href="#">Method List</a>
36
+ <a id ="file_list_link" href="#">File List</a>
37
+ </div>
38
+
39
+ <div class="clear"></div>
40
+ </div>
41
+
42
+ <iframe id="search_frame"></iframe>
43
+
44
+ <div id="content"><div id='filecontents'><h1>Elabs matchers</h1>
45
+ <p>
46
+ A collection of useful rspec matchers
47
+ </p>
48
+ <h2>Installation</h2>
49
+ <p>
50
+ Install the gem with bundler:
51
+ </p>
52
+ <pre class="code">
53
+ <span class='gem identifier id'>gem</span> <span class='install identifier id'>install</span> <span class='bundler identifier id'>bundler</span>
54
+ </pre>
55
+ <p>
56
+ add gem &#8216;elabs_matchers&#8217; to your Gemfile
57
+ </p>
58
+ <pre class="code">
59
+ <span class='bundle identifier id'>bundle</span> <span class='install identifier id'>install</span>
60
+ </pre>
61
+ <h2>TODOS</h2>
62
+ <pre class="code">
63
+ <span class='mult op'>*</span> <span class='Make constant id'>Make</span> <span class='yard identifier id'>yard</span> <span class='document identifier id'>document</span> <span class='rspec identifier id'>rspec</span> <span class='matchers identifier id'>matchers</span>
64
+ <span class='mult op'>*</span> <span class='Use constant id'>Use</span> <span class='matcher identifier id'>matcher</span> <span class='with identifier id'>with</span> <span class='RSpec constant id'>RSpec</span><span class='colon2 op'>::</span><span class='Matchers constant id'>Matchers</span><span class='symbol val'>:DSL</span>
65
+ <span class='mult op'>*</span> <span class='Remove constant id'>Remove</span> <span class='Rspec constant id'>Rspec</span> <span class='warning identifier id'>warning</span>
66
+ <span class='mult op'>*</span> <span class='Add constant id'>Add</span> <span class='contributors identifier id'>contributors</span>
67
+ </pre>
68
+ <h2>License:</h2>
69
+ <pre class="code">
70
+ <span class='lparen token'>(</span><span class='The constant id'>The</span> <span class='MIT constant id'>MIT</span> <span class='License constant id'>License</span><span class='rparen token'>)</span>
71
+
72
+ <span class='Copyright constant id'>Copyright</span> <span class='lparen token'>(</span><span class='c identifier id'>c</span><span class='rparen token'>)</span> <span class='integer val'>2011</span> <span class='Elabs constant id'>Elabs</span> <span class='AB constant id'>AB</span>
73
+
74
+ <span class='Permission constant id'>Permission</span> <span class='is identifier id'>is</span> <span class='hereby identifier id'>hereby</span> <span class='granted identifier id'>granted</span><span class='comma token'>,</span> <span class='free identifier id'>free</span> <span class='of identifier id'>of</span> <span class='charge identifier id'>charge</span><span class='comma token'>,</span> <span class='to identifier id'>to</span> <span class='any identifier id'>any</span> <span class='person identifier id'>person</span> <span class='obtaining identifier id'>obtaining</span>
75
+ <span class='a identifier id'>a</span> <span class='copy identifier id'>copy</span> <span class='of identifier id'>of</span> <span class='this identifier id'>this</span> <span class='software identifier id'>software</span> <span class='and and kw'>and</span> <span class='associated identifier id'>associated</span> <span class='documentation identifier id'>documentation</span> <span class='files identifier id'>files</span> <span class='lparen token'>(</span><span class='the identifier id'>the</span>
76
+ <span class='string val'>'Software'</span><span class='rparen token'>)</span><span class='comma token'>,</span> <span class='to identifier id'>to</span> <span class='deal identifier id'>deal</span> <span class='in in kw'>in</span> <span class='the identifier id'>the</span> <span class='Software constant id'>Software</span> <span class='without identifier id'>without</span> <span class='restriction identifier id'>restriction</span><span class='comma token'>,</span> <span class='including identifier id'>including</span>
77
+ <span class='without identifier id'>without</span> <span class='limitation identifier id'>limitation</span> <span class='the identifier id'>the</span> <span class='rights identifier id'>rights</span> <span class='to identifier id'>to</span> <span class='use identifier id'>use</span><span class='comma token'>,</span> <span class='copy identifier id'>copy</span><span class='comma token'>,</span> <span class='modify identifier id'>modify</span><span class='comma token'>,</span> <span class='merge identifier id'>merge</span><span class='comma token'>,</span> <span class='publish identifier id'>publish</span><span class='comma token'>,</span>
78
+ <span class='distribute identifier id'>distribute</span><span class='comma token'>,</span> <span class='sublicense identifier id'>sublicense</span><span class='comma token'>,</span> <span class='and and kw'>and</span><span class='regexp val'>/or sell copies of the Software, and to
79
+ permit persons to whom the Software is furnished to do so, subject to
80
+ the following conditions:
81
+
82
+ The above copyright notice and this permission notice shall be
83
+ included in all copies or substantial portions of the Software.
84
+
85
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
86
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
87
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
88
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
89
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
90
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
91
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
92
+ </span></pre>
93
+ </div></div>
94
+
95
+ <div id="footer">
96
+ Generated on Wed Jun 15 10:20:45 2011 by
97
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
98
+ 0.6.5 (ruby-1.8.7).
99
+ </div>
100
+
101
+ </body>
102
+ </html>
@@ -0,0 +1,38 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html>
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
7
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
8
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
9
+ <script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
10
+ <base id="base_target" target="_parent" />
11
+ </head>
12
+ <body>
13
+ <script type="text/javascript" charset="utf-8">
14
+ if (window.top.frames.main) {
15
+ document.getElementById('base_target').target = 'main';
16
+ document.body.className = 'frames';
17
+ }
18
+ </script>
19
+ <div id="content">
20
+ <h1 id="full_list_header">File List</h1>
21
+ <div id="nav">
22
+ <a target="_self" href="class_list.html">Classes</a> |
23
+ <a target="_self" href="method_list.html">Methods</a> |
24
+ <a target="_self" href="file_list.html">Files</a>
25
+ </div>
26
+ <div id="search">Search: <input type="text" /></div>
27
+
28
+ <ul id="full_list" class="files">
29
+
30
+
31
+ <li class="r1"><a href="index.html" title="README">README</a></li>
32
+
33
+
34
+ </ul>
35
+ </div>
36
+ </body>
37
+ </html>
38
+
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
7
+ <title>Documentation by YARD 0.6.5</title>
8
+ </head>
9
+ <frameset cols="20%,*">
10
+ <frame name="list" src="class_list.html" />
11
+ <frame name="main" src="index.html" />
12
+ </frameset>
13
+ </html>
@@ -0,0 +1,102 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>Documentation by YARD 0.6.5</title>
7
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="_index.html" title="Index">Index</a> &raquo;
27
+ <span class="title">File: README</span>
28
+
29
+
30
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
31
+ </div>
32
+
33
+ <div id="search">
34
+ <a id="class_list_link" href="#">Class List</a>
35
+ <a id="method_list_link" href="#">Method List</a>
36
+ <a id ="file_list_link" href="#">File List</a>
37
+ </div>
38
+
39
+ <div class="clear"></div>
40
+ </div>
41
+
42
+ <iframe id="search_frame"></iframe>
43
+
44
+ <div id="content"><div id='filecontents'><h1>Elabs matchers</h1>
45
+ <p>
46
+ A collection of useful rspec matchers
47
+ </p>
48
+ <h2>Installation</h2>
49
+ <p>
50
+ Install the gem with bundler:
51
+ </p>
52
+ <pre class="code">
53
+ <span class='gem identifier id'>gem</span> <span class='install identifier id'>install</span> <span class='bundler identifier id'>bundler</span>
54
+ </pre>
55
+ <p>
56
+ add gem &#8216;elabs_matchers&#8217; to your Gemfile
57
+ </p>
58
+ <pre class="code">
59
+ <span class='bundle identifier id'>bundle</span> <span class='install identifier id'>install</span>
60
+ </pre>
61
+ <h2>TODOS</h2>
62
+ <pre class="code">
63
+ <span class='mult op'>*</span> <span class='Make constant id'>Make</span> <span class='yard identifier id'>yard</span> <span class='document identifier id'>document</span> <span class='rspec identifier id'>rspec</span> <span class='matchers identifier id'>matchers</span>
64
+ <span class='mult op'>*</span> <span class='Use constant id'>Use</span> <span class='matcher identifier id'>matcher</span> <span class='with identifier id'>with</span> <span class='RSpec constant id'>RSpec</span><span class='colon2 op'>::</span><span class='Matchers constant id'>Matchers</span><span class='symbol val'>:DSL</span>
65
+ <span class='mult op'>*</span> <span class='Remove constant id'>Remove</span> <span class='Rspec constant id'>Rspec</span> <span class='warning identifier id'>warning</span>
66
+ <span class='mult op'>*</span> <span class='Add constant id'>Add</span> <span class='contributors identifier id'>contributors</span>
67
+ </pre>
68
+ <h2>License:</h2>
69
+ <pre class="code">
70
+ <span class='lparen token'>(</span><span class='The constant id'>The</span> <span class='MIT constant id'>MIT</span> <span class='License constant id'>License</span><span class='rparen token'>)</span>
71
+
72
+ <span class='Copyright constant id'>Copyright</span> <span class='lparen token'>(</span><span class='c identifier id'>c</span><span class='rparen token'>)</span> <span class='integer val'>2011</span> <span class='Elabs constant id'>Elabs</span> <span class='AB constant id'>AB</span>
73
+
74
+ <span class='Permission constant id'>Permission</span> <span class='is identifier id'>is</span> <span class='hereby identifier id'>hereby</span> <span class='granted identifier id'>granted</span><span class='comma token'>,</span> <span class='free identifier id'>free</span> <span class='of identifier id'>of</span> <span class='charge identifier id'>charge</span><span class='comma token'>,</span> <span class='to identifier id'>to</span> <span class='any identifier id'>any</span> <span class='person identifier id'>person</span> <span class='obtaining identifier id'>obtaining</span>
75
+ <span class='a identifier id'>a</span> <span class='copy identifier id'>copy</span> <span class='of identifier id'>of</span> <span class='this identifier id'>this</span> <span class='software identifier id'>software</span> <span class='and and kw'>and</span> <span class='associated identifier id'>associated</span> <span class='documentation identifier id'>documentation</span> <span class='files identifier id'>files</span> <span class='lparen token'>(</span><span class='the identifier id'>the</span>
76
+ <span class='string val'>'Software'</span><span class='rparen token'>)</span><span class='comma token'>,</span> <span class='to identifier id'>to</span> <span class='deal identifier id'>deal</span> <span class='in in kw'>in</span> <span class='the identifier id'>the</span> <span class='Software constant id'>Software</span> <span class='without identifier id'>without</span> <span class='restriction identifier id'>restriction</span><span class='comma token'>,</span> <span class='including identifier id'>including</span>
77
+ <span class='without identifier id'>without</span> <span class='limitation identifier id'>limitation</span> <span class='the identifier id'>the</span> <span class='rights identifier id'>rights</span> <span class='to identifier id'>to</span> <span class='use identifier id'>use</span><span class='comma token'>,</span> <span class='copy identifier id'>copy</span><span class='comma token'>,</span> <span class='modify identifier id'>modify</span><span class='comma token'>,</span> <span class='merge identifier id'>merge</span><span class='comma token'>,</span> <span class='publish identifier id'>publish</span><span class='comma token'>,</span>
78
+ <span class='distribute identifier id'>distribute</span><span class='comma token'>,</span> <span class='sublicense identifier id'>sublicense</span><span class='comma token'>,</span> <span class='and and kw'>and</span><span class='regexp val'>/or sell copies of the Software, and to
79
+ permit persons to whom the Software is furnished to do so, subject to
80
+ the following conditions:
81
+
82
+ The above copyright notice and this permission notice shall be
83
+ included in all copies or substantial portions of the Software.
84
+
85
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
86
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
87
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
88
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
89
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
90
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
91
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
92
+ </span></pre>
93
+ </div></div>
94
+
95
+ <div id="footer">
96
+ Generated on Wed Jun 15 10:20:45 2011 by
97
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
98
+ 0.6.5 (ruby-1.8.7).
99
+ </div>
100
+
101
+ </body>
102
+ </html>
@@ -0,0 +1,203 @@
1
+ function createSourceLinks() {
2
+ $('.method_details_list .source_code').
3
+ before("<span class='showSource'>[<a href='#' class='toggleSource'>View source</a>]</span>");
4
+ $('.toggleSource').toggle(function() {
5
+ $(this).parent().next().slideDown(100);
6
+ $(this).text("Hide source");
7
+ },
8
+ function() {
9
+ $(this).parent().next().slideUp(100);
10
+ $(this).text("View source");
11
+ });
12
+ }
13
+
14
+ function createDefineLinks() {
15
+ var tHeight = 0;
16
+ $('.defines').after(" <a href='#' class='toggleDefines'>more...</a>");
17
+ $('.toggleDefines').toggle(function() {
18
+ tHeight = $(this).parent().prev().height();
19
+ $(this).prev().show();
20
+ $(this).parent().prev().height($(this).parent().height());
21
+ $(this).text("(less)");
22
+ },
23
+ function() {
24
+ $(this).prev().hide();
25
+ $(this).parent().prev().height(tHeight);
26
+ $(this).text("more...")
27
+ });
28
+ }
29
+
30
+ function createFullTreeLinks() {
31
+ var tHeight = 0;
32
+ $('.inheritanceTree').toggle(function() {
33
+ tHeight = $(this).parent().prev().height();
34
+ $(this).parent().toggleClass('showAll');
35
+ $(this).text("(hide)");
36
+ $(this).parent().prev().height($(this).parent().height());
37
+ },
38
+ function() {
39
+ $(this).parent().toggleClass('showAll');
40
+ $(this).parent().prev().height(tHeight);
41
+ $(this).text("show all")
42
+ });
43
+ }
44
+
45
+ function fixBoxInfoHeights() {
46
+ $('dl.box dd.r1, dl.box dd.r2').each(function() {
47
+ $(this).prev().height($(this).height());
48
+ });
49
+ }
50
+
51
+ function searchFrameLinks() {
52
+ $('#method_list_link').click(function() {
53
+ toggleSearchFrame(this, relpath + 'method_list.html');
54
+ });
55
+
56
+ $('#class_list_link').click(function() {
57
+ toggleSearchFrame(this, relpath + 'class_list.html');
58
+ });
59
+
60
+ $('#file_list_link').click(function() {
61
+ toggleSearchFrame(this, relpath + 'file_list.html');
62
+ });
63
+ }
64
+
65
+ function toggleSearchFrame(id, link) {
66
+ var frame = $('#search_frame');
67
+ $('#search a').removeClass('active').addClass('inactive');
68
+ if (frame.attr('src') == link && frame.css('display') != "none") {
69
+ frame.slideUp(100);
70
+ $('#search a').removeClass('active inactive');
71
+ }
72
+ else {
73
+ $(id).addClass('active').removeClass('inactive');
74
+ frame.attr('src', link).slideDown(100);
75
+ }
76
+ }
77
+
78
+ function linkSummaries() {
79
+ $('.summary_signature').click(function() {
80
+ document.location = $(this).find('a').attr('href');
81
+ });
82
+ }
83
+
84
+ function framesInit() {
85
+ if (window.top.frames.main) {
86
+ document.body.className = 'frames';
87
+ $('#menu .noframes a').attr('href', document.location);
88
+ $('html head title', window.parent.document).text($('html head title').text());
89
+ }
90
+ }
91
+
92
+ function keyboardShortcuts() {
93
+ if (window.top.frames.main) return;
94
+ $(document).keypress(function(evt) {
95
+ if (evt.altKey || evt.ctrlKey || evt.metaKey || evt.shiftKey) return;
96
+ if (typeof evt.orignalTarget !== "undefined" &&
97
+ (evt.originalTarget.nodeName == "INPUT" ||
98
+ evt.originalTarget.nodeName == "TEXTAREA")) return;
99
+ switch (evt.charCode) {
100
+ case 67: case 99: $('#class_list_link').click(); break; // 'c'
101
+ case 77: case 109: $('#method_list_link').click(); break; // 'm'
102
+ case 70: case 102: $('#file_list_link').click(); break; // 'f'
103
+ }
104
+ });
105
+ }
106
+
107
+ function summaryToggle() {
108
+ $('.summary_toggle').click(function() {
109
+ localStorage.summaryCollapsed = $(this).text();
110
+ $(this).text($(this).text() == "collapse" ? "expand" : "collapse");
111
+ var next = $(this).parent().parent().next();
112
+ if (next.hasClass('compact')) {
113
+ next.toggle();
114
+ next.next().toggle();
115
+ }
116
+ else if (next.hasClass('summary')) {
117
+ var list = $('<ul class="summary compact" />');
118
+ list.html(next.html());
119
+ list.find('.summary_desc, .note').remove();
120
+ list.find('a').each(function() {
121
+ $(this).html($(this).find('strong').html());
122
+ $(this).parent().html($(this)[0].outerHTML);
123
+ });
124
+ next.before(list);
125
+ next.toggle();
126
+ }
127
+ return false;
128
+ });
129
+ if (localStorage) {
130
+ if (localStorage.summaryCollapsed == "collapse") $('.summary_toggle').click();
131
+ else localStorage.summaryCollapsed = "expand";
132
+ }
133
+ }
134
+
135
+ function fixOutsideWorldLinks() {
136
+ $('a').each(function() {
137
+ if (window.location.host != this.host) this.target = '_parent';
138
+ });
139
+ }
140
+
141
+ function generateTOC() {
142
+ if ($('#filecontents').length == 0) return;
143
+ var _toc = $('<ol class="top"></ol>');
144
+ var show = false;
145
+ var toc = _toc;
146
+ var counter = 0;
147
+ var tags = ['h2', 'h3', 'h4', 'h5', 'h6'];
148
+ if ($('#filecontents h1').length > 1) tags.unshift('h1');
149
+ for (i in tags) { tags[i] = '#filecontents ' + tags[i] }
150
+ var lastTag = parseInt(tags[0][1]);
151
+ $(tags.join(', ')).each(function() {
152
+ if (this.id == "filecontents") return;
153
+ show = true;
154
+ var thisTag = parseInt(this.tagName[1]);
155
+ if (this.id.length == 0) {
156
+ var proposedId = $(this).text().replace(/[^a-z0-9-]/ig, '_');
157
+ if ($('#' + proposedId).length > 0) proposedId += counter++;
158
+ this.id = proposedId;
159
+ }
160
+ if (thisTag > lastTag) {
161
+ for (var i = 0; i < thisTag - lastTag; i++) {
162
+ var tmp = $('<ol/>'); toc.append(tmp); toc = tmp;
163
+ }
164
+ }
165
+ if (thisTag < lastTag) {
166
+ for (var i = 0; i < lastTag - thisTag; i++) toc = toc.parent();
167
+ }
168
+ toc.append('<li><a href="#' + this.id + '">' + $(this).text() + '</a></li>');
169
+ lastTag = thisTag;
170
+ });
171
+ if (!show) return;
172
+ html = '<div id="toc"><p class="title"><a class="hide_toc" href="#"><strong>Table of Contents</strong></a> <small>(<a href="#" class="float_toc">left</a>)</small></p></div>';
173
+ $('#content').prepend(html);
174
+ $('#toc').append(_toc);
175
+ $('#toc .hide_toc').toggle(function() {
176
+ $('#toc .top').slideUp('fast');
177
+ $('#toc').toggleClass('hidden');
178
+ $('#toc .title small').toggle();
179
+ }, function() {
180
+ $('#toc .top').slideDown('fast');
181
+ $('#toc').toggleClass('hidden');
182
+ $('#toc .title small').toggle();
183
+ });
184
+ $('#toc .float_toc').toggle(function() {
185
+ $(this).text('float');
186
+ $('#toc').toggleClass('nofloat');
187
+ }, function() {
188
+ $(this).text('left')
189
+ $('#toc').toggleClass('nofloat');
190
+ });
191
+ }
192
+
193
+ $(framesInit);
194
+ $(createSourceLinks);
195
+ $(createDefineLinks);
196
+ $(createFullTreeLinks);
197
+ $(fixBoxInfoHeights);
198
+ $(searchFrameLinks);
199
+ $(linkSummaries);
200
+ $(keyboardShortcuts);
201
+ $(summaryToggle);
202
+ $(fixOutsideWorldLinks);
203
+ $(generateTOC);