rdoc 2.3.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rdoc might be problematic. Click here for more details.

Files changed (81) hide show
  1. data.tar.gz.sig +0 -0
  2. data/.autotest +14 -0
  3. data/History.txt +27 -0
  4. data/Manifest.txt +29 -9
  5. data/Rakefile +2 -0
  6. data/bin/rdoc +13 -2
  7. data/lib/rdoc.rb +11 -3
  8. data/lib/rdoc/alias.rb +54 -0
  9. data/lib/rdoc/anon_class.rb +10 -0
  10. data/lib/rdoc/any_method.rb +190 -0
  11. data/lib/rdoc/attr.rb +79 -0
  12. data/lib/rdoc/cache.rb +11 -2
  13. data/lib/rdoc/class_module.rb +87 -0
  14. data/lib/rdoc/code_object.rb +152 -0
  15. data/lib/rdoc/code_objects.rb +18 -1118
  16. data/lib/rdoc/constant.rb +36 -0
  17. data/lib/rdoc/context.rb +712 -0
  18. data/lib/rdoc/diagram.rb +8 -8
  19. data/lib/rdoc/generator.rb +3 -1140
  20. data/lib/rdoc/generator/darkfish.rb +107 -133
  21. data/lib/rdoc/generator/markup.rb +194 -0
  22. data/lib/rdoc/generator/ri.rb +4 -2
  23. data/lib/rdoc/generator/template/darkfish/classpage.rhtml +92 -113
  24. data/lib/rdoc/generator/template/darkfish/filepage.rhtml +33 -35
  25. data/lib/rdoc/generator/template/darkfish/index.rhtml +22 -15
  26. data/lib/rdoc/ghost_method.rb +8 -0
  27. data/lib/rdoc/include.rb +39 -0
  28. data/lib/rdoc/markup/attribute_manager.rb +46 -0
  29. data/lib/rdoc/markup/formatter.rb +11 -0
  30. data/lib/rdoc/markup/fragments.rb +42 -2
  31. data/lib/rdoc/markup/inline.rb +29 -4
  32. data/lib/rdoc/markup/lines.rb +4 -0
  33. data/lib/rdoc/markup/preprocess.rb +4 -0
  34. data/lib/rdoc/markup/to_flow.rb +27 -1
  35. data/lib/rdoc/markup/to_html.rb +33 -33
  36. data/lib/rdoc/markup/to_html_crossref.rb +4 -11
  37. data/lib/rdoc/markup/to_latex.rb +31 -31
  38. data/lib/rdoc/markup/to_test.rb +3 -0
  39. data/lib/rdoc/markup/to_texinfo.rb +18 -14
  40. data/lib/rdoc/meta_method.rb +8 -0
  41. data/lib/rdoc/normal_class.rb +18 -0
  42. data/lib/rdoc/normal_module.rb +34 -0
  43. data/lib/rdoc/options.rb +26 -159
  44. data/lib/rdoc/parser/c.rb +16 -8
  45. data/lib/rdoc/parser/ruby.rb +16 -10
  46. data/lib/rdoc/parser/simple.rb +1 -1
  47. data/lib/rdoc/rdoc.rb +50 -34
  48. data/lib/rdoc/require.rb +32 -0
  49. data/lib/rdoc/ri/descriptions.rb +1 -1
  50. data/lib/rdoc/ri/driver.rb +4 -4
  51. data/lib/rdoc/ri/formatter.rb +70 -32
  52. data/lib/rdoc/single_class.rb +8 -0
  53. data/lib/rdoc/top_level.rb +232 -0
  54. data/test/test_rdoc_any_method.rb +10 -0
  55. data/test/test_rdoc_code_object.rb +80 -0
  56. data/test/test_rdoc_constant.rb +15 -0
  57. data/test/test_rdoc_context.rb +250 -0
  58. data/test/test_rdoc_include.rb +17 -0
  59. data/test/test_rdoc_markup.rb +13 -2
  60. data/test/test_rdoc_markup_to_html.rb +22 -0
  61. data/test/test_rdoc_markup_to_html_crossref.rb +50 -115
  62. data/test/test_rdoc_normal_module.rb +26 -0
  63. data/test/test_rdoc_parser_c.rb +33 -0
  64. data/test/test_rdoc_parser_ruby.rb +54 -36
  65. data/test/test_rdoc_require.rb +25 -0
  66. data/test/test_rdoc_ri_default_display.rb +2 -1
  67. data/test/test_rdoc_ri_html_formatter.rb +141 -0
  68. data/test/test_rdoc_top_level.rb +85 -0
  69. data/test/xref_data.rb +46 -0
  70. data/test/xref_test_case.rb +48 -0
  71. metadata +42 -13
  72. metadata.gz.sig +0 -0
  73. data/lib/rdoc/generator/html.rb +0 -456
  74. data/lib/rdoc/generator/html/common.rb +0 -24
  75. data/lib/rdoc/generator/html/html.rb +0 -769
  76. data/lib/rdoc/generator/html/one_page_html.rb +0 -122
  77. data/lib/rdoc/generator/xml.rb +0 -124
  78. data/lib/rdoc/generator/xml/rdf.rb +0 -113
  79. data/lib/rdoc/generator/xml/xml.rb +0 -123
  80. data/lib/rdoc/parser/f95.rb +0 -1835
  81. data/lib/rdoc/template.rb +0 -68
