clevic 0.8.0 → 0.11.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 (52) hide show
  1. data/History.txt +9 -0
  2. data/Manifest.txt +13 -10
  3. data/README.txt +6 -9
  4. data/Rakefile +35 -24
  5. data/TODO +29 -17
  6. data/bin/clevic +84 -37
  7. data/config/hoe.rb +7 -3
  8. data/lib/clevic.rb +2 -4
  9. data/lib/clevic/browser.rb +37 -49
  10. data/lib/clevic/cache_table.rb +55 -165
  11. data/lib/clevic/db_options.rb +32 -21
  12. data/lib/clevic/default_view.rb +66 -0
  13. data/lib/clevic/delegates.rb +51 -67
  14. data/lib/clevic/dirty.rb +101 -0
  15. data/lib/clevic/extensions.rb +24 -38
  16. data/lib/clevic/field.rb +400 -99
  17. data/lib/clevic/item_delegate.rb +32 -33
  18. data/lib/clevic/model_builder.rb +315 -148
  19. data/lib/clevic/order_attribute.rb +53 -0
  20. data/lib/clevic/record.rb +57 -57
  21. data/lib/clevic/search_dialog.rb +71 -67
  22. data/lib/clevic/sql_dialects.rb +33 -0
  23. data/lib/clevic/table_model.rb +73 -120
  24. data/lib/clevic/table_searcher.rb +165 -0
  25. data/lib/clevic/table_view.rb +140 -100
  26. data/lib/clevic/ui/.gitignore +1 -0
  27. data/lib/clevic/ui/browser_ui.rb +55 -56
  28. data/lib/clevic/ui/search_dialog_ui.rb +50 -51
  29. data/lib/clevic/version.rb +2 -2
  30. data/lib/clevic/view.rb +89 -0
  31. data/models/accounts_models.rb +12 -9
  32. data/models/minimal_models.rb +4 -2
  33. data/models/times_models.rb +41 -25
  34. data/models/times_sqlite_models.rb +1 -145
  35. data/models/values_models.rb +15 -16
  36. data/test/test_cache_table.rb +138 -0
  37. data/test/test_helper.rb +131 -0
  38. data/test/test_model_index_extensions.rb +22 -0
  39. data/test/test_order_attribute.rb +62 -0
  40. data/test/test_sql_dialects.rb +77 -0
  41. data/test/test_table_searcher.rb +188 -0
  42. metadata +36 -20
  43. data/bin/import-times +0 -128
  44. data/config/jamis.rb +0 -589
  45. data/env.sh +0 -1
  46. data/lib/active_record/dirty.rb +0 -87
  47. data/lib/clevic/field_builder.rb +0 -42
  48. data/website/index.html +0 -170
  49. data/website/index.txt +0 -17
  50. data/website/screenshot.png +0 -0
  51. data/website/stylesheets/screen.css +0 -131
  52. data/website/template.html.erb +0 -41
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clevic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Anderson
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-08-21 00:00:00 +02:00
12
+ date: 2009-01-30 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -20,7 +20,7 @@ dependencies:
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: 0.5.0
23
+ version: 0.6.2
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activerecord
@@ -28,7 +28,7 @@ dependencies:
28
28
  version_requirement:
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "="
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 2.0.2
34
34
  version:
@@ -42,6 +42,16 @@ dependencies:
42
42
  - !ruby/object:Gem::Version
43
43
  version: 1.2.3
44
44
  version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: gather
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 0.0.3
54
+ version:
45
55
  - !ruby/object:Gem::Dependency
46
56
  name: hoe
47
57
  type: :development
@@ -50,21 +60,19 @@ dependencies:
50
60
  requirements:
51
61
  - - ">="
52
62
  - !ruby/object:Gem::Version
53
- version: 1.7.0
63
+ version: 1.8.0
54
64
  version:
55
65
  description: SQL table GUI with Qt
56
66
  email:
57
67
  - panic@semiosix.com
58
68
  executables:
59
69
  - clevic
60
- - import-times
61
70
  extensions: []
62
71
 
63
72
  extra_rdoc_files:
64
73
  - History.txt
65
74
  - Manifest.txt
66
75
  - README.txt
67
- - website/index.txt
68
76
  files:
