axlsx 1.1.4 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. data/README.md +10 -3
  2. data/Rakefile +7 -1
  3. data/examples/chart_colors.rb +1 -1
  4. data/examples/chart_colors.xlsx +0 -0
  5. data/examples/doc/_index.html +84 -0
  6. data/examples/doc/class_list.html +47 -0
  7. data/examples/doc/css/common.css +1 -0
  8. data/examples/doc/css/full_list.css +55 -0
  9. data/examples/doc/css/style.css +322 -0
  10. data/examples/doc/file_list.html +46 -0
  11. data/examples/doc/frames.html +13 -0
  12. data/examples/doc/index.html +84 -0
  13. data/examples/doc/js/app.js +205 -0
  14. data/examples/doc/js/full_list.js +173 -0
  15. data/examples/doc/js/jquery.js +16 -0
  16. data/examples/doc/method_list.html +46 -0
  17. data/examples/doc/top-level-namespace.html +95 -0
  18. data/examples/example.rb +12 -5
  19. data/examples/example.xlsx +0 -0
  20. data/examples/example_streamed.xlsx +0 -0
  21. data/examples/extractive.rb +3 -0
  22. data/lib/axlsx.rb +4 -4
  23. data/lib/axlsx/drawing/drawing.rb +7 -2
  24. data/lib/axlsx/drawing/graphic_frame.rb +2 -1
  25. data/lib/axlsx/drawing/num_data_source.rb +3 -0
  26. data/lib/axlsx/drawing/vml_drawing.rb +42 -0
  27. data/lib/axlsx/drawing/vml_drawing.rb~ +6 -0
  28. data/lib/axlsx/drawing/vml_shape.rb +128 -0
  29. data/lib/axlsx/drawing/vml_shape.rb~ +61 -0
  30. data/lib/axlsx/package.rb +24 -0
  31. data/lib/axlsx/rels/relationships.rb +0 -10
  32. data/lib/axlsx/stylesheet/gradient_fill.rb +1 -1
  33. data/lib/axlsx/util/constants.rb +24 -0
  34. data/lib/axlsx/util/validators.rb +32 -4
  35. data/lib/axlsx/version.rb +1 -1
  36. data/lib/axlsx/workbook/workbook.rb +21 -0
  37. data/lib/axlsx/workbook/worksheet/cell.rb +4 -2
  38. data/lib/axlsx/workbook/worksheet/comment.rb +107 -0
  39. data/lib/axlsx/workbook/worksheet/comment.rb~ +91 -0
  40. data/lib/axlsx/workbook/worksheet/comments.rb +77 -0
  41. data/lib/axlsx/workbook/worksheet/comments.rb~ +86 -0
  42. data/lib/axlsx/workbook/worksheet/page_setup.rb +90 -0
  43. data/lib/axlsx/workbook/worksheet/print_options.rb +63 -0
  44. data/lib/axlsx/workbook/worksheet/row.rb +2 -2
  45. data/lib/axlsx/workbook/worksheet/worksheet.rb +72 -9
  46. data/test/doc_props/tc_core.rb +3 -1
  47. data/test/drawing/tc_hyperlink.rb +4 -0
  48. data/test/drawing/tc_line_series.rb +6 -2
  49. data/test/drawing/tc_pie_series.rb +6 -1
  50. data/test/drawing/tc_vml_drawing.rb +25 -0
  51. data/{examples/#extractive.csv# → test/drawing/tc_vml_drawing.rb~} +0 -0
  52. data/test/drawing/tc_vml_shape.rb +100 -0
  53. data/test/rels/tc_relationship.rb +1 -0
  54. data/test/stylesheet/tc_gradient_fill.rb +8 -0
  55. data/test/stylesheet/tc_pattern_fill.rb +7 -1
  56. data/test/tc_helper.rb +1 -0
  57. data/test/tc_package.rb +16 -5
  58. data/test/util/tc_validators.rb +29 -0
  59. data/test/workbook/worksheet/tc_cell.rb +17 -0
  60. data/test/workbook/worksheet/tc_comment.rb +56 -0
  61. data/test/workbook/worksheet/tc_comments.rb +50 -0
  62. data/test/workbook/worksheet/tc_page_setup.rb +103 -0
  63. data/test/workbook/worksheet/tc_print_options.rb +72 -0
  64. data/test/workbook/worksheet/tc_row.rb +19 -13
  65. data/test/workbook/worksheet/tc_worksheet.rb +60 -7
  66. metadata +56 -24
  67. data/examples/#extractive.rb# +0 -45
  68. data/examples/chart_colors.rb~ +0 -0
  69. data/examples/colored_series_data.xlsx +0 -0
  70. data/examples/example.csv +0 -1000
  71. data/examples/extractive.csv +0 -1
  72. data/examples/extractive.csv~ +0 -1
  73. data/examples/extractive.rb~ +0 -3
  74. data/examples/extractive.xlsx +0 -0
  75. data/examples/no-use_autowidth.xlsx +0 -0
  76. data/examples/shared_strings_example.xlsx +0 -0
  77. data/examples/stack.rb +0 -21
  78. data/examples/stack.rb~ +0 -27
  79. data/examples/stack.xlsx +0 -0
  80. data/examples/~$chart_colors.xlsx +0 -0
  81. data/examples/~$extractive.xlsx +0 -0
data/README.md CHANGED
@@ -16,7 +16,7 @@ Axlsx: Office Open XML Spreadsheet Generation
16
16
 
17
17
  **License**: MIT License
18
18
 
19
- **Latest Version**: 1.1.4
19
+ **Latest Version**: 1.1.5
20
20
 
21
21
  **Ruby Version**: 1.8.7, 1.9.2, 1.9.3
22
22
 
@@ -24,7 +24,7 @@ Axlsx: Office Open XML Spreadsheet Generation
24
24
 
25
25
  **Rubinius Version**: rubinius 2.0.0dev * lower versions may run, this gem always tests against head.
26
26
 
27
- **Release Date**: May 3rd 2012
27
+ **Release Date**: May 13rd 2012
28
28
 
29
29
  If you are working in rails, or with active record see:
30
30
  http://github.com/randym/acts_as_xlsx
@@ -36,7 +36,7 @@ Synopsis
36
36
  --------
37
37
 
38
38
  Axlsx is an Office Open XML Spreadsheet generator for the Ruby programming language.
39
- With Axlsx you can create excel worksheets with charts, images (with links), automated and fixed column widths, customized styles, functions, merged cells, auto filters, file and stream serialization as well as full schema validation. Axlsx excels at helping you generate beautiful Office Open XML Spreadsheet documents without having to understand the entire ECMA specification.
39
+ With Axlsx you can create excel worksheets with charts, images (with links), automated and fixed column widths, customized styles, functions, tables, conditional formatting, print options, comments, merged cells, auto filters, file and stream serialization as well as full schema validation. Axlsx excels at helping you generate beautiful Office Open XML Spreadsheet documents without having to understand the entire ECMA specification.
40
40
 
41
41
  ![Screen 1](https://github.com/randym/axlsx/raw/master/examples/sample.png)
42
42
 
@@ -107,6 +107,13 @@ This gem has 100% test coverage using test/unit. To execute tests for this gem,
107
107
 
108
108
  #Change log
109
109
  ---------
110
+ - ** May.13.12**: 1.1.5 release
111
+ - MOAR print options! You can now specify paper size, orientation,
112
+ fit to width, page margings and gridlines for printing.
113
+ - Support for adding comments ot your worksheets
114
+ - bugfix for applying style to empty cells
115
+ - bugfix for parsing formula with multipe '='
116
+
110
117
  - ** May.3.12:**: 1.1.4 release
111
118
  - MOAR examples
112
119
  - added outline level for rows and columns
data/Rakefile CHANGED
@@ -10,6 +10,7 @@ end
10
10
 
11
11
  task :gendoc do
12
12
  system "yardoc"
13
+ system "yard stats --list-undoc"
13
14
  end
14
15
 
15
16
  task :test do
@@ -21,8 +22,13 @@ task :test do
21
22
  end
22
23
  end
23
24
 
25
+ task :report do
26
+ require 'cover_me'
27
+ CoverMe.complete!
28
+ end
29
+
24
30
  task :release => :build do
25
31
  system "gem push axlsx-#{Axlsx::VERSION}.gem"
26
32
  end
27
33
 
28
- task :default => :test
34
+ task :default => :test
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby -w -s
2
2
  # -*- coding: utf-8 -*-
3
- $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
3
+ # $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
4
4
  require 'axlsx'
5
5
 
6
6
  p = Axlsx::Package.new
Binary file
@@ -0,0 +1,84 @@
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>
7
+ Documentation by YARD 0.7.5
8
+
9
+ </title>
10
+
11
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
12
+
13
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <script type="text/javascript" charset="utf-8">
16
+ relpath = '';
17
+ if (relpath != '') relpath += '/';
18
+ </script>
19
+
20
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
21
+
22
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
23
+
24
+
25
+ </head>
26
+ <body>
27
+ <script type="text/javascript" charset="utf-8">
28
+ if (window.top.frames.main) document.body.className = 'frames';
29
+ </script>
30
+
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+
35
+ <span class="title"></span>
36
+
37
+
38
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
39
+ </div>
40
+
41
+ <div id="search">
42
+
43
+ <a id="class_list_link" href="#">Class List</a>
44
+
45
+ <a id="method_list_link" href="#">Method List</a>
46
+
47
+ <a id="file_list_link" href="#">File List</a>
48
+
49
+ </div>
50
+ <div class="clear"></div>
51
+ </div>
52
+
53
+ <iframe id="search_frame"></iframe>
54
+
55
+ <div id="content"><h1 class="noborder title">Documentation by YARD 0.7.5</h1>
56
+ <div id="listing">
57
+ <h1 class="alphaindex">Alphabetic Index</h1>
58
+
59
+ <div class="clear"></div>
60
+ <h2>Namespace Listing A-Z</h2>
61
+
62
+
63
+
64
+
65
+ <table>
66
+ <tr>
67
+ <td valign='top' width="33%">
68
+
69
+ </td>
70
+ </tr>
71
+ </table>
72
+
73
+ </div>
74
+
75
+ </div>
76
+
77
+ <div id="footer">
78
+ Generated on Sun May 13 15:19:06 2012 by
79
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
80
+ 0.7.5 (ruby-1.9.3).
81
+ </div>
82
+
83
+ </body>
84
+ </html>
@@ -0,0 +1,47 @@
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 http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+
7
+ <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
8
+
9
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
10
+
11
+
12
+
13
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
16
+
17
+
18
+ <base id="base_target" target="_parent" />
19
+ </head>
20
+ <body>
21
+ <script type="text/javascript" charset="utf-8">
22
+ if (window.top.frames.main) {
23
+ document.getElementById('base_target').target = 'main';
24
+ document.body.className = 'frames';
25
+ }
26
+ </script>
27
+ <div id="content">
28
+ <h1 id="full_list_header">Class List</h1>
29
+ <div id="nav">
30
+
31
+ <a target="_self" href="class_list.html">Classes</a>
32
+
33
+ <a target="_self" href="method_list.html">Methods</a>
34
+
35
+ <a target="_self" href="file_list.html">Files</a>
36
+
37
+ </div>
38
+ <div id="search">Search: <input type="text" /></div>
39
+
40
+ <ul id="full_list" class="class">
41
+ <li><span class='object_link'><a href="top-level-namespace.html" title=" (root)">Top Level Namespace</a></span></li>
42
+
43
+
44
+ </ul>
45
+ </div>
46
+ </body>
47
+ </html>
@@ -0,0 +1 @@
1
+ /* Override this file with custom rules */
@@ -0,0 +1,55 @@
1
+ body {
2
+ margin: 0;
3
+ font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
4
+ font-size: 13px;
5
+ height: 101%;
6
+ overflow-x: hidden;
7
+ }
8
+
9
+ h1 { padding: 12px 10px; padding-bottom: 0; margin: 0; font-size: 1.4em; }
10
+ .clear { clear: both; }
11
+ #search { position: absolute; right: 5px; top: 9px; padding-left: 24px; }
12
+ #content.insearch #search, #content.insearch #noresults { background: url(data:image/gif;base64,R0lGODlhEAAQAPYAAP///wAAAPr6+pKSkoiIiO7u7sjIyNjY2J6engAAAI6OjsbGxjIyMlJSUuzs7KamppSUlPLy8oKCghwcHLKysqSkpJqamvT09Pj4+KioqM7OzkRERAwMDGBgYN7e3ujo6Ly8vCoqKjY2NkZGRtTU1MTExDw8PE5OTj4+PkhISNDQ0MrKylpaWrS0tOrq6nBwcKysrLi4uLq6ul5eXlxcXGJiYoaGhuDg4H5+fvz8/KKiohgYGCwsLFZWVgQEBFBQUMzMzDg4OFhYWBoaGvDw8NbW1pycnOLi4ubm5kBAQKqqqiQkJCAgIK6urnJyckpKSjQ0NGpqatLS0sDAwCYmJnx8fEJCQlRUVAoKCggICLCwsOTk5ExMTPb29ra2tmZmZmhoaNzc3KCgoBISEiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCAAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAkIAAAALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkECQgAAAAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAkIAAAALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==) no-repeat center left; }
13
+ #full_list { padding: 0; list-style: none; margin-left: 0; }
14
+ #full_list ul { padding: 0; }
15
+ #full_list li { padding: 5px; padding-left: 12px; margin: 0; font-size: 1.1em; list-style: none; }
16
+ #noresults { padding: 7px 12px; }
17
+ #content.insearch #noresults { margin-left: 7px; }
18
+ ul.collapsed ul, ul.collapsed li { display: none; }
19
+ ul.collapsed.search_uncollapsed { display: block; }
20
+ ul.collapsed.search_uncollapsed li { display: list-item; }
21
+ li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; }
22
+ li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; }
23
+ li { color: #888; cursor: pointer; }
24
+ li.deprecated { text-decoration: line-through; font-style: italic; }
25
+ li.r1 { background: #f0f0f0; }
26
+ li.r2 { background: #fafafa; }
27
+ li:hover { background: #ddd; }
28
+ li small:before { content: "("; }
29
+ li small:after { content: ")"; }
30
+ li small.search_info { display: none; }
31
+ a:link, a:visited { text-decoration: none; color: #05a; }
32
+ li.clicked { background: #05a; color: #ccc; }
33
+ li.clicked a:link, li.clicked a:visited { color: #eee; }
34
+ li.clicked a.toggle { opacity: 0.5; background-position: bottom right; }
35
+ li.collapsed.clicked a.toggle { background-position: top right; }
36
+ #search input { border: 1px solid #bbb; -moz-border-radius: 3px; -webkit-border-radius: 3px; }
37
+ #nav { margin-left: 10px; font-size: 0.9em; display: none; color: #aaa; }
38
+ #nav a:link, #nav a:visited { color: #358; }
39
+ #nav a:hover { background: transparent; color: #5af; }
40
+
41
+ .frames #content h1 { margin-top: 0; }
42
+ .frames li { white-space: nowrap; cursor: normal; }
43
+ .frames li small { display: block; font-size: 0.8em; }
44
+ .frames li small:before { content: ""; }
45
+ .frames li small:after { content: ""; }
46
+ .frames li small.search_info { display: none; }
47
+ .frames #search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; }
48
+ .frames #content.insearch #search { background-position: center right; }
49
+ .frames #search input { width: 110px; }
50
+ .frames #nav { display: block; }
51
+
52
+ #full_list.insearch li { display: none; }
53
+ #full_list.insearch li.found { display: list-item; padding-left: 10px; }
54
+ #full_list.insearch li a.toggle { display: none; }
55
+ #full_list.insearch li small.search_info { display: block; }
@@ -0,0 +1,322 @@
1
+ body {
2
+ padding: 0 20px;
3
+ font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
4
+ font-size: 13px;
5
+ }
6
+ body.frames { padding: 0 5px; }
7
+ h1 { font-size: 25px; margin: 1em 0 0.5em; padding-top: 4px; border-top: 1px dotted #d5d5d5; }
8
+ h1.noborder { border-top: 0px; margin-top: 0; padding-top: 4px; }
9
+ h1.title { margin-bottom: 10px; }
10
+ h1.alphaindex { margin-top: 0; font-size: 22px; }
11
+ h2 {
12
+ padding: 0;
13
+ padding-bottom: 3px;
14
+ border-bottom: 1px #aaa solid;
15
+ font-size: 1.4em;
16
+ margin: 1.8em 0 0.5em;
17
+ }
18
+ h2 small { font-weight: normal; font-size: 0.7em; display: block; float: right; }
19
+ .clear { clear: both; }
20
+ .inline { display: inline; }
21
+ .inline p:first-child { display: inline; }
22
+ .docstring h1, .docstring h2, .docstring h3, .docstring h4 { padding: 0; border: 0; border-bottom: 1px dotted #bbb; }
23
+ .docstring h1 { font-size: 1.2em; }
24
+ .docstring h2 { font-size: 1.1em; }
25
+ .docstring h3, .docstring h4 { font-size: 1em; border-bottom: 0; padding-top: 10px; }
26
+ .summary_desc .object_link, .docstring .object_link { font-family: monospace; }
27
+ .rdoc-term { padding-right: 25px; font-weight: bold; }
28
+ .rdoc-list p { margin: 0; padding: 0; margin-bottom: 4px; }
29
+
30
+ /* style for <ul> */
31
+ #filecontents li > p, .docstring li > p { margin: 0px; }
32
+ #filecontents ul, .docstring ul { padding-left: 20px; }
33
+ /* style for <dl> */
34
+ #filecontents dl, .docstring dl { border: 1px solid #ccc; }
35
+ #filecontents dt, .docstring dt { background: #ddd; font-weight: bold; padding: 3px 5px; }
36
+ #filecontents dd, .docstring dd { padding: 5px 0px; margin-left: 18px; }
37
+ #filecontents dd > p, .docstring dd > p { margin: 0px; }
38
+
39
+ .note {
40
+ color: #222;
41
+ -moz-border-radius: 3px; -webkit-border-radius: 3px;
42
+ background: #e3e4e3; border: 1px solid #d5d5d5; padding: 7px 10px;
43
+ display: block;
44
+ }
45
+ .note.todo { background: #ffffc5; border-color: #ececaa; }
46
+ .note.returns_void { background: #efefef; }
47
+ .note.deprecated { background: #ffe5e5; border-color: #e9dada; }
48
+ .note.private { background: #ffffc5; border-color: #ececaa; }
49
+ .note.title { text-transform: lowercase; padding: 1px 5px; font-size: 0.9em; font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; display: inline; }
50
+ .summary_signature + .note.title { margin-left: 7px; }
51
+ h1 .note.title { font-size: 0.5em; font-weight: normal; padding: 3px 5px; position: relative; top: -3px; text-transform: capitalize; }
52
+ .note.title.constructor { color: #fff; background: #6a98d6; border-color: #6689d6; }
53
+ .note.title.writeonly { color: #fff; background: #45a638; border-color: #2da31d; }
54
+ .note.title.readonly { color: #fff; background: #6a98d6; border-color: #6689d6; }
55
+ .note.title.private { background: #d5d5d5; border-color: #c5c5c5; }
56
+ .discussion .note { margin-top: 6px; }
57
+ .discussion .note:first-child { margin-top: 0; }
58
+
59
+ h3.inherited {
60
+ font-style: italic;
61
+ font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
62
+ font-weight: normal;
63
+ padding: 0;
64
+ margin: 0;
65
+ margin-top: 12px;
66
+ margin-bottom: 3px;
67
+ font-size: 13px;
68
+ }
69
+ p.inherited {
70
+ padding: 0;
71
+ margin: 0;
72
+ margin-left: 25px;
73
+ }
74
+
75
+ #filecontents dl.box, dl.box {
76
+ border: 0;
77
+ width: 520px;
78
+ font-size: 1em;
79
+ }
80
+ #filecontents dl.box dt, dl.box dt {
81
+ float: left;
82
+ display: block;
83
+ width: 100px;
84
+ margin: 0;
85
+ text-align: right;
86
+ font-weight: bold;
87
+ background: transparent;
88
+ border: 1px solid #aaa;
89
+ border-width: 1px 0px 0px 1px;
90
+ padding: 6px 0;
91
+ padding-right: 10px;
92
+ }
93
+ #filecontents dl.box dd, dl.box dd {
94
+ float: left;
95
+ display: block;
96
+ width: 380px;
97
+ margin: 0;
98
+ padding: 6px 0;
99
+ padding-right: 20px;
100
+ border: 1px solid #aaa;
101
+ border-width: 1px 1px 0 0;
102
+ }
103
+ #filecontents dl.box .last, dl.box .last {
104
+ border-bottom: 1px solid #aaa;
105
+ }
106
+ #filecontents dl.box .r1, dl.box .r1 { background: #eee; }
107
+
108
+ ul.toplevel { list-style: none; padding-left: 0; font-size: 1.1em; }
109
+ #files { padding-left: 15px; font-size: 1.1em; }
110
+
111
+ #files { padding: 0; }
112
+ #files li { list-style: none; display: inline; padding: 7px 12px; line-height: 35px; }
113
+
114
+ dl.constants { margin-left: 40px; }
115
+ dl.constants dt { font-weight: bold; font-size: 1.1em; margin-bottom: 5px; }
116
+ dl.constants dd { width: 75%; white-space: pre; font-family: monospace; margin-bottom: 18px; }
117
+
118
+ .summary_desc { margin-left: 32px; display: block; font-family: sans-serif; }
119
+ .summary_desc tt { font-size: 0.9em; }
120
+ dl.constants .note { padding: 2px 6px; padding-right: 12px; margin-top: 6px; }
121
+ dl.constants .docstring { margin-left: 32px; font-size: 0.9em; font-weight: normal; }
122
+ dl.constants .tags { padding-left: 32px; font-size: 0.9em; line-height: 0.8em; }
123
+ dl.constants .discussion *:first-child { margin-top: 0; }
124
+ dl.constants .discussion *:last-child { margin-bottom: 0; }
125
+
126
+ .method_details { border-top: 1px dotted #aaa; margin-top: 15px; padding-top: 0; }
127
+ .method_details.first { border: 0; }
128
+ p.signature {
129
+ font-size: 1.1em; font-weight: normal; font-family: Monaco, Consolas, Courier, monospace;
130
+ padding: 6px 10px; margin-top: 18px;
131
+ background: #e5e8ff; border: 1px solid #d8d8e5; -moz-border-radius: 3px; -webkit-border-radius: 3px;
132
+ }
133
+ p.signature tt { font-family: Monaco, Consolas, Courier, monospace; }
134
+ p.signature .overload { display: block; }
135
+ p.signature .extras { font-weight: normal; font-family: sans-serif; color: #444; font-size: 1em; }
136
+ p.signature .aliases { display: block; font-weight: normal; font-size: 0.9em; font-family: sans-serif; margin-top: 0px; color: #555; }
137
+ p.signature .aliases .names { font-family: Monaco, Consolas, Courier, monospace; font-weight: bold; color: #000; font-size: 1.2em; }
138
+
139
+ .tags h3 { font-size: 1em; margin-bottom: 0; }
140
+ .tags ul { margin-top: 5px; padding-left: 30px; list-style: square; }
141
+ .tags ul li { margin-bottom: 3px; }
142
+ .tags ul .name { font-family: monospace; font-weight: bold; }
143
+ .tags ul .note { padding: 3px 6px; }
144
+ .tags { margin-bottom: 12px; }
145
+
146
+ .tags .examples h3 { margin-bottom: 10px; }
147
+ .tags .examples h4 { padding: 0; margin: 0; margin-left: 15px; font-weight: bold; font-size: 0.9em; }
148
+
149
+ .tags .overload .overload_item { list-style: none; margin-bottom: 25px; }
150
+ .tags .overload .overload_item .signature {
151
+ padding: 2px 8px;
152
+ background: #e5e8ff; border: 1px solid #d8d8e5; -moz-border-radius: 3px; -webkit-border-radius: 3px;
153
+ }
154
+ .tags .overload .signature { margin-left: -15px; font-family: monospace; display: block; font-size: 1.1em; }
155
+ .tags .overload .docstring { margin-top: 15px; }
156
+
157
+ .defines { display: none; }
158
+
159
+ #method_missing_details .notice.this { position: relative; top: -8px; color: #888; padding: 0; margin: 0; }
160
+
161
+ .showSource { font-size: 0.9em; }
162
+ .showSource a:link, .showSource a:visited { text-decoration: none; color: #666; }
163
+
164
+ #content a:link, #content a:visited { text-decoration: none; color: #05a; }
165
+ #content a:hover { background: #ffffa5; }
166
+ div.docstring, p.docstring { margin-right: 6em; }
167
+
168
+ ul.summary {
169
+ list-style: none;
170
+ font-family: monospace;
171
+ font-size: 1em;
172
+ line-height: 1.5em;
173
+ }
174
+ ul.summary a:link, ul.summary a:visited {
175
+ text-decoration: none; font-size: 1.1em;
176
+ }
177
+ ul.summary li { margin-bottom: 5px; }
178
+ .summary .summary_signature {
179
+ padding: 1px 10px;
180
+ background: #eaeaff; border: 1px solid #dfdfe5;
181
+ -moz-border-radius: 3px; -webkit-border-radius: 3px;
182
+ }
183
+ .summary_signature:hover { background: #eeeeff; cursor: pointer; }
184
+ ul.summary.compact li { display: inline-block; margin: 0px 5px 0px 0px; line-height: 2.6em;}
185
+ ul.summary.compact .summary_signature { padding: 5px 7px; padding-right: 4px; }
186
+ #content .summary_signature:hover a:link,
187
+ #content .summary_signature:hover a:visited {
188
+ background: transparent;
189
+ color: #48f;
190
+ }
191
+
192
+ p.inherited a { font-family: monospace; font-size: 0.9em; }
193
+ p.inherited { word-spacing: 5px; font-size: 1.2em; }
194
+
195
+ p.children { font-size: 1.2em; }
196
+ p.children a { font-size: 0.9em; }
197
+ p.children strong { font-size: 0.8em; }
198
+ p.children strong.modules { padding-left: 5px; }
199
+
200
+ ul.fullTree { display: none; padding-left: 0; list-style: none; margin-left: 0; margin-bottom: 10px; }
201
+ ul.fullTree ul { margin-left: 0; padding-left: 0; list-style: none; }
202
+ ul.fullTree li { text-align: center; padding-top: 18px; padding-bottom: 12px; background: url(data:image/gif;base64,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) no-repeat top center; }
203
+ ul.fullTree li:first-child { padding-top: 0; background: transparent; }
204
+ ul.fullTree li:last-child { padding-bottom: 0; }
205
+ .showAll ul.fullTree { display: block; }
206
+ .showAll .inheritName { display: none; }
207
+
208
+ #search { position: absolute; right: 14px; top: 0px; }
209
+ #search a:link, #search a:visited {
210
+ display: block; float: left; margin-right: 4px;
211
+ padding: 8px 10px; text-decoration: none; color: #05a;
212
+ border: 1px solid #d8d8e5;
213
+ -moz-border-radius-bottomleft: 3px; -moz-border-radius-bottomright: 3px;
214
+ -webkit-border-bottom-left-radius: 3px; -webkit-border-bottom-right-radius: 3px;
215
+ background: #eaf0ff;
216
+ -webkit-box-shadow: -1px 1px 3px #ddd;
217
+ }
218
+ #search a:hover { background: #f5faff; color: #06b; }
219
+ #search a.active {
220
+ background: #568; padding-bottom: 20px; color: #fff; border: 1px solid #457;
221
+ -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px;
222
+ -webkit-border-top-left-radius: 5px; -webkit-border-top-right-radius: 5px;
223
+ }
224
+ #search a.inactive { color: #999; }
225
+ .frames #search { display: none; }
226
+ .inheritanceTree, .toggleDefines { float: right; }
227
+
228
+ #menu { font-size: 1.3em; color: #bbb; top: -5px; position: relative; }
229
+ #menu .title, #menu a { font-size: 0.7em; }
230
+ #menu .title a { font-size: 1em; }
231
+ #menu .title { color: #555; }
232
+ #menu a:link, #menu a:visited { color: #333; text-decoration: none; border-bottom: 1px dotted #bbd; }
233
+ #menu a:hover { color: #05a; }
234
+ #menu .noframes { display: none; }
235
+ .frames #menu .noframes { display: inline; float: right; }
236
+
237
+ #footer { margin-top: 15px; border-top: 1px solid #ccc; text-align: center; padding: 7px 0; color: #999; }
238
+ #footer a:link, #footer a:visited { color: #444; text-decoration: none; border-bottom: 1px dotted #bbd; }
239
+ #footer a:hover { color: #05a; }
240
+
241
+ #listing ul.alpha { font-size: 1.1em; }
242
+ #listing ul.alpha { margin: 0; padding: 0; padding-bottom: 10px; list-style: none; }
243
+ #listing ul.alpha li.letter { font-size: 1.4em; padding-bottom: 10px; }
244
+ #listing ul.alpha ul { margin: 0; padding-left: 15px; }
245
+ #listing ul small { color: #666; font-size: 0.7em; }
246
+
247
+ li.r1 { background: #f0f0f0; }
248
+ li.r2 { background: #fafafa; }
249
+
250
+ #search_frame {
251
+ z-index: 9999;
252
+ background: #fff;
253
+ display: none;
254
+ position: absolute;
255
+ top: 36px;
256
+ right: 18px;
257
+ width: 500px;
258
+ height: 80%;
259
+ overflow-y: scroll;
260
+ border: 1px solid #999;
261
+ border-collapse: collapse;
262
+ -webkit-box-shadow: -7px 5px 25px #aaa;
263
+ -moz-box-shadow: -7px 5px 25px #aaa;
264
+ -moz-border-radius: 2px;
265
+ -webkit-border-radius: 2px;
266
+ }
267
+
268
+ #content ul.summary li.deprecated .summary_signature a:link,
269
+ #content ul.summary li.deprecated .summary_signature a:visited { text-decoration: line-through; font-style: italic; }
270
+
271
+ #toc {
272
+ padding: 20px; padding-right: 30px; border: 1px solid #ddd; float: right; background: #fff; margin-left: 20px; margin-bottom: 20px;
273
+ max-width: 300px;
274
+ -webkit-box-shadow: -2px 2px 6px #bbb;
275
+ -moz-box-shadow: -2px 2px 6px #bbb;
276
+ z-index: 5000;
277
+ position: relative;
278
+ }
279
+ #toc.nofloat { float: none; max-width: none; border: none; padding: 0; margin: 20px 0; -webkit-box-shadow: none; -moz-box-shadow: none; }
280
+ #toc.nofloat.hidden { padding: 0; background: 0; margin-bottom: 5px; }
281
+ #toc .title { margin: 0; }
282
+ #toc ol { padding-left: 1.8em; }
283
+ #toc li { font-size: 1.1em; line-height: 1.7em; }
284
+ #toc > ol > li { font-size: 1.1em; font-weight: bold; }
285
+ #toc ol > ol { font-size: 0.9em; }
286
+ #toc ol ol > ol { padding-left: 2.3em; }
287
+ #toc ol + li { margin-top: 0.3em; }
288
+ #toc.hidden { padding: 10px; background: #f6f6f6; -webkit-box-shadow: none; -moz-box-shadow: none; }
289
+ #filecontents h1 + #toc.nofloat { margin-top: 0; }
290
+
291
+ /* syntax highlighting */
292
+ .source_code { display: none; padding: 3px 8px; border-left: 8px solid #ddd; margin-top: 5px; }
293
+ #filecontents pre.code, .docstring pre.code, .source_code pre { font-family: monospace; }
294
+ #filecontents pre.code, .docstring pre.code { display: block; }
295
+ .source_code .lines { padding-right: 12px; color: #555; text-align: right; }
296
+ #filecontents pre.code, .docstring pre.code,
297
+ .tags pre.example { padding: 5px 12px; margin-top: 4px; border: 1px solid #eef; background: #f5f5ff; }
298
+ pre.code { color: #000; }
299
+ pre.code .info.file { color: #555; }
300
+ pre.code .val { color: #036A07; }
301
+ pre.code .tstring_content,
302
+ pre.code .heredoc_beg, pre.code .heredoc_end,
303
+ pre.code .qwords_beg, pre.code .qwords_end,
304
+ pre.code .tstring, pre.code .dstring { color: #036A07; }
305
+ pre.code .fid, pre.code .rubyid_new, pre.code .rubyid_to_s,
306
+ pre.code .rubyid_to_sym, pre.code .rubyid_to_f,
307
+ pre.code .dot + pre.code .id,
308
+ pre.code .rubyid_to_i pre.code .rubyid_each { color: #0085FF; }
309
+ pre.code .comment { color: #0066FF; }
310
+ pre.code .const, pre.code .constant { color: #585CF6; }
311
+ pre.code .symbol { color: #C5060B; }
312
+ pre.code .kw,
313
+ pre.code .label,
314
+ pre.code .rubyid_require,
315
+ pre.code .rubyid_extend,
316
+ pre.code .rubyid_include { color: #0000FF; }
317
+ pre.code .ivar { color: #318495; }
318
+ pre.code .gvar,
319
+ pre.code .rubyid_backref,
320
+ pre.code .rubyid_nth_ref { color: #6D79DE; }
321
+ pre.code .regexp, .dregexp { color: #036A07; }
322
+ pre.code a { border-bottom: 1px dotted #bbf; }