@@ -1,122 +0,0 @@
1
- require 'rdoc/generator/html'
2
- require 'rdoc/generator/html/common'
3
-
4
- module RDoc::Generator::HTML::ONE_PAGE_HTML
5
-
6
- include RDoc::Generator::HTML::Common
7
-
8
- CONTENTS_XML = <<-EOF
9
- <% if defined? classes and classes[:description] then %>
10
- <%= classes[:description] %>
11
- <% end %>
12
-
13
- <% if defined? files and files[:requires] then %>
14
- <h4>Requires:</h4>
15
- <ul>
16
- <% files[:requires].each do |requires| %>
17
- <% if requires[:aref] then %>
18
- <li><a href="<%= requires[:aref] %>"><%= requires[:name] %></a></li>
19
- <% end %>
20
- <% unless requires[:aref] then %>
21
- <li><%= requires[:name] %></li>
22
- <% end %>
23
- <% end %><%# files[:requires] %>
24
- </ul>
25
- <% end %>
26
-
27
- <% if defined? classes and classes[:includes] then %>
28
- <h4>Includes</h4>
29
- <ul>
30
- <% classes[:includes].each do |includes| %>
31
- <% if includes[:aref] then %>
32
- <li><a href="<%= includes[:aref] %>"><%= includes[:name] %></a></li>
33
- <% end %>
34
- <% unless includes[:aref] then %>
35
- <li><%= includes[:name] %></li>
36
- <% end %>
37
- <% end %><%# classes[:includes] %>
38
- </ul>
39
- <% end %>
40
-
41
- <% if defined? classes and classes[:sections] then %>
42
- <% classes[:sections].each do |sections| %>
43
- <% if sections[:attributes] then %>
44
- <h4>Attributes</h4>
45
- <table>
46
- <% sections[:attributes].each do |attributes| %>
47
- <tr><td><%= attributes[:name] %></td><td><%= attributes[:rw] %></td><td><%= attributes[:a_desc] %></td></tr>
48
- <% end %><%# sections[:attributes] %>
49
- </table>
50
- <% end %>
51
-
52
- <% if sections[:method_list] then %>
53
- <h3>Methods</h3>
54
- <% sections[:method_list].each do |method_list| %>
55
- <% if method_list[:methods] then %>
56
- <% method_list[:methods].each do |methods| %>
57
- <h4><%= methods[:type] %> <%= methods[:category] %> method:
58
- <% if methods[:callseq] then %>
59
- <a name="<%= methods[:aref] %>"><%= methods[:callseq] %></a>
60
- <% end %>
61
- <% unless methods[:callseq] then %>
62
- <a name="<%= methods[:aref] %>"><%= methods[:name] %><%= methods[:params] %></a></h4>
63
- <% end %>
64
-
65
- <% if methods[:m_desc] then %>
66
- <%= methods[:m_desc] %>
67
- <% end %>
68
-
69
- <% if methods[:sourcecode] then %>
70
- <blockquote><pre>
71
- <%= methods[:sourcecode] %>
72
- </pre></blockquote>
73
- <% end %>
74
- <% end %><%# method_list[:methods] %>
75
- <% end %>
76
- <% end %><%# sections[:method_list] %>
77
- <% end %>
78
- <% end %><%# classes[:sections] %>
79
- <% end %>
80
- EOF
81
-
82
- ONE_PAGE = XHTML_STRICT_PREAMBLE + HTML_ELEMENT + %{
83
- <head>
84
- <title><%= values[:title] %></title>
85
- <meta http-equiv="Content-Type" content="text/html; charset=<%= values[:charset] %>" />
86
- </head>
87
- <body>
88
- <% values[:files].each do |files| %>
89
- <h2>File: <a name="<%= files[:href] %>"><%= files[:short_name] %></a></h2>
90
- <table>
91
- <tr><td>Path:</td><td><%= files[:full_path] %></td></tr>
92
- <tr><td>Modified:</td><td><%= files[:dtm_modified] %></td></tr>
93
- </table>
94
- } + CONTENTS_XML + %{
95
- <% end %><%# values[:files] %>
96
-
97
- <% if values[:classes] then %>
98
- <h2>Classes</h2>
99
- <% values[:classes].each do |classes| %>
100
- <% if classes[:parent] then %>
101
- <h3><%= classes[:classmod] %> <a name="<%= classes[:href] %>"><%= classes[:full_name] %></a> &lt; <%= href classes[:par_url], classes[:parent] %></h3>
102
- <% end %>
103
- <% unless classes[:parent] then %>
104
- <h3><%= classes[:classmod] %> <%= classes[:full_name] %></h3>
105
- <% end %>
106
-
107
- <% if classes[:infiles] then %>
108
- (in files
109
- <% classes[:infiles].each do |infiles| %>
110
- <%= href infiles[:full_path_url], infiles[:full_path] %>
111
- <% end %><%# classes[:infiles] %>
112
- )
113
- <% end %>
114
- } + CONTENTS_XML + %{
115
- <% end %><%# values[:classes] %>
116
- <% end %>
117
- </body>
118
- </html>
119
- }
120
-
121
- end
122
-
@@ -1,124 +0,0 @@
1
- require 'rdoc/generator/html'
2
- require 'rdoc/cache'
3
-
4
- ##
5
- # Generate XML output as one big file
6
-
7
- class RDoc::Generator::XML < RDoc::Generator::HTML
8
-
9
- RDoc::RDoc.add_generator self
10
-
11
- ##
12
- # Standard generator factory
13
-
14
- def self.for(options)
15
- new(options)
16
- end
17
-
18
- def initialize(*args)
19
- super
20
- end
21
-
22
- ##
23
- # Build the initial indices and output objects
24
- # based on an array of TopLevel objects containing
25
- # the extracted information.
26
-
27
- def generate(info)
28
- @info = info
29
- @files = []
30
- @classes = []
31
- @hyperlinks = {}
32
-
33
- build_indices
34
- generate_xml
35
- end
36
-
37
- ##
38
- # Generate:
39
- #
40
- # * a list of File objects for each TopLevel object.
41
- # * a list of Class objects for each first level
42
- # class or module in the TopLevel objects
43
- # * a complete list of all hyperlinkable terms (file,
44
- # class, module, and method names)
45
-
46
- def build_indices
47
- template_cache = RDoc::Cache.instance
48
-
49
- @info.each do |toplevel|
50
- @files << RDoc::Generator::File.new(template_cache, toplevel, @options,
51
- RDoc::Generator::FILE_DIR)
52
- end
53
-
54
- RDoc::TopLevel.all_classes_and_modules.each do |cls|
55
- build_class_list(template_cache, cls, @files[0], RDoc::Generator::CLASS_DIR)
56
- end
57
- end
58
-
59
- def build_class_list(template_cache, from, html_file, class_dir)
60
- @classes << RDoc::Generator::Class.new(template_cache, from, html_file,
61
- class_dir, @options)
62
- from.each_classmodule do |mod|
63
- build_class_list(template_cache, mod, html_file, class_dir)
64
- end
65
- end
66
-
67
- ##
68
- # Generate all the HTML. For the one-file case, we generate
69
- # all the information in to one big hash
70
-
71
- def generate_xml
72
- values = {
73
- :charset => @options.charset,
74
- :files => gen_into(@files),
75
- :classes => gen_into(@classes)
76
- }
77
-
78
- template = RDoc::TemplatePage.new @template::ONE_PAGE
79
-
80
- if @options.op_name
81
- opfile = File.open(@options.op_name, "w")
82
- else
83
- opfile = $stdout
84
- end
85
- template.write_html_on(opfile, values)
86
- end
87
-
88
- def gen_into(list)
89
- res = []
90
- list.each do |item|
91
- res << item.value_hash
92
- end
93
- res
94
- end
95
-
96
- def gen_file_index
97
- gen_an_index(@files, 'Files')
98
- end
99
-
100
- def gen_class_index
101
- gen_an_index(@classes, 'Classes')
102
- end
103
-
104
- def gen_method_index
105
- gen_an_index(RDoc::Generator::HtmlMethod.all_methods, 'Methods')
106
- end
107
-
108
- def gen_an_index(collection, title)
109
- res = []
110
- collection.sort.each do |f|
111
- if f.document_self
112
- res << { :href => f.path, :name => f.index_name }
113
- end
114
- end
115
-
116
- return {
117
- :entries => res,
118
- :list_title => title,
119
- :index_url => main_url,
120
- }
121
- end
122
-
123
- end
124
-
@@ -1,113 +0,0 @@
1
- require 'rdoc/generator/xml'
2
-
3
- module RDoc::Generator::XML::RDF
4
-
5
- CONTENTS_RDF = <<-EOF
6
- <% if defined? classes and classes[:description] then %>
7
- <description rd:parseType="Literal">
8
- <%= classes[:description] %>
9
- </description>
10
- <% end %>
11
-
12
- <% if defined? files and files[:requires] then %>
13
- <% files[:requires].each do |requires| %>
14
- <rd:required-file rd:name="<%= requires[:name] %>" />
15
- <% end # files[:requires] %>
16
- <% end %>
17
-
18
- <% if defined? classes and classes[:includes] then %>
19
- <IncludedModuleList>
20
- <% classes[:includes].each do |includes| %>
21
- <included-module rd:name="<%= includes[:name] %>" />
22
- <% end # includes[:includes] %>
23
- </IncludedModuleList>
24
- <% end %>
25
-
26
- <% if defined? classes and classes[:sections] then %>
27
- <% classes[:sections].each do |sections| %>
28
- <% if sections[:attributes] then %>
29
- <% sections[:attributes].each do |attributes| %>
30
- <contents>
31
- <Attribute rd:name="<%= attributes[:name] %>">
32
- <% if attributes[:rw] then %>
33
- <attribute-rw><%= attributes[:rw] %></attribute-rw>
34
- <% end %>
35
- <description rdf:parseType="Literal"><%= attributes[:a_desc] %></description>
36
- </Attribute>
37
- </contents>
38
- <% end # sections[:attributes] %>
39
- <% end %>
40
-
41
- <% if sections[:method_list] then %>
42
- <% sections[:method_list].each do |method_list| %>
43
- <% if method_list[:methods] then %>
44
- <% method_list[:methods].each do |methods| %>
45
- <contents>
46
- <Method rd:name="<%= methods[:name] %>" rd:visibility="<%= methods[:type] %>"
47
- rd:category="<%= methods[:category] %>" rd:id="<%= methods[:aref] %>">
48
- <parameters><%= methods[:params] %></parameters>
49
- <% if methods[:m_desc] then %>
50
- <description rdf:parseType="Literal">
51
- <%= methods[:m_desc] %>
52
- </description>
53
- <% end %>
54
- <% if methods[:sourcecode] then %>
55
- <source-code-listing rdf:parseType="Literal">
56
- <%= methods[:sourcecode] %>
57
- </source-code-listing>
58
- <% end %>
59
- </Method>
60
- </contents>
61
- <% end # method_list[:methods] %>
62
- <% end %>
63
- <% end # sections[:method_list] %>
64
- <% end %>
65
- <!-- end method list -->
66
- <% end # classes[:sections] %>
67
- <% end %>
68
- EOF
69
-
70
- ########################################################################
71
-
72
- ONE_PAGE = %{<?xml version="1.0" encoding="utf-8"?>
73
- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
74
- xmlns="http://pragprog.com/rdoc/rdoc.rdf#"
75
- xmlns:rd="http://pragprog.com/rdoc/rdoc.rdf#">
76
-
77
- <!-- RDoc -->
78
- <% values[:files].each do |files| %>
79
- <rd:File rd:name="<%= files[:short_name] %>" rd:id="<%= files[:href] %>">
80
- <path><%= files[:full_path] %></path>
81
- <dtm-modified><%= files[:dtm_modified] %></dtm-modified>
82
- } + CONTENTS_RDF + %{
83
- </rd:File>
84
- <% end # values[:files] %>
85
- <% values[:classes].each do |classes| %>
86
- <<%= values[:classmod] %> rd:name="<%= classes[:full_name] %>" rd:id="<%= classes[:full_name] %>">
87
- <classmod-info>
88
- <% if classes[:infiles] then %>
89
- <InFiles>
90
- <% classes[:infiles].each do |infiles| %>
91
- <infile>
92
- <File rd:name="<%= infiles[:full_path] %>"
93
- <% if infiles[:full_path_url] then %>
94
- rdf:about="<%= infiles[:full_path_url] %>"
95
- <% end %>
96
- />
97
- </infile>
98
- <% end # classes[:infiles] %>
99
- </InFiles>
100
- <% end %>
101
- <% if classes[:parent] then %>
102
- <superclass><%= href classes[:par_url], classes[:parent] %></superclass>
103
- <% end %>
104
- </classmod-info>
105
- } + CONTENTS_RDF + %{
106
- </<%= classes[:classmod] %>>
107
- <% end # values[:classes] %>
108
- <!-- /RDoc -->
109
- </rdf:RDF>
110
- }
111
-
112
- end
113
-
@@ -1,123 +0,0 @@
1
- require 'rdoc/generator/xml'
2
-
3
- module RDoc::Generator::XML::XML
4
-
5
- CONTENTS_XML = <<-EOF
6
- <% if defined? classes and classes[:description] then %>
7
- <description>
8
- <%= classes[:description] %>
9
- </description>
10
- <% end %>
11
- <contents>
12
- <% if defined? files and files[:requires] then %>
13
- <required-file-list>
14
- <% files[:requires].each do |requires| %>
15
- <required-file name="<%= requires[:name] %>"
16
- <% if requires[:aref] then %>
17
- href="<%= requires[:aref] %>"
18
- <% end %>
19
- />
20
- <% end %><%# files[:requires] %>
21
- </required-file-list>
22
- <% end %>
23
- <% if defined? classes and classes[:sections] then %>
24
- <% classes[:sections].each do |sections| %>
25
- <% if sections[:constants] then %>
26
- <constant-list>
27
- <% sections[:constants].each do |constant| %>
28
- <constant name="<%= constant[:name] %>">
29
- <% if constant[:value] then %>
30
- <value><%= constant[:value] %></value>
31
- <% end %>
32
- <description><%= constant[:a_desc] %></description>
33
- </constant>
34
- <% end %><%# sections[:constants] %>
35
- </constant-list>
36
- <% end %>
37
- <% if sections[:attributes] then %>
38
- <attribute-list>
39
- <% sections[:attributes].each do |attributes| %>
40
- <attribute name="<%= attributes[:name] %>">
41
- <% if attributes[:rw] then %>
42
- <attribute-rw><%= attributes[:rw] %></attribute-rw>
43
- <% end %>
44
- <description><%= attributes[:a_desc] %></description>
45
- </attribute>
46
- <% end %><%# sections[:attributes] %>
47
- </attribute-list>
48
- <% end %>
49
- <% if sections[:method_list] then %>
50
- <method-list>
51
- <% sections[:method_list].each do |method_list| %>
52
- <% if method_list[:methods] then %>
53
- <% method_list[:methods].each do |methods| %>
54
- <method name="<%= methods[:name] %>" type="<%= method_list[:type] %>" category="<%= method_list[:category] %>" id="<%= methods[:aref] %>">
55
- <parameters><%= methods[:params] %></parameters>
56
- <% if methods[:m_desc] then %>
57
- <description>
58
- <%= methods[:m_desc] %>
59
- </description>
60
- <% end %>
61
- <% if methods[:sourcecode] then %>
62
- <source-code-listing>
63
- <%= methods[:sourcecode] %>
64
- </source-code-listing>
65
- <% end %>
66
- </method>
67
- <% end %><%# method_list[:methods] %>
68
- <% end %>
69
- <% end %><%# sections[:method_list] %>
70
- </method-list>
71
- <% end %>
72
- <% end %><%# classes[:sections] %>
73
- <% end %>
74
- <% if defined? classes and classes[:includes] then %>
75
- <included-module-list>
76
- <% classes[:includes].each do |includes| %>
77
- <included-module name="<%= includes[:name] %>"
78
- <% if includes[:aref] then %>
79
- href="<%= includes[:aref] %>"
80
- <% end %>
81
- />
82
- <% end %><%# classes[:includes] %>
83
- </included-module-list>
84
- <% end %>
85
- </contents>
86
- EOF
87
-
88
- ONE_PAGE = %{<?xml version="1.0" encoding="utf-8"?>
89
- <rdoc>
90
- <file-list>
91
- <% values[:files].each do |files| %>
92
- <file name="<%= files[:short_name] %>" id="<%= files[:href] %>">
93
- <file-info>
94
- <path><%= files[:full_path] %></path>
95
- <dtm-modified><%= files[:dtm_modified] %></dtm-modified>
96
- </file-info>
97
- } + CONTENTS_XML + %{
98
- </file>
99
- <% end %><%# values[:files] %>
100
- </file-list>
101
- <class-module-list>
102
- <% values[:classes].each do |classes| %>
103
- <<%= classes[:classmod] %> name="<%= classes[:full_name] %>" id="<%= classes[:full_name] %>">
104
- <classmod-info>
105
- <% if classes[:infiles] then %>
106
- <infiles>
107
- <% classes[:infiles].each do |infiles| %>
108
- <infile><%= href infiles[:full_path_url], infiles[:full_path] %></infile>
109
- <% end %><%# classes[:infiles] %>
110
- </infiles>
111
- <% end %>
112
- <% if classes[:parent] then %>
113
- <superclass><%= href classes[:par_url], classes[:parent] %></superclass>
114
- <% end %>
115
- </classmod-info>
116
- } + CONTENTS_XML + %{
117
- </<%= classes[:classmod] %>>
118
- <% end %><%# values[:classes] %>
119
- </class-module-list>
120
- </rdoc>
121
- }
122
-
123
- end