allison 2.0.2 → 2.0.3
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.tar.gz.sig +0 -0
- data/CHANGELOG +2 -0
- data/Manifest +2 -1
- data/README +5 -4
- data/allison.gemspec +10 -7
- data/cache/BODY +3 -4
- data/cache/INDEX +1 -1
- data/cache/JAVASCRIPT +1 -2
- data/cache/STYLE +2 -3
- data/contrib/rdoc_patch.rb +252 -0
- data/contrib/rdoc_patch_test.rb +95 -0
- data/lib/allison.css +2 -3
- data/lib/allison.js +1 -2
- metadata +41 -40
- metadata.gz.sig +0 -0
- data/cache/PROJECT +0 -1
data.tar.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG
CHANGED
data/Manifest
CHANGED
|
@@ -10,11 +10,12 @@ cache/INDEX
|
|
|
10
10
|
cache/JAVASCRIPT
|
|
11
11
|
cache/METHOD_INDEX
|
|
12
12
|
cache/METHOD_LIST
|
|
13
|
-
cache/PROJECT
|
|
14
13
|
cache/SRC_PAGE
|
|
15
14
|
cache/STYLE
|
|
16
15
|
CHANGELOG
|
|
17
16
|
contrib/Rakefile
|
|
17
|
+
contrib/rdoc_patch.rb
|
|
18
|
+
contrib/rdoc_patch_test.rb
|
|
18
19
|
lib/allison.css
|
|
19
20
|
lib/allison.js
|
|
20
21
|
lib/allison.rb
|
data/README
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
|
|
2
1
|
Allison
|
|
3
2
|
|
|
4
3
|
A modern, pretty RDoc template.
|
|
5
4
|
|
|
6
5
|
== License
|
|
7
6
|
|
|
8
|
-
Copyright 2007 Cloudburst, LLC. See included LICENSE file.
|
|
7
|
+
Copyright 2007, 2008 Cloudburst, LLC. Licensed under the AFL 3. See the included LICENSE file.
|
|
8
|
+
|
|
9
|
+
The public certificate for this gem is here[http://rubyforge.org/frs/download.php/25331/evan_weaver-original-public_cert.pem].
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
If you like this software, please {make a donation}[http://blog.evanweaver.com/donate/], or {recommend Evan}[http://www.workingwithrails.com/person/7739-evan-weaver] at Working with Rails.
|
|
11
12
|
|
|
12
13
|
== Installation
|
|
13
14
|
|
|
@@ -55,7 +56,7 @@ If you want to generate documentation for Ruby on Rails, there is a handy trick.
|
|
|
55
56
|
|
|
56
57
|
== Reporting problems
|
|
57
58
|
|
|
58
|
-
|
|
59
|
+
The support forum is here[http://rubyforge.org/forum/forum.php?forum_id=16451].
|
|
59
60
|
|
|
60
61
|
Patches and contributions are very welcome. Please note that contributors are required to assign copyright for their additions to Cloudburst, LLC.
|
|
61
62
|
|
data/allison.gemspec
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
|
|
2
|
-
# Gem::Specification for Allison-2.0.
|
|
2
|
+
# Gem::Specification for Allison-2.0.3
|
|
3
3
|
# Originally generated by Echoe
|
|
4
4
|
|
|
5
5
|
Gem::Specification.new do |s|
|
|
6
6
|
s.name = %q{allison}
|
|
7
|
-
s.version = "2.0.
|
|
7
|
+
s.version = "2.0.3"
|
|
8
8
|
|
|
9
9
|
s.specification_version = 2 if s.respond_to? :specification_version=
|
|
10
10
|
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
12
12
|
s.authors = ["Evan Weaver"]
|
|
13
|
-
s.date = %q{
|
|
13
|
+
s.date = %q{2008-01-21}
|
|
14
14
|
s.default_executable = %q{allison}
|
|
15
15
|
s.description = %q{A modern, pretty RDoc template.}
|
|
16
16
|
s.email = %q{}
|
|
17
17
|
s.executables = ["allison"]
|
|
18
|
-
s.files = ["bin/allison", "cache/BODY", "cache/CLASS_INDEX", "cache/CLASS_PAGE", "cache/FILE_INDEX", "cache/FILE_PAGE", "cache/FONTS", "cache/FR_INDEX_BODY", "cache/INDEX", "cache/JAVASCRIPT", "cache/METHOD_INDEX", "cache/METHOD_LIST", "cache/
|
|
18
|
+
s.files = ["bin/allison", "cache/BODY", "cache/CLASS_INDEX", "cache/CLASS_PAGE", "cache/FILE_INDEX", "cache/FILE_PAGE", "cache/FONTS", "cache/FR_INDEX_BODY", "cache/INDEX", "cache/JAVASCRIPT", "cache/METHOD_INDEX", "cache/METHOD_LIST", "cache/SRC_PAGE", "cache/STYLE", "CHANGELOG", "contrib/Rakefile", "contrib/rdoc_patch.rb", "contrib/rdoc_patch_test.rb", "lib/allison.css", "lib/allison.js", "lib/allison.rb", "LICENSE", "Manifest", "README", "allison.gemspec"]
|
|
19
19
|
s.has_rdoc = true
|
|
20
20
|
s.homepage = %q{http://blog.evanweaver.com/pages/code#allison}
|
|
21
21
|
s.require_paths = ["lib"]
|
|
22
22
|
s.rubyforge_project = %q{fauna}
|
|
23
|
-
s.rubygems_version = %q{0.
|
|
23
|
+
s.rubygems_version = %q{1.0.1}
|
|
24
24
|
s.summary = %q{A modern, pretty RDoc template.}
|
|
25
25
|
end
|
|
26
26
|
|
|
@@ -37,9 +37,12 @@ end
|
|
|
37
37
|
# p.summary = 'A modern, pretty RDoc template.'
|
|
38
38
|
# p.url = 'http://blog.evanweaver.com/pages/code#allison'
|
|
39
39
|
# p.docs_host = 'blog.evanweaver.com:~/www/bax/public/files/doc/'
|
|
40
|
-
# p.rdoc_pattern =
|
|
40
|
+
# p.rdoc_pattern = /allison.rb|^README|^CHANGELOG|^TODO|^LICENSE$/
|
|
41
41
|
# p.clean_pattern = /^doc|^pkg/
|
|
42
|
-
#
|
|
42
|
+
# if ARGV.include? "release"
|
|
43
|
+
# STDERR.puts "Using non-gem template"
|
|
44
|
+
# p.rdoc_template = File.expand_path(File.dirname(__FILE__) + "/lib/allison")
|
|
45
|
+
# end
|
|
43
46
|
# end
|
|
44
47
|
#
|
|
45
48
|
# task :"cache/BODY" => [:clean, :doc] # Rebuild the cache before packaging
|
data/cache/BODY
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/><title>%title%</title><link type="text/css" href="%style_url%"
|
|
1
|
+
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/><title>%title%</title><link type="text/css" href="%style_url%" media="screen" rel="stylesheet"/><script type="text/javascript">
|
|
2
2
|
// Allison template
|
|
3
|
-
// Copyright 2007 Cloudburst LLC
|
|
4
|
-
// Redistribution or modification prohibited
|
|
3
|
+
// Copyright 2007, 2008 Cloudburst, LLC. Licensed under the AFL 3. See the included LICENSE file.
|
|
5
4
|
|
|
6
5
|
var href_base = '%style_url%'.replace(/(.*\/).*/, '$1'); // inline js is good for something
|
|
7
6
|
|
|
@@ -568,4 +567,4 @@ ENDIF:method_list
|
|
|
568
567
|
END:sections
|
|
569
568
|
|
|
570
569
|
ENDIF:sections
|
|
571
|
-
</div><div class="clear" id="footer">Generated on
|
|
570
|
+
</div><div class="clear" id="footer">Generated on Jan 21, 2008 / Allison 2 © 2007 <a href="http://cloudbur.st">Cloudburst, LLC</a></div></div></body></html>
|
data/cache/INDEX
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/><title>%title%</title><link type="text/css" href="rdoc-style.css"
|
|
1
|
+
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/><title>%title%</title><link type="text/css" href="rdoc-style.css" media="screen" rel="stylesheet"/><meta content="0;url=%initial_page%" http-equiv="refresh"/></head><body><div id="container"><div class="curve" id="preheader_curve_0"></div><div class="curve" id="preheader_curve_1"></div><div class="curve" id="preheader_curve_2"></div><div class="curve" id="preheader_curve_3"></div><div class="curve" id="preheader_curve_4"></div><div class="curve" id="preheader_curve_5"></div><div id="header"><span id="title"><p> </p><h1>Ruby Documentation</h1></span></div><div class="clear"></div><div id="redirect"><a href="%initial_page%"><h1>Redirect</h1></a></div></div></body></html>
|
data/cache/JAVASCRIPT
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
// Allison template
|
|
3
|
-
// Copyright 2007 Cloudburst LLC
|
|
4
|
-
// Redistribution or modification prohibited
|
|
3
|
+
// Copyright 2007, 2008 Cloudburst, LLC. Licensed under the AFL 3. See the included LICENSE file.
|
|
5
4
|
|
|
6
5
|
var href_base = '%style_url%'.replace(/(.*\/).*/, '$1'); // inline js is good for something
|
|
7
6
|
|
data/cache/STYLE
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
/*;
|
|
3
|
-
Allison template;
|
|
4
|
-
Copyright 2007 Cloudburst LLC
|
|
5
|
-
Redistribution or modification prohibited;
|
|
3
|
+
Allison 2 template;
|
|
4
|
+
Copyright 2007, 2008 Cloudburst, LLC. Licensed under the AFL 3. See the included LICENSE file.;
|
|
6
5
|
*/;
|
|
7
6
|
|
|
8
7
|
/* default styles */
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
# CONSIDER split the patch in two for separate submissions
|
|
2
|
+
|
|
3
|
+
##################################################################
|
|
4
|
+
## eek eek ook ook patch to add directives to RDocage
|
|
5
|
+
|
|
6
|
+
require 'rdoc/rdoc'
|
|
7
|
+
require 'rdoc/markup/simple_markup'
|
|
8
|
+
require 'rdoc/markup/simple_markup/lines'
|
|
9
|
+
require 'rdoc/markup/simple_markup/fragments'
|
|
10
|
+
require 'rdoc/markup/simple_markup/to_html'
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def find_method_contents(file_info, modool, method)
|
|
14
|
+
file_info.each do |top|
|
|
15
|
+
if mod = top.find_module_named(modool) and
|
|
16
|
+
symbol = mod.find_local_symbol(method)
|
|
17
|
+
return symbol.token_stream
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
return nil
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
module RubyToken
|
|
24
|
+
class Token
|
|
25
|
+
def to_html
|
|
26
|
+
html = CGI.escapeHTML(text)
|
|
27
|
+
|
|
28
|
+
if text.size == 1 and '!@#$%^&*(){}?+/=[]\\|.,"\'<>-_;:'.include?(text)
|
|
29
|
+
return "<strong>#{ html }</strong>"
|
|
30
|
+
else
|
|
31
|
+
return html
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
class TkCOMMENT; def to_html; '<em style="color: #666; font-size: 110%">' + super + '</em>' ; end; end
|
|
37
|
+
class TkKW; def to_html; '<span style="color: #990099">' + super + '</span>' ; end; end
|
|
38
|
+
class TkIDENTIFIER; def to_html; '<span style="color: #003399">' + super + '</span>' ; end; end
|
|
39
|
+
class TkSYMBOL ; def to_html; '<span style="color: #006600">' + super + '</span>' ; end; end
|
|
40
|
+
class TkOp; def to_html; '<strong>' + super + '</strong>' ; end; end
|
|
41
|
+
class TkSTRING; def to_html; '<span style="background-color: #ddffdd">' + super + '</span>' ; end; end
|
|
42
|
+
|
|
43
|
+
#<RubyToken::TkASSIGN:0xb7870368 @text="=", @char_no=11, @line_no=346>
|
|
44
|
+
#<RubyToken::TkTRUE:0xb786ddac @text="true", @char_no=19, @line_no=347, @name="true">
|
|
45
|
+
#<RubyToken::TkCOMMA:0xb786db7c @text=",", @char_no=23, @line_no=347>
|
|
46
|
+
#<RubyToken::TkfLBRACK:0xb786d2d0 @text="[", @char_no=30, @line_no=347>
|
|
47
|
+
#<RubyToken::TkRBRACK:0xb786c8d0 @text="]", @char_no=39, @line_no=347>
|
|
48
|
+
#<RubyToken::TkFALSE:0xb7868488 @text="false", @char_no=19, @line_no=349, @name="false">
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
module SM
|
|
53
|
+
|
|
54
|
+
class Line
|
|
55
|
+
PURE_HTML = :PURE_HTML
|
|
56
|
+
PURE_RUBY = :PURE_RUBY
|
|
57
|
+
TRANSCLUDE = :TRANSCLUDE
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
class PureHTML < Fragment
|
|
61
|
+
type_name Line::PURE_HTML
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
class PureRUBY < Fragment
|
|
65
|
+
type_name Line::PURE_RUBY
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
class Transclude < Fragment
|
|
69
|
+
type_name Line::TRANSCLUDE
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
class ToHtml
|
|
73
|
+
def accept_transclude(am, fragment)
|
|
74
|
+
if found = find_method_contents(@context.context.parent.in_files, *fragment.txt.split('#'))
|
|
75
|
+
@res << '<pre style="background-color: white">'
|
|
76
|
+
# to do: hilite syntax; make method name clickable
|
|
77
|
+
found.each_with_index do |tok, index|
|
|
78
|
+
next if 0 == index and tok.text =~ /^\#/
|
|
79
|
+
next if 1 == index and tok.text == "\n"
|
|
80
|
+
@res << tok.to_html
|
|
81
|
+
end
|
|
82
|
+
@res << '</pre>'
|
|
83
|
+
else
|
|
84
|
+
raise "missing transclusion: #{ fragment.inspect }"
|
|
85
|
+
@res << fragment.txt
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def accept_pure_html(am, fragment)
|
|
90
|
+
@res << fragment.txt
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def accept_pure_ruby(am, fragment)
|
|
94
|
+
@res << eval(fragment.txt)
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
class LineCollection
|
|
99
|
+
def accept(am, visitor)
|
|
100
|
+
visitor.start_accepting
|
|
101
|
+
|
|
102
|
+
@fragments.each do |fragment|
|
|
103
|
+
case fragment
|
|
104
|
+
when Verbatim
|
|
105
|
+
visitor.accept_verbatim(am, fragment)
|
|
106
|
+
when PureHTML
|
|
107
|
+
visitor.accept_pure_html(am, fragment)
|
|
108
|
+
when PureRUBY
|
|
109
|
+
visitor.accept_pure_ruby(am, fragment)
|
|
110
|
+
when Transclude
|
|
111
|
+
visitor.accept_transclude(am, fragment)
|
|
112
|
+
when Rule
|
|
113
|
+
visitor.accept_rule(am, fragment)
|
|
114
|
+
when ListStart
|
|
115
|
+
visitor.accept_list_start(am, fragment)
|
|
116
|
+
when ListEnd
|
|
117
|
+
visitor.accept_list_end(am, fragment)
|
|
118
|
+
when ListItem
|
|
119
|
+
visitor.accept_list_item(am, fragment)
|
|
120
|
+
when BlankLine
|
|
121
|
+
visitor.accept_blank_line(am, fragment)
|
|
122
|
+
when Heading
|
|
123
|
+
visitor.accept_heading(am, fragment)
|
|
124
|
+
when Paragraph
|
|
125
|
+
visitor.accept_paragraph(am, fragment)
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
visitor.end_accepting
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
class SimpleMarkup
|
|
135
|
+
private
|
|
136
|
+
|
|
137
|
+
def assign_types_to_lines(margin = 0, level = 0)
|
|
138
|
+
|
|
139
|
+
while line = @lines.next
|
|
140
|
+
|
|
141
|
+
if /^\s*%html/ === line.text then
|
|
142
|
+
line.text.sub!("%html","")
|
|
143
|
+
line.stamp( Line::PURE_HTML, level )
|
|
144
|
+
next
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
if /^\s*%transclude/ === line.text then
|
|
148
|
+
line.text.sub!("%transclude","")
|
|
149
|
+
line.stamp( Line::TRANSCLUDE, level )
|
|
150
|
+
next
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
if /^\s*%ruby/ === line.text then
|
|
154
|
+
line.text.sub!("%ruby","")
|
|
155
|
+
line.stamp( Line::PURE_RUBY, level )
|
|
156
|
+
next
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
if line.isBlank?
|
|
160
|
+
line.stamp(Line::BLANK, level)
|
|
161
|
+
next
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
# if a line contains non-blanks before the margin, then it must belong
|
|
165
|
+
# to an outer level
|
|
166
|
+
|
|
167
|
+
text = line.text
|
|
168
|
+
|
|
169
|
+
for i in 0...margin
|
|
170
|
+
if text[i] != SPACE
|
|
171
|
+
@lines.unget
|
|
172
|
+
return
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
active_line = text[margin..-1]
|
|
177
|
+
|
|
178
|
+
# Rules (horizontal lines) look like
|
|
179
|
+
#
|
|
180
|
+
# --- (three or more hyphens)
|
|
181
|
+
#
|
|
182
|
+
# The more hyphens, the thicker the rule
|
|
183
|
+
#
|
|
184
|
+
|
|
185
|
+
if /^(---+)\s*$/ =~ active_line
|
|
186
|
+
line.stamp(Line::RULE, level, $1.length-2)
|
|
187
|
+
next
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
# Then look for list entries. First the ones that have to have
|
|
191
|
+
# text following them (* xxx, - xxx, and dd. xxx)
|
|
192
|
+
|
|
193
|
+
if SIMPLE_LIST_RE =~ active_line
|
|
194
|
+
|
|
195
|
+
offset = margin + $1.length
|
|
196
|
+
prefix = $2
|
|
197
|
+
prefix_length = prefix.length
|
|
198
|
+
|
|
199
|
+
flag = case prefix
|
|
200
|
+
when "*","-" then ListBase::BULLET
|
|
201
|
+
when /^\d/ then ListBase::NUMBER
|
|
202
|
+
when /^[A-Z]/ then ListBase::UPPERALPHA
|
|
203
|
+
when /^[a-z]/ then ListBase::LOWERALPHA
|
|
204
|
+
else raise "Invalid List Type: #{self.inspect}"
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
line.stamp(Line::LIST, level+1, prefix, flag)
|
|
208
|
+
text[margin, prefix_length] = " " * prefix_length
|
|
209
|
+
assign_types_to_lines(offset, level + 1)
|
|
210
|
+
next
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
if LABEL_LIST_RE =~ active_line
|
|
215
|
+
offset = margin + $1.length
|
|
216
|
+
prefix = $2
|
|
217
|
+
prefix_length = prefix.length
|
|
218
|
+
|
|
219
|
+
next if handled_labeled_list(line, level, margin, offset, prefix)
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
# Headings look like
|
|
223
|
+
# = Main heading
|
|
224
|
+
# == Second level
|
|
225
|
+
# === Third
|
|
226
|
+
#
|
|
227
|
+
# Headings reset the level to 0
|
|
228
|
+
|
|
229
|
+
if active_line[0] == ?= and active_line =~ /^(=+)\s*(.*)/
|
|
230
|
+
prefix_length = $1.length
|
|
231
|
+
prefix_length = 6 if prefix_length > 6
|
|
232
|
+
line.stamp(Line::HEADING, 0, prefix_length)
|
|
233
|
+
line.strip_leading(margin + prefix_length)
|
|
234
|
+
next
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
# If the character's a space, then we have verbatim text,
|
|
238
|
+
# otherwise
|
|
239
|
+
|
|
240
|
+
if active_line[0] == SPACE
|
|
241
|
+
line.strip_leading(margin) if margin > 0
|
|
242
|
+
line.stamp(Line::VERBATIM, level)
|
|
243
|
+
else
|
|
244
|
+
line.stamp(Line::PARAGRAPH, level)
|
|
245
|
+
end
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
end
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
## eek eek ook ook patch to add directives to RDocage
|
|
252
|
+
##################################################################
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
#:stopdoc:
|
|
2
|
+
require 'rdoc/rdoc'
|
|
3
|
+
require 'test/unit'
|
|
4
|
+
require 'fileutils'
|
|
5
|
+
#:startdoc:
|
|
6
|
+
|
|
7
|
+
MY_ROOT = File.dirname(__FILE__)
|
|
8
|
+
require MY_ROOT + '/../doc/rdoc_patch'
|
|
9
|
+
require MY_ROOT + '/../lib/assert_xpath' # assert_xpath vs RDoc!!!
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def doc(thing)
|
|
13
|
+
puts (thing.public_methods - self.public_methods).sort()
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class String
|
|
18
|
+
def blank?
|
|
19
|
+
return strip.size == 0
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
#:stopdoc:
|
|
24
|
+
# ERGO shouldn't %HTML be :html: ?
|
|
25
|
+
#:startdoc:
|
|
26
|
+
|
|
27
|
+
class RDocMonkeyPatchTest < Test::Unit::TestCase
|
|
28
|
+
include AssertXPath
|
|
29
|
+
|
|
30
|
+
def publish(file_1_contents, file_2_contents)
|
|
31
|
+
rdoc = RDoc::RDoc.new
|
|
32
|
+
args = ['scratch_1.rb', 'scratch_2.rb', '-oscratch', '--quiet']
|
|
33
|
+
File.open(args[0], 'w'){|f| f.write file_1_contents }
|
|
34
|
+
File.open(args[1], 'w'){|f| f.write file_2_contents }
|
|
35
|
+
rdoc.document(args)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_rdoc_raw_ruby
|
|
39
|
+
publish("
|
|
40
|
+
class Foo
|
|
41
|
+
# %ruby 'in the zone'
|
|
42
|
+
def daddys_got_them_debellum_blues
|
|
43
|
+
end
|
|
44
|
+
end", '')
|
|
45
|
+
|
|
46
|
+
assert_xml File.read('scratch/classes/Foo.html')
|
|
47
|
+
assert_tag_id :div, 'method-M000003' do # CONSIDER: why 003 ?
|
|
48
|
+
assert_xpath 'div[ "method-description" = @class ]' do |div|
|
|
49
|
+
assert_match 'in the zone', div.inner_text
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def test_rdoc_crosspatch
|
|
55
|
+
publish("
|
|
56
|
+
class Foo
|
|
57
|
+
# exemplary
|
|
58
|
+
def i_think_were_alone_now
|
|
59
|
+
# payload
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
", "
|
|
63
|
+
class Bar
|
|
64
|
+
# See Foo#i_think_were_alone_now
|
|
65
|
+
# %transclude Foo#i_think_were_alone_now
|
|
66
|
+
def sugar_minot
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
")
|
|
70
|
+
|
|
71
|
+
assert_xml File.read('scratch/classes/Foo.html')
|
|
72
|
+
|
|
73
|
+
assert_tag_id :div, 'method-M000001' do
|
|
74
|
+
assert_xpath 'div[ "method-description" = @class ]' do |div|
|
|
75
|
+
assert_match 'exemplary', div.inner_text
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
assert_xml File.read('scratch/classes/Bar.html')
|
|
80
|
+
|
|
81
|
+
assert_tag_id :div, 'method-M000002' do
|
|
82
|
+
assert_xpath 'div[ "method-description" = @class ]' do |div|
|
|
83
|
+
assert_match 'i_think_were_alone_now', div.inner_text
|
|
84
|
+
assert_match 'payload', div.inner_text
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def teardown
|
|
90
|
+
FileUtils.rm_rf('scratch') rescue nil
|
|
91
|
+
File.unlink('scratch_1.rb') rescue nil
|
|
92
|
+
File.unlink('scratch_2.rb') rescue nil
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
data/lib/allison.css
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
Allison template
|
|
4
|
-
Copyright 2007 Cloudburst LLC
|
|
5
|
-
Redistribution or modification prohibited
|
|
3
|
+
Allison 2 template
|
|
4
|
+
Copyright 2007, 2008 Cloudburst, LLC. Licensed under the AFL 3. See the included LICENSE file.
|
|
6
5
|
*/
|
|
7
6
|
|
|
8
7
|
/* default styles */
|
data/lib/allison.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
// Allison template
|
|
3
|
-
// Copyright 2007 Cloudburst LLC
|
|
4
|
-
// Redistribution or modification prohibited
|
|
3
|
+
// Copyright 2007, 2008 Cloudburst, LLC. Licensed under the AFL 3. See the included LICENSE file.
|
|
5
4
|
|
|
6
5
|
var href_base = '%style_url%'.replace(/(.*\/).*/, '$1'); // inline js is good for something
|
|
7
6
|
|
metadata
CHANGED
|
@@ -1,35 +1,12 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
|
-
rubygems_version: 0.9.4.6
|
|
3
|
-
specification_version: 2
|
|
4
2
|
name: allison
|
|
5
3
|
version: !ruby/object:Gem::Version
|
|
6
|
-
version: 2.0.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
- lib
|
|
11
|
-
email: ""
|
|
12
|
-
homepage: http://blog.evanweaver.com/pages/code#allison
|
|
13
|
-
rubyforge_project: fauna
|
|
14
|
-
description: A modern, pretty RDoc template.
|
|
4
|
+
version: 2.0.3
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Evan Weaver
|
|
15
8
|
autorequire:
|
|
16
|
-
default_executable:
|
|
17
9
|
bindir: bin
|
|
18
|
-
has_rdoc: true
|
|
19
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
|
20
|
-
requirements:
|
|
21
|
-
- - ">="
|
|
22
|
-
- !ruby/object:Gem::Version
|
|
23
|
-
version: "0"
|
|
24
|
-
version:
|
|
25
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
26
|
-
requirements:
|
|
27
|
-
- - ">="
|
|
28
|
-
- !ruby/object:Gem::Version
|
|
29
|
-
version: "0"
|
|
30
|
-
version:
|
|
31
|
-
platform: ruby
|
|
32
|
-
signing_key:
|
|
33
10
|
cert_chain:
|
|
34
11
|
- |
|
|
35
12
|
-----BEGIN CERTIFICATE-----
|
|
@@ -53,9 +30,18 @@ cert_chain:
|
|
|
53
30
|
yZ0=
|
|
54
31
|
-----END CERTIFICATE-----
|
|
55
32
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
33
|
+
date: 2008-01-21 00:00:00 -05:00
|
|
34
|
+
default_executable:
|
|
35
|
+
dependencies: []
|
|
36
|
+
|
|
37
|
+
description: A modern, pretty RDoc template.
|
|
38
|
+
email: ""
|
|
39
|
+
executables:
|
|
40
|
+
- allison
|
|
41
|
+
extensions: []
|
|
42
|
+
|
|
43
|
+
extra_rdoc_files: []
|
|
44
|
+
|
|
59
45
|
files:
|
|
60
46
|
- bin/allison
|
|
61
47
|
- cache/BODY
|
|
@@ -69,11 +55,12 @@ files:
|
|
|
69
55
|
- cache/JAVASCRIPT
|
|
70
56
|
- cache/METHOD_INDEX
|
|
71
57
|
- cache/METHOD_LIST
|
|
72
|
-
- cache/PROJECT
|
|
73
58
|
- cache/SRC_PAGE
|
|
74
59
|
- cache/STYLE
|
|
75
60
|
- CHANGELOG
|
|
76
61
|
- contrib/Rakefile
|
|
62
|
+
- contrib/rdoc_patch.rb
|
|
63
|
+
- contrib/rdoc_patch_test.rb
|
|
77
64
|
- lib/allison.css
|
|
78
65
|
- lib/allison.js
|
|
79
66
|
- lib/allison.rb
|
|
@@ -81,17 +68,31 @@ files:
|
|
|
81
68
|
- Manifest
|
|
82
69
|
- README
|
|
83
70
|
- allison.gemspec
|
|
84
|
-
|
|
85
|
-
|
|
71
|
+
has_rdoc: true
|
|
72
|
+
homepage: http://blog.evanweaver.com/pages/code#allison
|
|
73
|
+
post_install_message:
|
|
86
74
|
rdoc_options: []
|
|
87
75
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
76
|
+
require_paths:
|
|
77
|
+
- lib
|
|
78
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: "0"
|
|
83
|
+
version:
|
|
84
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
85
|
+
requirements:
|
|
86
|
+
- - ">="
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: "0"
|
|
89
|
+
version:
|
|
94
90
|
requirements: []
|
|
95
91
|
|
|
96
|
-
|
|
92
|
+
rubyforge_project: fauna
|
|
93
|
+
rubygems_version: 1.0.1
|
|
94
|
+
signing_key:
|
|
95
|
+
specification_version: 2
|
|
96
|
+
summary: A modern, pretty RDoc template.
|
|
97
|
+
test_files: []
|
|
97
98
|
|
metadata.gz.sig
CHANGED
|
Binary file
|
data/cache/PROJECT
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
allison
|