69
77
  - History.txt
70
78
  - Manifest.txt
@@ -72,27 +80,29 @@ files:
72
80
  - Rakefile
73
81
  - TODO
74
82
  - bin/clevic
75
- - bin/import-times
76
83
  - config/hoe.rb
77
- - config/jamis.rb
78
84
  - config/requirements.rb
79
- - env.sh
80
- - lib/active_record/dirty.rb
85
+ - lib/clevic/dirty.rb
81
86
  - lib/clevic.rb
82
87
  - lib/clevic/browser.rb
83
88
  - lib/clevic/cache_table.rb
84
89
  - lib/clevic/db_options.rb
90
+ - lib/clevic/default_view.rb
85
91
  - lib/clevic/delegates.rb
86
92
  - lib/clevic/extensions.rb
87
93
  - lib/clevic/field.rb
88
- - lib/clevic/field_builder.rb
89
94
  - lib/clevic/item_delegate.rb
90
95
  - lib/clevic/model_builder.rb
91
96
  - lib/clevic/model_column.rb
97
+ - lib/clevic/order_attribute.rb
92
98
  - lib/clevic/record.rb
93
99
  - lib/clevic/search_dialog.rb
100
+ - lib/clevic/sql_dialects.rb
94
101
  - lib/clevic/table_model.rb
102
+ - lib/clevic/table_searcher.rb
95
103
  - lib/clevic/table_view.rb
104
+ - lib/clevic/view.rb
105
+ - lib/clevic/ui/.gitignore
96
106
  - lib/clevic/ui/browser.ui
97
107
  - lib/clevic/ui/browser_ui.rb
98
108
  - lib/clevic/ui/icon.png
@@ -112,11 +122,12 @@ files:
112
122
  - sql/times.sql
113
123
  - sql/times_sqlite.sql
114
124
  - tasks/website.rake
115
- - website/index.html
116
- - website/index.txt
117
- - website/screenshot.png
118
- - website/stylesheets/screen.css
119
- - website/template.html.erb
125
+ - test/test_cache_table.rb
126
+ - test/test_helper.rb
127
+ - test/test_model_index_extensions.rb
128
+ - test/test_order_attribute.rb
129
+ - test/test_sql_dialects.rb
130
+ - test/test_table_searcher.rb
120
131
  has_rdoc: true
121
132
  homepage: http://clevic.rubyforge.org
122
133
  post_install_message: ""
@@ -140,9 +151,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
151
  requirements: []
141
152
 
142
153
  rubyforge_project: clevic
143
- rubygems_version: 1.2.0
154
+ rubygems_version: 1.3.1
144
155
  signing_key:
145
156
  specification_version: 2
146
157
  summary: SQL table GUI with Qt
