surpass 0.0.4 → 0.0.6
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.
- data/History.txt +4 -0
- data/README.txt +3 -20
- data/Rakefile +2 -13
- data/bin/surpass +8 -0
- data/examples/big-16mb.rb +25 -0
- data/examples/big-random-strings.rb +28 -0
- data/examples/blanks.rb +34 -0
- data/examples/blanks.xls +0 -0
- data/examples/col_width.rb +16 -0
- data/examples/col_width.xls +0 -0
- data/examples/dates.rb +31 -0
- data/examples/dates.xls +0 -0
- data/examples/format.rb +23 -0
- data/examples/format.xls +0 -0
- data/examples/hello-world.rb +9 -0
- data/examples/hello-world.xls +0 -0
- data/examples/image.rb +10 -0
- data/examples/image.xls +0 -0
- data/examples/merged.rb +36 -0
- data/examples/merged.xls +0 -0
- data/examples/merged0.rb +27 -0
- data/examples/merged0.xls +0 -0
- data/examples/merged1.rb +99 -0
- data/examples/merged1.xls +0 -0
- data/examples/num_formats.rb +55 -0
- data/examples/num_formats.xls +0 -0
- data/examples/numbers.rb +24 -0
- data/examples/numbers.xls +0 -0
- data/examples/outline.rb +110 -0
- data/examples/outline.xls +0 -0
- data/examples/panes.rb +48 -0
- data/examples/panes.xls +0 -0
- data/examples/protection.rb +132 -0
- data/examples/protection.xls +0 -0
- data/examples/python.bmp +0 -0
- data/examples/row_styles.rb +16 -0
- data/examples/row_styles.xls +0 -0
- data/examples/row_styles_empty.rb +15 -0
- data/examples/row_styles_empty.xls +0 -0
- data/examples/set_cell_and_range_style.rb +12 -0
- data/examples/set_cell_and_range_style.xls +0 -0
- data/examples/wrapped-text.rb +13 -0
- data/examples/wrapped-text.xls +0 -0
- data/examples/write_arrays.rb +22 -0
- data/examples/write_arrays.xls +0 -0
- data/examples/ws_props.rb +80 -0
- data/lib/surpass/ExcelFormula.g +366 -0
- data/lib/surpass/ExcelFormula.tokens +30 -0
- data/lib/surpass/ExcelFormulaLexer.rb +922 -0
- data/lib/surpass/ExcelFormulaParser.rb +602 -0
- data/lib/{biff_record.rb → surpass/biff_record.rb} +0 -0
- data/lib/{bitmap.rb → surpass/bitmap.rb} +0 -0
- data/lib/{cell.rb → surpass/cell.rb} +2 -34
- data/lib/{chart.rb → surpass/chart.rb} +0 -0
- data/lib/{column.rb → surpass/column.rb} +0 -0
- data/lib/{document.rb → surpass/document.rb} +0 -0
- data/lib/surpass/excel_formula.rb +23 -0
- data/lib/{excel_magic.rb → surpass/excel_magic.rb} +0 -0
- data/lib/{formatting.rb → surpass/formatting.rb} +93 -53
- data/lib/{row.rb → surpass/row.rb} +0 -0
- data/lib/{style.rb → surpass/style.rb} +2 -1
- data/lib/surpass/tokens.txt +2 -0
- data/lib/{utilities.rb → surpass/utilities.rb} +0 -0
- data/lib/{workbook.rb → surpass/workbook.rb} +0 -0
- data/lib/{worksheet.rb → surpass/worksheet.rb} +15 -6
- data/lib/surpass.rb +1 -1
- data/spec/biff_record_spec.rb +268 -0
- data/spec/cell_spec.rb +56 -0
- data/spec/data/random-strings.txt +10000 -0
- data/spec/document_spec.rb +168 -0
- data/spec/excel_formula_spec.rb +27 -0
- data/spec/formatting_spec.rb +53 -0
- data/spec/output/cells-rk.xls +0 -0
- data/spec/output/cells.xls +0 -0
- data/spec/output/mini.xls +0 -0
- data/spec/reference/P-0508-0000507647-3280-5298.xls +0 -0
- data/spec/reference/all-cell-styles.bin +0 -0
- data/spec/reference/all-number-formats.bin +0 -0
- data/spec/reference/all-styles.bin +0 -0
- data/spec/reference/mini.xls +0 -0
- data/spec/row_spec.rb +19 -0
- data/spec/spec_helper.rb +10 -0
- data/spec/style_spec.rb +89 -0
- data/spec/surpass_spec.rb +7 -0
- data/spec/utilities_spec.rb +57 -0
- data/spec/workbook_spec.rb +48 -0
- data/spec/worksheet_spec.rb +0 -0
- data/stats/cloc.txt +8 -0
- data/stats/rcov.txt +0 -0
- data/stats/specdoc.txt +158 -0
- data/surpass.gemspec +40 -0
- data/tasks/setup.rb +1 -1
- data/tasks/zentest.rake +36 -0
- data/webby/README.txt +6 -0
- data/webby/Sitefile +43 -0
- data/webby/content/css/pygments.txt +6 -0
- data/webby/content/css/style.css +279 -0
- data/webby/content/examples/autoformat.png +0 -0
- data/webby/content/examples/autoformat.rb +32 -0
- data/webby/content/examples/autoformat.xls +0 -0
- data/webby/content/examples/borders.png +0 -0
- data/webby/content/examples/borders.rb +15 -0
- data/webby/content/examples/borders.xls +0 -0
- data/webby/content/examples/colours.png +0 -0
- data/webby/content/examples/colours.rb +23 -0
- data/webby/content/examples/colours.xls +0 -0
- data/webby/content/examples/data.png +0 -0
- data/webby/content/examples/data.rb +11 -0
- data/webby/content/examples/data.xls +0 -0
- data/webby/content/examples/formatting.png +0 -0
- data/webby/content/examples/formatting.rb +78 -0
- data/webby/content/examples/formatting.xls +0 -0
- data/webby/content/examples/hello-world.png +0 -0
- data/webby/content/examples/hello-world.py +8 -0
- data/webby/content/examples/hello-world.rb +9 -0
- data/webby/content/examples/hello-world.xls +0 -0
- data/webby/content/examples/number-format-string.png +0 -0
- data/webby/content/examples/number-format-string.rb +14 -0
- data/webby/content/examples/number-format-string.xls +0 -0
- data/webby/content/examples/patterns.png +0 -0
- data/webby/content/examples/patterns.rb +26 -0
- data/webby/content/examples/patterns.xls +0 -0
- data/webby/content/examples/show-greens.sh +1 -0
- data/webby/content/examples/surpass-info.sh +1 -0
- data/webby/content/img/Thumbs.db +0 -0
- data/webby/content/img/bg_menu.gif +0 -0
- data/webby/content/img/bg_t.gif +0 -0
- data/webby/content/img/bullet.gif +0 -0
- data/webby/content/img/logo.png +0 -0
- data/webby/content/img/logo_.jpg +0 -0
- data/webby/content/img/top_bg.gif +0 -0
- data/webby/content/img/top_bg_.gif +0 -0
- data/webby/content/index.txt +16 -0
- data/webby/content/installation/index.txt +24 -0
- data/webby/content/source/ExcelFormulaLexer.txt +7 -0
- data/webby/content/source/ExcelFormulaParser.txt +7 -0
- data/webby/content/source/biff_record.txt +7 -0
- data/webby/content/source/bitmap.txt +7 -0
- data/webby/content/source/cell.txt +7 -0
- data/webby/content/source/chart.txt +7 -0
- data/webby/content/source/column.txt +7 -0
- data/webby/content/source/document.txt +7 -0
- data/webby/content/source/excel_formula.txt +7 -0
- data/webby/content/source/excel_magic.txt +7 -0
- data/webby/content/source/formatting.txt +7 -0
- data/webby/content/source/row.txt +7 -0
- data/webby/content/source/style.txt +7 -0
- data/webby/content/source/utilities.txt +7 -0
- data/webby/content/source/workbook.txt +7 -0
- data/webby/content/source/worksheet.txt +7 -0
- data/webby/content/surpass-manual.erb +198 -0
- data/webby/layouts/book.txt +29 -0
- data/webby/layouts/default.txt +27 -0
- data/webby/layouts/two_column.txt +25 -0
- data/webby/layouts/web.txt +66 -0
- data/webby/output/.cairn +0 -0
- data/webby/output/css/blueprint/ie.css +26 -0
- data/webby/output/css/blueprint/plugins/buttons/icons/cross.png +0 -0
- data/webby/output/css/blueprint/plugins/buttons/icons/key.png +0 -0
- data/webby/output/css/blueprint/plugins/buttons/icons/tick.png +0 -0
- data/webby/output/css/blueprint/plugins/buttons/readme.txt +32 -0
- data/webby/output/css/blueprint/plugins/buttons/screen.css +97 -0
- data/webby/output/css/blueprint/plugins/fancy-type/readme.txt +14 -0
- data/webby/output/css/blueprint/plugins/fancy-type/screen.css +71 -0
- data/webby/output/css/blueprint/plugins/link-icons/icons/doc.png +0 -0
- data/webby/output/css/blueprint/plugins/link-icons/icons/email.png +0 -0
- data/webby/output/css/blueprint/plugins/link-icons/icons/external.png +0 -0
- data/webby/output/css/blueprint/plugins/link-icons/icons/feed.png +0 -0
- data/webby/output/css/blueprint/plugins/link-icons/icons/im.png +0 -0
- data/webby/output/css/blueprint/plugins/link-icons/icons/pdf.png +0 -0
- data/webby/output/css/blueprint/plugins/link-icons/icons/visited.png +0 -0
- data/webby/output/css/blueprint/plugins/link-icons/icons/xls.png +0 -0
- data/webby/output/css/blueprint/plugins/link-icons/readme.txt +18 -0
- data/webby/output/css/blueprint/plugins/link-icons/screen.css +40 -0
- data/webby/output/css/blueprint/plugins/rtl/readme.txt +10 -0
- data/webby/output/css/blueprint/plugins/rtl/screen.css +109 -0
- data/webby/output/css/blueprint/print.css +30 -0
- data/webby/output/css/blueprint/screen.css +251 -0
- data/webby/output/css/blueprint/src/forms.css +49 -0
- data/webby/output/css/blueprint/src/grid.css +212 -0
- data/webby/output/css/blueprint/src/grid.png +0 -0
- data/webby/output/css/blueprint/src/ie.css +59 -0
- data/webby/output/css/blueprint/src/print.css +85 -0
- data/webby/output/css/blueprint/src/reset.css +38 -0
- data/webby/output/css/blueprint/src/typography.css +105 -0
- data/webby/output/css/pygments.css +59 -0
- data/webby/output/css/site.css +62 -0
- data/webby/output/css/style.css +279 -0
- data/webby/output/examples/autoformat.png +0 -0
- data/webby/output/examples/autoformat.rb +32 -0
- data/webby/output/examples/autoformat.xls +0 -0
- data/webby/output/examples/borders.png +0 -0
- data/webby/output/examples/borders.rb +15 -0
- data/webby/output/examples/borders.xls +0 -0
- data/webby/output/examples/colours.png +0 -0
- data/webby/output/examples/colours.rb +23 -0
- data/webby/output/examples/colours.xls +0 -0
- data/webby/output/examples/data.png +0 -0
- data/webby/output/examples/data.rb +11 -0
- data/webby/output/examples/data.xls +0 -0
- data/webby/output/examples/formatting.png +0 -0
- data/webby/output/examples/formatting.rb +78 -0
- data/webby/output/examples/formatting.xls +0 -0
- data/webby/output/examples/hello-world.png +0 -0
- data/webby/output/examples/hello-world.py +8 -0
- data/webby/output/examples/hello-world.rb +9 -0
- data/webby/output/examples/hello-world.xls +0 -0
- data/webby/output/examples/number-format-string.png +0 -0
- data/webby/output/examples/number-format-string.rb +14 -0
- data/webby/output/examples/number-format-string.xls +0 -0
- data/webby/output/examples/patterns.png +0 -0
- data/webby/output/examples/patterns.rb +26 -0
- data/webby/output/examples/patterns.xls +0 -0
- data/webby/output/examples/show-greens.sh +1 -0
- data/webby/output/examples/surpass-info.sh +1 -0
- data/webby/output/img/Thumbs.db +0 -0
- data/webby/output/img/bg_menu.gif +0 -0
- data/webby/output/img/bg_t.gif +0 -0
- data/webby/output/img/bullet.gif +0 -0
- data/webby/output/img/logo.png +0 -0
- data/webby/output/img/logo_.jpg +0 -0
- data/webby/output/img/top_bg.gif +0 -0
- data/webby/output/img/top_bg_.gif +0 -0
- data/webby/output/index.html +138 -0
- data/webby/output/installation/index.html +64 -0
- data/webby/output/installation/installation.html +1 -0
- data/webby/output/installation.html +1 -0
- data/webby/output/source/ExcelFormulaLexer.html +981 -0
- data/webby/output/source/ExcelFormulaParser.html +661 -0
- data/webby/output/source/biff_record.html +462 -0
- data/webby/output/source/bitmap.html +277 -0
- data/webby/output/source/cell.html +241 -0
- data/webby/output/source/chart.html +64 -0
- data/webby/output/source/column.html +99 -0
- data/webby/output/source/document.html +465 -0
- data/webby/output/source/excel_formula.html +82 -0
- data/webby/output/source/excel_magic.html +1072 -0
- data/webby/output/source/formatting.html +664 -0
- data/webby/output/source/row.html +169 -0
- data/webby/output/source/style.html +158 -0
- data/webby/output/source/surpass.html +110 -0
- data/webby/output/source/utilities.html +145 -0
- data/webby/output/source/workbook.html +265 -0
- data/webby/output/source/worksheet.html +331 -0
- data/webby/output/surpass-manual-0-0-5.pdf +0 -0
- data/webby/output/surpass-manual.aux +50 -0
- data/webby/output/surpass-manual.log +366 -0
- data/webby/output/surpass-manual.out +20 -0
- data/webby/output/surpass-manual.tex +582 -0
- data/webby/output/surpass-manual.toc +20 -0
- data/webby/rsync-exclude +7 -0
- data/webby/tasks/latex.rake +14 -0
- data/webby/tasks/screenshots.rb +58 -0
- data/webby/templates/article.erb +15 -0
- data/webby/templates/book.erb +16 -0
- data/webby/templates/page.erb +9 -0
- metadata +302 -24
- data/bin/surpass-info +0 -20
- data/lib/excel_formula.rb +0 -6
@@ -0,0 +1,169 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
2
|
+
|
3
|
+
<!-- ========================================================== -->
|
4
|
+
<!-- Created by Devit Schizoper -->
|
5
|
+
<!-- Created HomePages http://LoadFoo.starzonewebhost.com -->
|
6
|
+
<!-- Created Day 01.12.2006 -->
|
7
|
+
<!-- ========================================================== -->
|
8
|
+
|
9
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
10
|
+
<head>
|
11
|
+
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
|
12
|
+
<meta name="author" content="LoadFoO" />
|
13
|
+
<meta name="description" content="Site description" />
|
14
|
+
<meta name="keywords" content="key, words" />
|
15
|
+
<title>Surpass :: row.rb</title>
|
16
|
+
<link rel="stylesheet" type="text/css" href="/css/style.css" media="screen" />
|
17
|
+
<link rel="stylesheet" href="/css/pygments.css" type="text/css" />
|
18
|
+
<link rel="shortcut icon" href="favicon.ico" />
|
19
|
+
</head>
|
20
|
+
|
21
|
+
<body>
|
22
|
+
<div id="wrap">
|
23
|
+
<div id="top">
|
24
|
+
<h2><a href="/" title="Back to main page">Surpass</a></h2>
|
25
|
+
<div id="menu">
|
26
|
+
<ul>
|
27
|
+
<li><a href="/installation">Installation</a></li>
|
28
|
+
<li><a href="/examples">Examples</a></li>
|
29
|
+
<li><a href="/source">Source</a></li>
|
30
|
+
</ul>
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
<div id="content">
|
34
|
+
<div id="left">
|
35
|
+
<h2>row.rb</h2>
|
36
|
+
<div class="highlight"><pre><span class="k">class</span> <span class="nc">Row</span>
|
37
|
+
<span class="kp">attr_accessor</span> <span class="ss">:index</span>
|
38
|
+
<span class="kp">attr_accessor</span> <span class="ss">:parent</span>
|
39
|
+
<span class="kp">attr_accessor</span> <span class="ss">:parent_wb</span>
|
40
|
+
<span class="kp">attr_accessor</span> <span class="ss">:cells</span>
|
41
|
+
<span class="kp">attr_accessor</span> <span class="ss">:min_col_index</span>
|
42
|
+
<span class="kp">attr_accessor</span> <span class="ss">:max_col_index</span>
|
43
|
+
<span class="kp">attr_accessor</span> <span class="ss">:total_str</span>
|
44
|
+
<span class="kp">attr_accessor</span> <span class="ss">:xf_index</span>
|
45
|
+
<span class="kp">attr_accessor</span> <span class="ss">:has_default_format</span>
|
46
|
+
<span class="kp">attr_accessor</span> <span class="ss">:height_in_pixels</span>
|
47
|
+
|
48
|
+
<span class="kp">attr_accessor</span> <span class="ss">:height</span>
|
49
|
+
<span class="kp">attr_accessor</span> <span class="ss">:has_default_height</span>
|
50
|
+
<span class="kp">attr_accessor</span> <span class="ss">:height_mismatch</span>
|
51
|
+
<span class="kp">attr_accessor</span> <span class="ss">:level</span>
|
52
|
+
<span class="kp">attr_accessor</span> <span class="ss">:collapse</span>
|
53
|
+
<span class="kp">attr_accessor</span> <span class="ss">:hidden</span>
|
54
|
+
<span class="kp">attr_accessor</span> <span class="ss">:space_above</span>
|
55
|
+
<span class="kp">attr_accessor</span> <span class="ss">:space_below</span>
|
56
|
+
|
57
|
+
<span class="k">def</span> <span class="nf">initialize</span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">parent_sheet</span><span class="p">)</span>
|
58
|
+
<span class="n">is_int</span> <span class="o">=</span> <span class="n">index</span><span class="o">.</span><span class="n">is_a?</span><span class="p">(</span><span class="nb">Integer</span><span class="p">)</span>
|
59
|
+
<span class="n">in_range</span> <span class="o">=</span> <span class="p">(</span><span class="n">index</span> <span class="o">>=</span> <span class="mi">0</span><span class="p">)</span> <span class="o">&&</span> <span class="p">(</span><span class="n">index</span> <span class="o"><=</span> <span class="mi">65535</span><span class="p">)</span>
|
60
|
+
<span class="k">raise</span> <span class="s2">"row index </span><span class="si">#{</span><span class="n">index</span><span class="si">}</span><span class="s2"> is not valid"</span> <span class="k">unless</span> <span class="n">is_int</span> <span class="o">&&</span> <span class="n">in_range</span>
|
61
|
+
|
62
|
+
<span class="vi">@index</span> <span class="o">=</span> <span class="n">index</span>
|
63
|
+
<span class="vi">@parent</span> <span class="o">=</span> <span class="n">parent_sheet</span>
|
64
|
+
<span class="vi">@parent_wb</span> <span class="o">=</span> <span class="n">parent_sheet</span><span class="o">.</span><span class="n">parent</span><span class="p">()</span>
|
65
|
+
<span class="vi">@cells</span> <span class="o">=</span> <span class="o">[]</span>
|
66
|
+
<span class="vi">@min_col_index</span> <span class="o">=</span> <span class="mi">0</span>
|
67
|
+
<span class="vi">@max_col_index</span> <span class="o">=</span> <span class="mi">0</span>
|
68
|
+
<span class="vi">@total_str</span> <span class="o">=</span> <span class="mi">0</span>
|
69
|
+
<span class="vi">@xf_index</span> <span class="o">=</span> <span class="mh">0x0F</span>
|
70
|
+
<span class="vi">@has_default_format</span> <span class="o">=</span> <span class="mi">0</span>
|
71
|
+
<span class="vi">@height_in_pixels</span> <span class="o">=</span> <span class="mh">0x11</span>
|
72
|
+
|
73
|
+
<span class="vi">@height</span> <span class="o">=</span> <span class="mh">0x00FF</span>
|
74
|
+
<span class="vi">@has_default_height</span> <span class="o">=</span> <span class="mh">0x00</span>
|
75
|
+
<span class="vi">@height_mismatch</span> <span class="o">=</span> <span class="mi">0</span>
|
76
|
+
<span class="vi">@level</span> <span class="o">=</span> <span class="mi">0</span>
|
77
|
+
<span class="vi">@collapse</span> <span class="o">=</span> <span class="mi">0</span>
|
78
|
+
<span class="vi">@hidden</span> <span class="o">=</span> <span class="mi">0</span>
|
79
|
+
<span class="vi">@space_above</span> <span class="o">=</span> <span class="mi">0</span>
|
80
|
+
<span class="vi">@space_below</span> <span class="o">=</span> <span class="mi">0</span>
|
81
|
+
<span class="k">end</span>
|
82
|
+
|
83
|
+
<span class="k">def</span> <span class="nf">adjust_height</span><span class="p">(</span><span class="n">style</span><span class="p">)</span>
|
84
|
+
<span class="n">twips</span> <span class="o">=</span> <span class="n">style</span><span class="o">.</span><span class="n">font</span><span class="o">.</span><span class="n">height</span>
|
85
|
+
<span class="n">points</span> <span class="o">=</span> <span class="n">twips</span><span class="o">/</span><span class="mi">20</span><span class="o">.</span><span class="mi">0</span>
|
86
|
+
<span class="c1"># Cell height in pixels can be calcuted by following approx. formula:</span>
|
87
|
+
<span class="c1"># cell height in pixels = font height in points * 83/50 + 2/5</span>
|
88
|
+
<span class="c1"># It works when screen resolution is 96 dpi </span>
|
89
|
+
<span class="n">pix</span> <span class="o">=</span> <span class="p">(</span><span class="n">points</span><span class="o">*</span><span class="mi">83</span><span class="o">.</span><span class="mi">0</span><span class="o">/</span><span class="mi">50</span><span class="o">.</span><span class="mi">0</span> <span class="o">+</span> <span class="mi">2</span><span class="o">.</span><span class="mi">0</span><span class="o">/</span><span class="mi">5</span><span class="o">.</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">round</span>
|
90
|
+
<span class="vi">@height_in_pixels</span> <span class="o">=</span> <span class="n">pix</span> <span class="k">if</span> <span class="p">(</span><span class="n">pix</span> <span class="o">></span> <span class="vi">@height_in_pixels</span><span class="p">)</span>
|
91
|
+
<span class="k">end</span>
|
92
|
+
|
93
|
+
<span class="k">def</span> <span class="nf">adjust_boundary_column_indexes</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">)</span>
|
94
|
+
<span class="n">args</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">a</span><span class="o">|</span>
|
95
|
+
<span class="n">is_int</span> <span class="o">=</span> <span class="p">(</span><span class="n">a</span><span class="o">.</span><span class="n">to_i</span> <span class="o">==</span> <span class="n">a</span><span class="p">)</span>
|
96
|
+
<span class="n">in_range</span> <span class="o">=</span> <span class="p">(</span><span class="mi">0</span> <span class="o"><=</span> <span class="n">a</span><span class="p">)</span> <span class="o">&&</span> <span class="p">(</span><span class="n">a</span> <span class="o"><=</span> <span class="mi">255</span><span class="p">)</span>
|
97
|
+
<span class="k">raise</span> <span class="s2">"invalid boundary index </span><span class="si">#{</span><span class="n">a</span><span class="si">}</span><span class="s2">"</span> <span class="k">unless</span> <span class="n">is_int</span> <span class="o">&&</span> <span class="n">in_range</span>
|
98
|
+
<span class="vi">@min_col_index</span> <span class="o">=</span> <span class="n">a</span> <span class="k">if</span> <span class="n">a</span> <span class="o"><</span> <span class="vi">@min_col_index</span>
|
99
|
+
<span class="vi">@max_col_index</span> <span class="o">=</span> <span class="n">a</span> <span class="k">if</span> <span class="n">a</span> <span class="o">></span> <span class="vi">@max_col_index</span>
|
100
|
+
<span class="k">end</span>
|
101
|
+
<span class="k">end</span>
|
102
|
+
|
103
|
+
<span class="c1"># TODO can we get rid of this? Tests pass if it is commented out.</span>
|
104
|
+
<span class="k">def</span> <span class="nf">style</span><span class="o">=</span><span class="p">(</span><span class="n">style</span><span class="p">)</span>
|
105
|
+
<span class="n">adjust_height</span><span class="p">(</span><span class="n">style</span><span class="p">)</span>
|
106
|
+
<span class="vi">@xf_index</span> <span class="o">=</span> <span class="vi">@parent_wb</span><span class="o">.</span><span class="n">styles</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">style</span><span class="p">)</span>
|
107
|
+
<span class="vi">@has_default_format</span> <span class="o">=</span> <span class="mi">1</span>
|
108
|
+
<span class="k">end</span>
|
109
|
+
|
110
|
+
<span class="k">def</span> <span class="nf">cells_count</span>
|
111
|
+
<span class="vi">@cells</span><span class="o">.</span><span class="n">length</span>
|
112
|
+
<span class="k">end</span>
|
113
|
+
|
114
|
+
<span class="k">def</span> <span class="nf">to_biff</span>
|
115
|
+
<span class="n">height_options</span> <span class="o">=</span> <span class="p">(</span><span class="vi">@height</span> <span class="o">&</span> <span class="mh">0x07FFF</span><span class="p">)</span>
|
116
|
+
<span class="n">height_options</span> <span class="o">|=</span> <span class="p">(</span><span class="vi">@has_default_height</span> <span class="o">&</span> <span class="mh">0x01</span><span class="p">)</span> <span class="o"><<</span> <span class="mi">15</span>
|
117
|
+
|
118
|
+
<span class="n">options</span> <span class="o">=</span> <span class="p">(</span><span class="vi">@level</span> <span class="o">&</span> <span class="mh">0x07</span><span class="p">)</span> <span class="o"><<</span> <span class="mi">0</span>
|
119
|
+
<span class="n">options</span> <span class="o">|=</span> <span class="p">(</span><span class="vi">@collapse</span> <span class="o">&</span> <span class="mh">0x01</span><span class="p">)</span> <span class="o"><<</span> <span class="mi">4</span>
|
120
|
+
<span class="n">options</span> <span class="o">|=</span> <span class="p">(</span><span class="vi">@hidden</span> <span class="o">&</span> <span class="mh">0x01</span><span class="p">)</span> <span class="o"><<</span> <span class="mi">5</span>
|
121
|
+
<span class="n">options</span> <span class="o">|=</span> <span class="p">(</span><span class="vi">@height_mismatch</span> <span class="o">&</span> <span class="mh">0x01</span><span class="p">)</span> <span class="o"><<</span> <span class="mi">6</span>
|
122
|
+
<span class="n">options</span> <span class="o">|=</span> <span class="p">(</span><span class="vi">@has_default_format</span> <span class="o">&</span> <span class="mh">0x01</span><span class="p">)</span> <span class="o"><<</span> <span class="mi">7</span>
|
123
|
+
<span class="n">options</span> <span class="o">|=</span> <span class="p">(</span><span class="mh">0x01</span> <span class="o">&</span> <span class="mh">0x01</span><span class="p">)</span> <span class="o"><<</span> <span class="mi">8</span>
|
124
|
+
<span class="n">options</span> <span class="o">|=</span> <span class="p">(</span><span class="vi">@xf_index</span> <span class="o">&</span> <span class="mh">0x0FFF</span><span class="p">)</span> <span class="o"><<</span> <span class="mi">16</span>
|
125
|
+
<span class="n">options</span> <span class="o">|=</span> <span class="p">(</span><span class="vi">@space_above</span> <span class="o">&</span> <span class="mh">0x01</span><span class="p">)</span> <span class="o"><<</span> <span class="mi">28</span>
|
126
|
+
<span class="n">options</span> <span class="o">|=</span> <span class="p">(</span><span class="vi">@space_below</span> <span class="o">&</span> <span class="mh">0x01</span><span class="p">)</span> <span class="o"><<</span> <span class="mi">29</span>
|
127
|
+
|
128
|
+
<span class="n">args</span> <span class="o">=</span> <span class="o">[</span><span class="vi">@index</span><span class="p">,</span> <span class="vi">@min_col_index</span><span class="p">,</span> <span class="vi">@max_col_index</span><span class="p">,</span> <span class="n">height_options</span><span class="p">,</span> <span class="n">options</span><span class="o">]</span>
|
129
|
+
<span class="no">RowRecord</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">)</span><span class="o">.</span><span class="n">to_biff</span>
|
130
|
+
<span class="k">end</span>
|
131
|
+
|
132
|
+
<span class="k">def</span> <span class="nf">cells_biff</span>
|
133
|
+
<span class="n">cells</span><span class="o">.</span><span class="n">collect</span> <span class="p">{</span><span class="o">|</span><span class="n">c</span><span class="o">|</span> <span class="n">c</span><span class="o">.</span><span class="n">to_biff</span> <span class="p">}</span><span class="o">.</span><span class="n">join</span>
|
134
|
+
<span class="k">end</span>
|
135
|
+
|
136
|
+
<span class="k">def</span> <span class="nf">cell</span><span class="p">(</span><span class="n">col_index</span><span class="p">)</span>
|
137
|
+
<span class="n">cells</span><span class="o">.</span><span class="n">select</span> <span class="p">{</span><span class="o">|</span><span class="n">c</span><span class="o">|</span> <span class="n">c</span><span class="o">.</span><span class="n">index</span> <span class="o">==</span> <span class="n">col_index</span><span class="p">}</span><span class="o">.</span><span class="n">first</span>
|
138
|
+
<span class="k">end</span>
|
139
|
+
|
140
|
+
<span class="k">def</span> <span class="nf">write</span><span class="p">(</span><span class="n">col</span><span class="p">,</span> <span class="n">label</span><span class="p">,</span> <span class="n">style</span><span class="p">)</span>
|
141
|
+
<span class="k">case</span> <span class="n">style</span>
|
142
|
+
<span class="k">when</span> <span class="no">StyleFormat</span>
|
143
|
+
<span class="c1"># leave it alone</span>
|
144
|
+
<span class="k">when</span> <span class="no">Hash</span>
|
145
|
+
<span class="n">style</span> <span class="o">=</span> <span class="no">StyleFormat</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="n">style</span><span class="p">)</span>
|
146
|
+
</pre></div>
|
147
|
+
|
148
|
+
|
149
|
+
</div>
|
150
|
+
<div id="right">
|
151
|
+
<ul id="nav">
|
152
|
+
<li><a href="surpass-manual-0-0-5.pdf">Download PDF Manual</a></li>
|
153
|
+
<li><a href="http://rubyforge.org/projects/surpass">Rubyforge Project Page</a></li>
|
154
|
+
</ul>
|
155
|
+
<div class="box">
|
156
|
+
<h2 style="margin-top:17px">Latest News</h2>
|
157
|
+
<ul>
|
158
|
+
<li>...</li>
|
159
|
+
</ul>
|
160
|
+
</div>
|
161
|
+
</div>
|
162
|
+
<div id="clear"></div></div>
|
163
|
+
<div id="footer">
|
164
|
+
<p>Site template designed by <a href="http://loadfoo.org/" rel="external">LoadFoO</a>. Valid <a href="http://jigsaw.w3.org/css-validator/check/referer" rel="external">CSS</a> & <a href="http://validator.w3.org/check?uri=referer" rel="external">XHTML</a></p>
|
165
|
+
</div>
|
166
|
+
</div>
|
167
|
+
|
168
|
+
</body>
|
169
|
+
</html>
|
@@ -0,0 +1,158 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
2
|
+
|
3
|
+
<!-- ========================================================== -->
|
4
|
+
<!-- Created by Devit Schizoper -->
|
5
|
+
<!-- Created HomePages http://LoadFoo.starzonewebhost.com -->
|
6
|
+
<!-- Created Day 01.12.2006 -->
|
7
|
+
<!-- ========================================================== -->
|
8
|
+
|
9
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
10
|
+
<head>
|
11
|
+
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
|
12
|
+
<meta name="author" content="LoadFoO" />
|
13
|
+
<meta name="description" content="Site description" />
|
14
|
+
<meta name="keywords" content="key, words" />
|
15
|
+
<title>Surpass :: style.rb</title>
|
16
|
+
<link rel="stylesheet" type="text/css" href="/css/style.css" media="screen" />
|
17
|
+
<link rel="stylesheet" href="/css/pygments.css" type="text/css" />
|
18
|
+
<link rel="shortcut icon" href="favicon.ico" />
|
19
|
+
</head>
|
20
|
+
|
21
|
+
<body>
|
22
|
+
<div id="wrap">
|
23
|
+
<div id="top">
|
24
|
+
<h2><a href="/" title="Back to main page">Surpass</a></h2>
|
25
|
+
<div id="menu">
|
26
|
+
<ul>
|
27
|
+
<li><a href="/installation">Installation</a></li>
|
28
|
+
<li><a href="/examples">Examples</a></li>
|
29
|
+
<li><a href="/source">Source</a></li>
|
30
|
+
</ul>
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
<div id="content">
|
34
|
+
<div id="left">
|
35
|
+
<h2>style.rb</h2>
|
36
|
+
<div class="highlight"><pre><span class="k">class</span> <span class="nc">StyleFormat</span>
|
37
|
+
<span class="kp">attr_accessor</span> <span class="ss">:number_format_string</span>
|
38
|
+
<span class="kp">attr_accessor</span> <span class="ss">:font</span>
|
39
|
+
<span class="kp">attr_accessor</span> <span class="ss">:alignment</span>
|
40
|
+
<span class="kp">attr_accessor</span> <span class="ss">:borders</span>
|
41
|
+
<span class="kp">attr_accessor</span> <span class="ss">:pattern</span>
|
42
|
+
<span class="kp">attr_accessor</span> <span class="ss">:protection</span>
|
43
|
+
|
44
|
+
<span class="k">def</span> <span class="nf">initialize</span><span class="p">(</span><span class="nb">hash</span> <span class="o">=</span> <span class="p">{})</span>
|
45
|
+
<span class="vi">@number_format_string</span> <span class="o">=</span> <span class="nb">hash</span><span class="o">[</span><span class="ss">:number_format_string</span><span class="o">]</span> <span class="o">||</span> <span class="s1">'General'</span>
|
46
|
+
|
47
|
+
<span class="vi">@font</span> <span class="o">=</span> <span class="no">Font</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="n">hash_select</span><span class="p">(</span><span class="nb">hash</span><span class="p">,</span><span class="sr"> /^font_/</span><span class="p">))</span>
|
48
|
+
<span class="vi">@alignment</span> <span class="o">=</span> <span class="no">Alignment</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="n">hash_select</span><span class="p">(</span><span class="nb">hash</span><span class="p">,</span><span class="sr"> /^text_/</span><span class="p">))</span>
|
49
|
+
<span class="vi">@borders</span> <span class="o">=</span> <span class="no">Borders</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="n">hash_select</span><span class="p">(</span><span class="nb">hash</span><span class="p">,</span><span class="sr"> /^border_/</span><span class="p">))</span>
|
50
|
+
<span class="vi">@pattern</span> <span class="o">=</span> <span class="no">Pattern</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="n">hash_select</span><span class="p">(</span><span class="nb">hash</span><span class="p">,</span><span class="sr"> /^(fill|pattern)_/</span><span class="p">))</span>
|
51
|
+
<span class="vi">@protection</span> <span class="o">=</span> <span class="no">Protection</span><span class="o">.</span><span class="n">new</span>
|
52
|
+
<span class="k">end</span>
|
53
|
+
|
54
|
+
<span class="k">def</span> <span class="nf">hash_select</span><span class="p">(</span><span class="nb">hash</span><span class="p">,</span> <span class="n">pattern</span><span class="p">)</span>
|
55
|
+
<span class="n">new_hash</span> <span class="o">=</span> <span class="p">{}</span>
|
56
|
+
<span class="nb">hash</span><span class="o">.</span><span class="n">keys</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">k</span><span class="o">|</span>
|
57
|
+
<span class="k">next</span> <span class="k">unless</span> <span class="n">k</span><span class="o">.</span><span class="n">to_s</span> <span class="o">=~</span> <span class="n">pattern</span>
|
58
|
+
<span class="n">new_key</span> <span class="o">=</span> <span class="n">k</span><span class="o">.</span><span class="n">to_s</span><span class="o">.</span><span class="n">gsub</span><span class="p">(</span><span class="n">pattern</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span><span class="o">.</span><span class="n">to_sym</span>
|
59
|
+
<span class="n">new_hash</span><span class="o">[</span><span class="n">new_key</span><span class="o">]</span> <span class="o">=</span> <span class="nb">hash</span><span class="o">[</span><span class="n">k</span><span class="o">]</span>
|
60
|
+
<span class="k">end</span>
|
61
|
+
<span class="n">new_hash</span>
|
62
|
+
<span class="k">end</span>
|
63
|
+
<span class="k">end</span>
|
64
|
+
|
65
|
+
<span class="k">class</span> <span class="nc">StyleCollection</span>
|
66
|
+
<span class="kp">attr_accessor</span> <span class="ss">:fonts</span>
|
67
|
+
<span class="kp">attr_accessor</span> <span class="ss">:number_formats</span>
|
68
|
+
<span class="kp">attr_accessor</span> <span class="ss">:styles</span>
|
69
|
+
<span class="kp">attr_accessor</span> <span class="ss">:default_style</span>
|
70
|
+
<span class="kp">attr_accessor</span> <span class="ss">:default_format</span>
|
71
|
+
|
72
|
+
<span class="no">FIRST_USER_DEFINED_NUM_FORMAT_INDEX</span> <span class="o">=</span> <span class="mi">164</span>
|
73
|
+
|
74
|
+
<span class="no">STANDARD_NUMBER_FORMATS</span> <span class="o">=</span> <span class="o">[</span>
|
75
|
+
<span class="s1">'General'</span><span class="p">,</span>
|
76
|
+
<span class="s1">'0'</span><span class="p">,</span>
|
77
|
+
<span class="s1">'0.00'</span><span class="p">,</span>
|
78
|
+
<span class="s1">'#,##0'</span><span class="p">,</span>
|
79
|
+
<span class="s1">'#,##0.00'</span><span class="p">,</span>
|
80
|
+
<span class="s1">'"$"#,##0_);("$"#,##'</span><span class="p">,</span>
|
81
|
+
<span class="s1">'"$"#,##0_);[Red]("$"#,##'</span><span class="p">,</span>
|
82
|
+
<span class="s1">'"$"#,##0.00_);("$"#,##'</span><span class="p">,</span>
|
83
|
+
<span class="s1">'"$"#,##0.00_);[Red]("$"#,##'</span><span class="p">,</span>
|
84
|
+
<span class="s1">'0%'</span><span class="p">,</span>
|
85
|
+
<span class="s1">'0.00%'</span><span class="p">,</span>
|
86
|
+
<span class="s1">'0.00E+00'</span><span class="p">,</span>
|
87
|
+
<span class="s1">'# ?/?'</span><span class="p">,</span>
|
88
|
+
<span class="s1">'# ??/??'</span><span class="p">,</span>
|
89
|
+
<span class="s1">'M/D/YY'</span><span class="p">,</span>
|
90
|
+
<span class="s1">'D-MMM-YY'</span><span class="p">,</span>
|
91
|
+
<span class="s1">'D-MMM'</span><span class="p">,</span>
|
92
|
+
<span class="s1">'MMM-YY'</span><span class="p">,</span>
|
93
|
+
<span class="s1">'h:mm AM/PM'</span><span class="p">,</span>
|
94
|
+
<span class="s1">'h:mm:ss AM/PM'</span><span class="p">,</span>
|
95
|
+
<span class="s1">'h:mm'</span><span class="p">,</span>
|
96
|
+
<span class="s1">'h:mm:ss'</span><span class="p">,</span>
|
97
|
+
<span class="s1">'M/D/YY h:mm'</span><span class="p">,</span>
|
98
|
+
<span class="s1">'_(#,##0_);(#,##0)'</span><span class="p">,</span>
|
99
|
+
<span class="s1">'_(#,##0_);[Red](#,##0)'</span><span class="p">,</span>
|
100
|
+
<span class="s1">'_(#,##0.00_);(#,##0.00)'</span><span class="p">,</span>
|
101
|
+
<span class="s1">'_(#,##0.00_);[Red](#,##0.00)'</span><span class="p">,</span>
|
102
|
+
<span class="s1">'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)'</span><span class="p">,</span>
|
103
|
+
<span class="s1">'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)'</span><span class="p">,</span>
|
104
|
+
<span class="s1">'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)'</span><span class="p">,</span>
|
105
|
+
<span class="s1">'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)'</span><span class="p">,</span>
|
106
|
+
<span class="s1">'mm:ss'</span><span class="p">,</span>
|
107
|
+
<span class="s1">'[h]:mm:ss'</span><span class="p">,</span>
|
108
|
+
<span class="s1">'mm:ss.0'</span><span class="p">,</span>
|
109
|
+
<span class="s1">'##0.0E+0'</span><span class="p">,</span>
|
110
|
+
<span class="s1">'@'</span>
|
111
|
+
<span class="o">]</span>
|
112
|
+
|
113
|
+
<span class="k">def</span> <span class="nf">initialize</span>
|
114
|
+
<span class="c1"># Populate default font list.</span>
|
115
|
+
<span class="vi">@fonts</span> <span class="o">=</span> <span class="p">{}</span>
|
116
|
+
<span class="c1"># Initialize blank fonts into slots 0,1,2,3,5 in order to skip slot 4.</span>
|
117
|
+
<span class="o">[</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">5</span><span class="o">].</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">i</span><span class="o">|</span>
|
118
|
+
<span class="vi">@fonts</span><span class="o">[</span><span class="n">i</span><span class="o">]</span> <span class="o">=</span> <span class="no">Font</span><span class="o">.</span><span class="n">new</span>
|
119
|
+
<span class="k">end</span>
|
120
|
+
|
121
|
+
<span class="c1"># Populate default number format list.</span>
|
122
|
+
<span class="vi">@number_formats</span> <span class="o">=</span> <span class="p">{}</span>
|
123
|
+
<span class="no">STANDARD_NUMBER_FORMATS</span><span class="o">.</span><span class="n">each_with_index</span> <span class="k">do</span> <span class="o">|</span><span class="n">s</span><span class="p">,</span> <span class="n">i</span><span class="o">|</span>
|
124
|
+
<span class="n">index</span> <span class="o">=</span> <span class="p">(</span><span class="n">i</span> <span class="o"><=</span> <span class="mi">23</span><span class="p">)</span> <span class="p">?</span> <span class="n">i</span> <span class="p">:</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">14</span>
|
125
|
+
<span class="vi">@number_formats</span><span class="o">[</span><span class="n">index</span><span class="o">]</span> <span class="o">=</span> <span class="n">s</span>
|
126
|
+
<span class="k">end</span>
|
127
|
+
|
128
|
+
<span class="vi">@styles</span> <span class="o">=</span> <span class="p">{}</span>
|
129
|
+
<span class="vi">@default_style</span> <span class="o">=</span> <span class="no">StyleFormat</span><span class="o">.</span><span class="n">new</span>
|
130
|
+
|
131
|
+
<span class="c1"># Store the 6 parameters of the default_style</span>
|
132
|
+
<span class="vi">@default_format</span> <span class="o">=</span> <span class="n">add_style</span><span class="p">(</span><span class="vi">@default_style</span><span class="p">)</span><span class="o">[</span><span class="mi">0</span><span class="o">]</span>
|
133
|
+
<span class="k">end</span>
|
134
|
+
|
135
|
+
</pre></div>
|
136
|
+
|
137
|
+
|
138
|
+
</div>
|
139
|
+
<div id="right">
|
140
|
+
<ul id="nav">
|
141
|
+
<li><a href="surpass-manual-0-0-5.pdf">Download PDF Manual</a></li>
|
142
|
+
<li><a href="http://rubyforge.org/projects/surpass">Rubyforge Project Page</a></li>
|
143
|
+
</ul>
|
144
|
+
<div class="box">
|
145
|
+
<h2 style="margin-top:17px">Latest News</h2>
|
146
|
+
<ul>
|
147
|
+
<li>...</li>
|
148
|
+
</ul>
|
149
|
+
</div>
|
150
|
+
</div>
|
151
|
+
<div id="clear"></div></div>
|
152
|
+
<div id="footer">
|
153
|
+
<p>Site template designed by <a href="http://loadfoo.org/" rel="external">LoadFoO</a>. Valid <a href="http://jigsaw.w3.org/css-validator/check/referer" rel="external">CSS</a> & <a href="http://validator.w3.org/check?uri=referer" rel="external">XHTML</a></p>
|
154
|
+
</div>
|
155
|
+
</div>
|
156
|
+
|
157
|
+
</body>
|
158
|
+
</html>
|
@@ -0,0 +1,110 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
2
|
+
|
3
|
+
<!-- ========================================================== -->
|
4
|
+
<!-- Created by Devit Schizoper -->
|
5
|
+
<!-- Created HomePages http://LoadFoo.starzonewebhost.com -->
|
6
|
+
<!-- Created Day 01.12.2006 -->
|
7
|
+
<!-- ========================================================== -->
|
8
|
+
|
9
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
10
|
+
<head>
|
11
|
+
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
|
12
|
+
<meta name="author" content="LoadFoO" />
|
13
|
+
<meta name="description" content="Site description" />
|
14
|
+
<meta name="keywords" content="key, words" />
|
15
|
+
<title>Surpass :: surpass.rb</title>
|
16
|
+
<link rel="stylesheet" type="text/css" href="/css/style.css" media="screen" />
|
17
|
+
<link rel="stylesheet" href="/css/pygments.css" type="text/css" />
|
18
|
+
<link rel="shortcut icon" href="favicon.ico" />
|
19
|
+
</head>
|
20
|
+
|
21
|
+
<body>
|
22
|
+
<div id="wrap">
|
23
|
+
<div id="top">
|
24
|
+
<h2><a href="/" title="Back to main page">Surpass</a></h2>
|
25
|
+
<div id="menu">
|
26
|
+
<ul>
|
27
|
+
<li><a href="/installation">Installation</a></li>
|
28
|
+
<li><a href="/examples">Examples</a></li>
|
29
|
+
<li><a href="/source">Source</a></li>
|
30
|
+
</ul>
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
<div id="content">
|
34
|
+
<div id="left">
|
35
|
+
<h2>surpass.rb</h2>
|
36
|
+
<div class="highlight"><pre><span class="k">module</span> <span class="nn">Surpass</span>
|
37
|
+
|
38
|
+
<span class="c1"># :stopdoc:</span>
|
39
|
+
<span class="no">VERSION</span> <span class="o">=</span> <span class="s1">'0.0.5'</span>
|
40
|
+
<span class="no">LIBPATH</span> <span class="o">=</span> <span class="o">::</span><span class="no">File</span><span class="o">.</span><span class="n">expand_path</span><span class="p">(</span><span class="o">::</span><span class="no">File</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="bp">__FILE__</span><span class="p">))</span> <span class="o">+</span> <span class="o">::</span><span class="no">File</span><span class="o">::</span><span class="no">SEPARATOR</span>
|
41
|
+
<span class="no">PATH</span> <span class="o">=</span> <span class="o">::</span><span class="no">File</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="no">LIBPATH</span><span class="p">)</span> <span class="o">+</span> <span class="o">::</span><span class="no">File</span><span class="o">::</span><span class="no">SEPARATOR</span>
|
42
|
+
<span class="c1"># :startdoc:</span>
|
43
|
+
|
44
|
+
<span class="c1"># Returns the version string for the library.</span>
|
45
|
+
<span class="c1">#</span>
|
46
|
+
<span class="k">def</span> <span class="nc">self</span><span class="o">.</span><span class="nf">version</span>
|
47
|
+
<span class="no">VERSION</span>
|
48
|
+
<span class="k">end</span>
|
49
|
+
|
50
|
+
<span class="c1"># Returns the library path for the module. If any arguments are given,</span>
|
51
|
+
<span class="c1"># they will be joined to the end of the libray path using</span>
|
52
|
+
<span class="c1"># <tt>File.join</tt>.</span>
|
53
|
+
<span class="c1">#</span>
|
54
|
+
<span class="k">def</span> <span class="nc">self</span><span class="o">.</span><span class="nf">libpath</span><span class="p">(</span> <span class="o">*</span><span class="n">args</span> <span class="p">)</span>
|
55
|
+
<span class="n">args</span><span class="o">.</span><span class="n">empty?</span> <span class="p">?</span> <span class="no">LIBPATH</span> <span class="p">:</span> <span class="o">::</span><span class="no">File</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="no">LIBPATH</span><span class="p">,</span> <span class="n">args</span><span class="o">.</span><span class="n">flatten</span><span class="p">)</span>
|
56
|
+
<span class="k">end</span>
|
57
|
+
|
58
|
+
<span class="c1"># Returns the lpath for the module. If any arguments are given,</span>
|
59
|
+
<span class="c1"># they will be joined to the end of the path using</span>
|
60
|
+
<span class="c1"># <tt>File.join</tt>.</span>
|
61
|
+
<span class="c1">#</span>
|
62
|
+
<span class="k">def</span> <span class="nc">self</span><span class="o">.</span><span class="nf">path</span><span class="p">(</span> <span class="o">*</span><span class="n">args</span> <span class="p">)</span>
|
63
|
+
<span class="n">args</span><span class="o">.</span><span class="n">empty?</span> <span class="p">?</span> <span class="no">PATH</span> <span class="p">:</span> <span class="o">::</span><span class="no">File</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="no">PATH</span><span class="p">,</span> <span class="n">args</span><span class="o">.</span><span class="n">flatten</span><span class="p">)</span>
|
64
|
+
<span class="k">end</span>
|
65
|
+
|
66
|
+
<span class="c1"># Utility method used to require all files ending in .rb that lie in the</span>
|
67
|
+
<span class="c1"># directory below this file that has the same name as the filename passed</span>
|
68
|
+
<span class="c1"># in. Optionally, a specific _directory_ name can be passed in such that</span>
|
69
|
+
<span class="c1"># the _filename_ does not have to be equivalent to the directory.</span>
|
70
|
+
<span class="c1">#</span>
|
71
|
+
<span class="k">def</span> <span class="nc">self</span><span class="o">.</span><span class="nf">require_all_libs_relative_to</span><span class="p">(</span> <span class="n">fname</span><span class="p">,</span> <span class="n">dir</span> <span class="o">=</span> <span class="s2">"."</span> <span class="p">)</span>
|
72
|
+
<span class="n">dir</span> <span class="o">||=</span> <span class="o">::</span><span class="no">File</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">fname</span><span class="p">,</span> <span class="s1">'.*'</span><span class="p">)</span>
|
73
|
+
<span class="n">search_me</span> <span class="o">=</span> <span class="o">::</span><span class="no">File</span><span class="o">.</span><span class="n">expand_path</span><span class="p">(</span>
|
74
|
+
<span class="o">::</span><span class="no">File</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="o">::</span><span class="no">File</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">fname</span><span class="p">),</span> <span class="n">dir</span><span class="p">,</span> <span class="s1">'**'</span><span class="p">,</span> <span class="s1">'*.rb'</span><span class="p">))</span>
|
75
|
+
|
76
|
+
<span class="no">Dir</span><span class="o">.</span><span class="n">glob</span><span class="p">(</span><span class="n">search_me</span><span class="p">)</span><span class="o">.</span><span class="n">sort</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">rb</span><span class="o">|</span>
|
77
|
+
<span class="k">next</span> <span class="k">if</span> <span class="no">File</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">rb</span><span class="p">)</span> <span class="o">===</span> <span class="no">File</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="bp">__FILE__</span><span class="p">)</span> <span class="c1"># skip surpass.rb</span>
|
78
|
+
<span class="nb">require</span> <span class="n">rb</span>
|
79
|
+
<span class="k">end</span>
|
80
|
+
<span class="k">end</span>
|
81
|
+
|
82
|
+
<span class="k">end</span> <span class="c1"># module Surpass</span>
|
83
|
+
|
84
|
+
<span class="no">Surpass</span><span class="o">.</span><span class="n">require_all_libs_relative_to</span><span class="p">(</span><span class="bp">__FILE__</span><span class="p">)</span>
|
85
|
+
|
86
|
+
<span class="nb">require</span> <span class="s1">'date'</span>
|
87
|
+
</pre></div>
|
88
|
+
|
89
|
+
|
90
|
+
</div>
|
91
|
+
<div id="right">
|
92
|
+
<ul id="nav">
|
93
|
+
<li><a href="surpass-manual-0-0-5.pdf">Download PDF Manual</a></li>
|
94
|
+
<li><a href="http://rubyforge.org/projects/surpass">Rubyforge Project Page</a></li>
|
95
|
+
</ul>
|
96
|
+
<div class="box">
|
97
|
+
<h2 style="margin-top:17px">Latest News</h2>
|
98
|
+
<ul>
|
99
|
+
<li>...</li>
|
100
|
+
</ul>
|
101
|
+
</div>
|
102
|
+
</div>
|
103
|
+
<div id="clear"></div></div>
|
104
|
+
<div id="footer">
|
105
|
+
<p>Site template designed by <a href="http://loadfoo.org/" rel="external">LoadFoO</a>. Valid <a href="http://jigsaw.w3.org/css-validator/check/referer" rel="external">CSS</a> & <a href="http://validator.w3.org/check?uri=referer" rel="external">XHTML</a></p>
|
106
|
+
</div>
|
107
|
+
</div>
|
108
|
+
|
109
|
+
</body>
|
110
|
+
</html>
|