147
- test_files: []
148
-
158
+ test_files:
159
+ - test/test_model_index_extensions.rb
160
+ - test/test_cache_table.rb
161
+ - test/test_table_searcher.rb
162
+ - test/test_order_attribute.rb
163
+ - test/test_helper.rb
164
+ - test/test_sql_dialects.rb
@@ -1,128 +0,0 @@
1
- #! /usr/bin/ruby
2
-
3
- require 'yaml'
4
- require 'times_models.rb'
5
- require 'optparse'
6
-
7
- $options = {}
8
- oparser = OptionParser.new
9
- oparser.on( '-H', '--host HOST', 'RDBMS host', String ) { |o| $options[:host] = o }
10
- oparser.on( '-u', '--user USERNAME', String ) { |o| $options[:user] = o }
11
- oparser.on( '-p', '--pass PASSWORD', String ) { |o| $options[:password] = o }
12
- oparser.on( '-t', '--table TABLE', 'Table to display', String ) { |o| $options[:table] = o }
13
- oparser.on( '-d', '--database DATABASE', 'Database name', String ) { |o| $options[:database] = o }
14
- oparser.on( '-D', '-v', '--debug' ) { |o| $options[:debug] = true }
15
- oparser.on( '-h', '-?', '--help' ) do |o|
16
- puts oparser.to_s
17
- exit( 0 )
18
- end
19
-
20
- oparser.parse!( ARGV )
21
-
22
- require 'clevic/db_options.rb'
23
- puts "using database #{ActiveRecord::Base.connection.raw_connection.db}" if $options[:debug]
24
-
25
- st =
26
- if ARGV[0].nil?
27
- raise ( "provide a yml file that looks like this: " + <<EOF )
28
- #~ dd-mmm-yyyy:
29
- #~ project:
30
- #~ - [08h00, 17h00, whatever, <yes|no (charge)>|<activity>]
31
-
32
- 28-apr-2008:
33
- stackpro:
34
- - [20h01, 23h03, Research on using Matrices for stackpro]
35
-
36
- 29-apr-2008:
37
- stackpro:
38
- - [20h01, 22h43, Working on Stackpro]
39
- - [23h02, 23h30, More on test cases]
40
- clevic:
41
- - [22h43, 23h02, yaml for times]
42
-
43
- 30-apr-2008:
44
- stackpro:
45
- - [19h45, 21h10, Trying both directions]
46
- - [21h10, 21h59, Has to be a pull pipeline]
47
- - [21h59, 23h00, get 3 ops working]
48
- - [23h00, 23h55, do stack algorithm]
49
-
50
- 01-may-2008:
51
- stackpro:
52
- - [18h54, 20H34, fighting with eof]
53
-
54
- 02-may-2008:
55
- stackpro:
56
- - [07h50, 08h32, fighting with eof]
57
- - [19h23, 20h09, simplify testing]
58
- - [21h03, 22h30, do stackpro bin]
59
-
60
- 03-may-2008:
61
- stackpro:
62
- - [07h50, 08h32, fighting with eof]
63
- unwreck:
64
- - [12h50, 15h05, start project. Do some initial coding and testing.]
65
-
66
- 04-may-2008:
67
- unwreck:
68
- - [19h11, 19h31, find a way to store the jobs]
69
- - [21h15, 21h34, find a way to store the jobs]
70
- - [21h34, 23h01, Do DirectoryStorage. Improve sampling.]
71
- - [23h01, 23h18, Ask for force for pre-existing job.]
72
-
73
- 05-may-2008:
74
- unwreck:
75
- - [13h32, 14h15, build index]
76
- - [20h30, 22h05, fetch using index and compare]
77
- - [22h05, 22h53, doing file cleanups and serialisation]
78
-
79
- 19-may-2008:
80
- unwreck:
81
- - [12h30, 12h50, Travel to CIM (because Warren missed the meeting)]
82
- - [12h50, 13h20, Chat to Gavin, no]
83
- - [13h20, 15h40, Work on stackpro and unwreck]
84
- - [15h40, 16h05, Travel home]
85
- - [22h03, 22h42, Work on stackpro]
86
-
87
- 21-may-2008:
88
- unwreck:
89
- - [6h30, 7h21, start on header line]
90
- - [8h55, 10h36, finish header line]
91
- EOF
92
- else
93
- File.read( ARGV[0] )
94
- end
95
-
96
- def process( data_structure )
97
- Entry.transaction do
98
- coding = Activity.find_by_activity 'Coding'
99
- data_structure.keys.each do |key|
100
- date = Date.parse( key )
101
- day = data_structure[key]
102
- day.keys.each do |project_key|
103
- project = Project.find_by_project project_key
104
- raise "project #{project_key} not in database" if project.nil?
105
- invoice = project.latest_invoice
106
-
107
- times = day[project_key]
108
- times.each do |entry_arr|
109
- entry = Entry.new( :project => project, :invoice => invoice, :date => date, :rate => project.rate )
110
- entry.start = entry_arr[0]
111
- entry.end = entry_arr[1]
112
- entry.description = entry_arr[2]
113
-
114
- if entry_arr[3] == true || entry_arr[3] == false
115
- entry.charge = entry_arr[3]
116
- else
117
- entry.activity = entry_arr[3] || coding
118
- end
119
-
120
- entry.save
121
- puts "entry: #{entry.inspect}"
122
- end
123
- end
124
- end
125
- end
126
- end
127
-
128
- process( YAML.load( st ) )
@@ -1,589 +0,0 @@
1
- module RDoc
2
- module Page
3
-
4
- FONTS = "\"Bitstream Vera Sans\", Verdana, Arial, Helvetica, sans-serif"
5
-
6
- STYLE = <<CSS
7
- a {
8
- color: #00F;
9
- text-decoration: none;
10
- }
11
-
12
- a:hover {
13
- color: #77F;
14
- text-decoration: underline;
15
- }
16
-
17
- body, td, p {
18
- font-family: %fonts%;
19
- background: #FFF;
20
- color: #000;
21
- margin: 0px;
22
- font-size: small;
23
- }
24
-
25
- #content {
26
- margin: 2em;
27
- }
28
-
29
- #description p {
30
- margin-bottom: 0.5em;
31
- }
32
-
33
- .sectiontitle {
34
- margin-top: 1em;
35
- margin-bottom: 1em;
36
- padding: 0.5em;
37
- padding-left: 2em;
38
- background: #005;
39
- color: #FFF;
40
- font-weight: bold;
41
- border: 1px dotted black;
42
- }
43
-
44
- .attr-rw {
45
- padding-left: 1em;
46
- padding-right: 1em;
47
- text-align: center;
48
- color: #055;
49
- }
50
-
51
- .attr-name {
52
- font-weight: bold;
53
- }
54
-
55
- .attr-desc {
56
- }
57
-
58
- .attr-value {
59
- font-family: monospace;
60
- }
61
-
62
- .file-title-prefix {
63
- font-size: large;
64
- }
65
-
66
- .file-title {
67
- font-size: large;
68
- font-weight: bold;
69
- background: #005;
70
- color: #FFF;
71
- }
72
-
73
- .banner {
74
- background: #005;
75
- color: #FFF;
76
- border: 1px solid black;
77
- padding: 1em;
78
- }
79
-
80
- .banner td {
81
- background: transparent;
82
- color: #FFF;
83
- }
84
-
85
- h1 a, h2 a, .sectiontitle a, .banner a {
86
- color: #FF0;
87
- }
88
-
89
- h1 a:hover, h2 a:hover, .sectiontitle a:hover, .banner a:hover {
90
- color: #FF7;
91
- }
92
-
93
- .dyn-source {
94
- display: none;
95
- background: #FFE;
96
- color: #000;
97
- border: 1px dotted black;
98
- margin: 0.5em 2em 0.5em 2em;
99
- padding: 0.5em;
100
- }
101
-
102
- .dyn-source .cmt {
103
- color: #00F;
104
- font-style: italic;
105
- }
106
-
107
- .dyn-source .kw {
108
- color: #070;
109
- font-weight: bold;
110
- }
111
-
112
- .method {
113
- margin-left: 1em;
114
- margin-right: 1em;
115
- margin-bottom: 1em;
116
- }
117
-
118
- .description pre {
119
- padding: 0.5em;
120
- border: 1px dotted black;
121
- background: #FFE;
122
- }
123
-
124
- .method .title {
125
- font-family: monospace;
126
- font-size: large;
127
- border-bottom: 1px dashed black;
128
- margin-bottom: 0.3em;
129
- padding-bottom: 0.1em;
130
- }
131
-
132
- .method .description, .method .sourcecode {
133
- margin-left: 1em;
134
- }
135
-
136
- .description p, .sourcecode p {
137
- margin-bottom: 0.5em;
138
- }
139
-
140
- .method .sourcecode p.source-link {
141
- text-indent: 0em;
142
- margin-top: 0.5em;
143
- }
144
-
145
- .method .aka {
146
- margin-top: 0.3em;
147
- margin-left: 1em;
148
- font-style: italic;
149
- text-indent: 2em;
150
- }
151
-
152
- h1 {
153
- padding: 1em;
154
- border: 1px solid black;
155
- font-size: x-large;
156
- font-weight: bold;
157
- color: #FFF;
158
- background: #007;
159
- }
160
-
161
- h2 {
162
- padding: 0.5em 1em 0.5em 1em;
163
- border: 1px solid black;
164
- font-size: large;
165
- font-weight: bold;
166
- color: #FFF;
167
- background: #009;
168
- }
169
-
170
- h3, h4, h5, h6 {
171
- padding: 0.2em 1em 0.2em 1em;
172
- border: 1px dashed black;
173
- color: #000;
174
- background: #AAF;
175
- }
176
-
177
- .sourcecode > pre {
178
- padding: 0.5em;
179
- border: 1px dotted black;
180
- background: #FFE;
181
- }
182
-
183
- CSS
184
-
185
- XHTML_PREAMBLE = %{<?xml version="1.0" encoding="%charset%"?>
186
- <!DOCTYPE html
187
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
188
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
189
- }
190
-
191
- XHTML_FRAMESET_PREAMBLE = %{
192
- <!DOCTYPE html
193
- PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
194
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
195
- }
196
-
197
- HEADER = XHTML_PREAMBLE + <<ENDHEADER
198
- <html>
199
- <head>
200
- <title>%title%</title>
201
- <meta http-equiv="Content-Type" content="text/html; charset=%charset%" />
202
- <link rel="stylesheet" href="%style_url%" type="text/css" media="screen" />
203
-
204
- <script language="JavaScript" type="text/javascript">
205
- // <![CDATA[
206
-
207
- function toggleSource( id )
208
- {
209
- var elem
210
- var link
211
-
212
- if( document.getElementById )
213
- {
214
- elem = document.getElementById( id )
215
- link = document.getElementById( "l_" + id )
216
- }
217
- else if ( document.all )
218
- {
219
- elem = eval( "document.all." + id )
220
- link = eval( "document.all.l_" + id )
221
- }
222
- else
223
- return false;
224
-
225
- if( elem.style.display == "block" )
226
- {
227
- elem.style.display = "none"
228
- link.innerHTML = "show source"
229
- }
230
- else
231
- {
232
- elem.style.display = "block"
233
- link.innerHTML = "hide source"
234
- }
235
- }
236
-
237
- function openCode( url )
238
- {
239
- window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
240
- }
241
- // ]]>
242
- </script>
243
- </head>
244
-
245
- <body>
246
- ENDHEADER
247
-
248
- FILE_PAGE = <<HTML
249
- <table border='0' cellpadding='0' cellspacing='0' width="100%" class='banner'>
250
- <tr><td>
251
- <table width="100%" border='0' cellpadding='0' cellspacing='0'><tr>
252
- <td class="file-title" colspan="2"><span class="file-title-prefix">File</span><br />%short_name%</td>
253
- <td align="right">
254
- <table border='0' cellspacing="0" cellpadding="2">
255
- <tr>
256
- <td>Path:</td>
257
- <td>%full_path%
258
- IF:cvsurl
259
- &nbsp;(<a href="%cvsurl%">CVS</a>)
260
- ENDIF:cvsurl
261
- </td>
262
- </tr>
263
- <tr>
264
- <td>Modified:</td>
265
- <td>%dtm_modified%</td>
266
- </tr>
267
- </table>
268
- </td></tr>
269
- </table>
270
- </td></tr>
271
- </table><br />
272
- HTML
273
-
274
- ###################################################################
275
-
276
- CLASS_PAGE = <<HTML
277
- <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
278
- <td class="file-title"><span class="file-title-prefix">%classmod%</span><br />%full_name%</td>
279
- <td align="right">
280
- <table cellspacing="0" cellpadding="2">
281
- <tr valign="top">
282
- <td>In:</td>
283
- <td>
284
- START:infiles
285
- HREF:full_path_url:full_path:
286
- IF:cvsurl
287
- &nbsp;(<a href="%cvsurl%">CVS</a>)
288
- ENDIF:cvsurl
289
- END:infiles
290
- </td>
291
- </tr>
292
- IF:parent
293
- <tr>
294
- <td>Parent:</td>
295
- <td>
296
- IF:par_url
297
- <a href="%par_url%">
298
- ENDIF:par_url
299
- %parent%
300
- IF:par_url
301
- </a>
302
- ENDIF:par_url
303
- </td>
304
- </tr>
305
- ENDIF:parent
306
- </table>
307
- </td>
308
- </tr>
309
- </table>
310
- HTML
311
-
312
- ###################################################################
313
-
314
- METHOD_LIST = <<HTML
315
- <div id="content">
316
- IF:diagram
317
- <table cellpadding='0' cellspacing='0' border='0' width="100%"><tr><td align="center">
318
- %diagram%
319
- </td></tr></table>
320
- ENDIF:diagram
321
-
322
- IF:description
323
- <div class="description">%description%</div>
324
- ENDIF:description
325
-
326
- IF:requires
327
- <div class="sectiontitle">Required Files</div>
328
- <ul>
329
- START:requires
330
- <li>HREF:aref:name:</li>
331
- END:requires
332
- </ul>
333
- ENDIF:requires
334
-
335
- IF:toc
336
- <div class="sectiontitle">Contents</div>
337
- <ul>
338
- START:toc
339
- <li><a href="#%href%">%secname%</a></li>
340
- END:toc
341
- </ul>
342
- ENDIF:toc
343
-
344
- IF:methods
345
- <div class="sectiontitle">Methods</div>
346
- <ul>
347
- START:methods
348
- <li>HREF:aref:name:</li>
349
- END:methods
350
- </ul>
351
- ENDIF:methods
352
-
353
- IF:includes
354
- <div class="sectiontitle">Included Modules</div>
355
- <ul>
356
- START:includes
357
- <li>HREF:aref:name:</li>
358
- END:includes
359
- </ul>
360
- ENDIF:includes
361
-
362
- START:sections
363
- IF:sectitle
364
- <div class="sectiontitle"><a name="%secsequence%">%sectitle%</a></div>
365
- IF:seccomment
366
- <div class="description">
367
- %seccomment%
368
- </div>
369
- ENDIF:seccomment
370
- ENDIF:sectitle
371
-
372
- IF:classlist
373
- <div class="sectiontitle">Classes and Modules</div>
374
- %classlist%
375
- ENDIF:classlist
376
-
377
- IF:constants
378
- <div class="sectiontitle">Constants</div>
379
- <table border='0' cellpadding='5'>
380
- START:constants
381
- <tr valign='top'>
382
- <td class="attr-name">%name%</td>
383
- <td>=</td>
384
- <td class="attr-value">%value%</td>
385
- </tr>
386
- IF:desc
387
- <tr valign='top'>
388
- <td>&nbsp;</td>
389
- <td colspan="2" class="attr-desc">%desc%</td>
390
- </tr>
391
- ENDIF:desc
392
- END:constants
393
- </table>
394
- ENDIF:constants
395
-
396
- IF:attributes
397
- <div class="sectiontitle">Attributes</div>
398
- <table border='0' cellpadding='5'>
399
- START:attributes
400
- <tr valign='top'>
401
- <td class='attr-rw'>
402
- IF:rw
403
- [%rw%]
404
- ENDIF:rw
405
- </td>
406
- <td class='attr-name'>%name%</td>
407
- <td class='attr-desc'>%a_desc%</td>
408
- </tr>
409
- END:attributes
410
- </table>
411
- ENDIF:attributes
412
-
413
- IF:method_list
414
- START:method_list
415
- IF:methods
416
- <div class="sectiontitle">%type% %category% methods</div>
417
- START:methods
418
- <div class="method">
419
- <div class="title">
420
- IF:callseq
421
- <a name="%aref%"></a><b>%callseq%</b>
422
- ENDIF:callseq
423
- IFNOT:callseq
424
- <a name="%aref%"></a><b>%name%</b>%params%
425
- ENDIF:callseq
426
- IF:codeurl
427
- [&nbsp;<a href="%codeurl%" target="SOURCE_CODE" onclick="javascript:openCode('%codeurl%'); return false;">source</a>&nbsp;]
428
- ENDIF:codeurl
429
- </div>
430
- IF:m_desc
431
- <div class="description">
432
- %m_desc%
433
- </div>
434
- ENDIF:m_desc
435
- IF:aka
436
- <div class="aka">
437
- This method is also aliased as
438
- START:aka
439
- <a href="%aref%">%name%</a>
440
- END:aka
441
- </div>
442
- ENDIF:aka
443
- IF:sourcecode
444
- <div class="sourcecode">
445
- <p class="source-link">[ <a href="javascript:toggleSource('%aref%_source')" id="l_%aref%_source">show source</a> ]</p>
446
- <div id="%aref%_source" class="dyn-source">
447
- <pre>
448
- %sourcecode%
449
- </pre>
450
- </div>
451
- </div>
452
- ENDIF:sourcecode
453
- </div>
454
- END:methods
455
- ENDIF:methods
456
- END:method_list
457
- ENDIF:method_list
458
- END:sections
459
- </div>
460
- HTML
461
-
462
- FOOTER = <<ENDFOOTER
463
- </body>
464
- </html>
465
- ENDFOOTER
466
-
467
- BODY = HEADER + <<ENDBODY
468
- !INCLUDE! <!-- banner header -->
469
-
470
- <div id="bodyContent">
471
- #{METHOD_LIST}
472
- </div>
473
-
474
- #{FOOTER}
475
- ENDBODY
476
-
477
- ########################## Source code ##########################
478
-
479
- SRC_PAGE = XHTML_PREAMBLE + <<HTML
480
- <html>
481
- <head><title>%title%</title>
482
- <meta http-equiv="Content-Type" content="text/html; charset=%charset%" />
483
- <style type="text/css">
484
- .ruby-comment { color: green; font-style: italic }
485
- .ruby-constant { color: #4433aa; font-weight: bold; }
486
- .ruby-identifier { color: #222222; }
487
- .ruby-ivar { color: #2233dd; }
488
- .ruby-keyword { color: #3333FF; font-weight: bold }
489
- .ruby-node { color: #777777; }
490
- .ruby-operator { color: #111111; }
491
- .ruby-regexp { color: #662222; }
492
- .ruby-value { color: #662222; font-style: italic }
493
- .kw { color: #3333FF; font-weight: bold }
494
- .cmt { color: green; font-style: italic }
495
- .str { color: #662222; font-style: italic }
496
- .re { color: #662222; }
497
- </style>
498
- </head>
499
- <body bgcolor="white">
500
- <pre>%code%</pre>
501
- </body>
502
- </html>
503
- HTML
504
-
505
- ########################## Index ################################
506
-
507
- FR_INDEX_BODY = <<HTML
508
- !INCLUDE!
509
- HTML
510
-
511
- FILE_INDEX = XHTML_PREAMBLE + <<HTML
512
- <html>
513
- <head>
514
- <meta http-equiv="Content-Type" content="text/html; charset=%charset%" />
515
- <title>Index</title>
516
- <style type="text/css">
517
- <!--
518
- body {
519
- background-color: #EEE;
520
- font-family: #{FONTS};
521
- color: #000;
522
- margin: 0px;
523
- }
524
- .banner {
525
- background: #005;
526
- color: #FFF;
527
- padding: 0.2em;
528
- font-size: small;
529
- font-weight: bold;
530
- text-align: center;
531
- }
532
- .entries {
533
- margin: 0.25em 1em 0 1em;
534
- font-size: x-small;
535
- }
536
- a {
537
- color: #00F;
538
- text-decoration: none;
539
- white-space: nowrap;
540
- }
541
- a:hover {
542
- color: #77F;
543
- text-decoration: underline;
544
- }
545
- -->
546
- </style>
547
- <base target="docwin" />
548
- </head>
549
- <body>
550
- <div class="banner">%list_title%</div>
551
- <div class="entries">
552
- START:entries
553
- <a href="%href%">%name%</a><br />
554
- END:entries
555
- </div>
556
- </body></html>
557
- HTML
558
-
559
- CLASS_INDEX = FILE_INDEX
560
- METHOD_INDEX = FILE_INDEX
561
-
562
- INDEX = XHTML_FRAMESET_PREAMBLE + <<HTML
563
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
564
- <head>
565
- <title>%title%</title>
566
- <meta http-equiv="Content-Type" content="text/html; charset=%charset%" />
567
- </head>
568
-
569
- <frameset cols="20%,*">
570
- <frameset rows="15%,35%,50%">
571
- <frame src="fr_file_index.html" title="Files" name="Files" />
572
- <frame src="fr_class_index.html" name="Classes" />
573
- <frame src="fr_method_index.html" name="Methods" />
574
- </frameset>
575
- <frame src="%initial_page%" name="docwin" />
576
- <noframes>
577
- <body bgcolor="white">
578
- Click <a href="html/index.html">here</a> for a non-frames
579
- version of this page.
580
- </body>
581
- </noframes>
582
- </frameset>
583
-
584
- </html>
585
- HTML
586
-
587
- end
588
- end
589
-