rdoc 3.1 → 6.3.3

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 (247) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTING.rdoc +220 -0
  3. data/CVE-2013-0256.rdoc +49 -0
  4. data/ExampleMarkdown.md +37 -0
  5. data/ExampleRDoc.rdoc +208 -0
  6. data/Gemfile +12 -0
  7. data/History.rdoc +1666 -0
  8. data/LEGAL.rdoc +50 -0
  9. data/LICENSE.rdoc +57 -0
  10. data/README.rdoc +129 -0
  11. data/RI.rdoc +57 -0
  12. data/Rakefile +84 -81
  13. data/TODO.rdoc +59 -0
  14. data/bin/console +7 -0
  15. data/bin/setup +6 -0
  16. data/{bin → exe}/rdoc +11 -2
  17. data/exe/ri +12 -0
  18. data/lib/rdoc/alias.rb +1 -2
  19. data/lib/rdoc/anon_class.rb +3 -2
  20. data/lib/rdoc/any_method.rb +234 -40
  21. data/lib/rdoc/attr.rb +79 -11
  22. data/lib/rdoc/class_module.rb +443 -71
  23. data/lib/rdoc/code_object.rb +216 -20
  24. data/lib/rdoc/code_objects.rb +4 -21
  25. data/lib/rdoc/comment.rb +250 -0
  26. data/lib/rdoc/constant.rb +110 -9
  27. data/lib/rdoc/context/section.rb +232 -0
  28. data/lib/rdoc/context.rb +392 -172
  29. data/lib/rdoc/cross_reference.rb +202 -0
  30. data/lib/rdoc/encoding.rb +83 -28
  31. data/lib/rdoc/erb_partial.rb +19 -0
  32. data/lib/rdoc/erbio.rb +8 -3
  33. data/lib/rdoc/extend.rb +10 -0
  34. data/lib/rdoc/generator/darkfish.rb +507 -84
  35. data/lib/rdoc/generator/json_index.rb +300 -0
  36. data/lib/rdoc/generator/markup.rb +27 -74
  37. data/lib/rdoc/generator/pot/message_extractor.rb +68 -0
  38. data/lib/rdoc/generator/pot/po.rb +84 -0
  39. data/lib/rdoc/generator/pot/po_entry.rb +141 -0
  40. data/lib/rdoc/generator/pot.rb +98 -0
  41. data/lib/rdoc/generator/ri.rb +8 -62
  42. data/lib/rdoc/generator/template/darkfish/_footer.rhtml +5 -0
  43. data/lib/rdoc/generator/template/darkfish/_head.rhtml +22 -0
  44. data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +19 -0
  45. data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +9 -0
  46. data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +15 -0
  47. data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +9 -0
  48. data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +15 -0
  49. data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +15 -0
  50. data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +12 -0
  51. data/lib/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml +11 -0
  52. data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +12 -0
  53. data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +11 -0
  54. data/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml +14 -0
  55. data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +11 -0
  56. data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +18 -0
  57. data/lib/rdoc/generator/template/darkfish/class.rhtml +172 -0
  58. data/lib/rdoc/generator/template/darkfish/css/fonts.css +167 -0
  59. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +639 -0
  60. data/lib/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf +0 -0
  61. data/lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf +0 -0
  62. data/lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf +0 -0
  63. data/lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf +0 -0
  64. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
  65. data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
  66. data/lib/rdoc/generator/template/darkfish/images/add.png +0 -0
  67. data/lib/rdoc/generator/template/darkfish/images/arrow_up.png +0 -0
  68. data/lib/rdoc/generator/template/darkfish/images/delete.png +0 -0
  69. data/lib/rdoc/generator/template/darkfish/images/tag_blue.png +0 -0
  70. data/lib/rdoc/generator/template/darkfish/images/transparent.png +0 -0
  71. data/lib/rdoc/generator/template/darkfish/index.rhtml +18 -60
  72. data/lib/rdoc/generator/template/darkfish/js/darkfish.js +51 -83
  73. data/lib/rdoc/generator/template/darkfish/js/search.js +110 -0
  74. data/lib/rdoc/generator/template/darkfish/page.rhtml +18 -0
  75. data/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml +18 -0
  76. data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +62 -0
  77. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +58 -0
  78. data/lib/rdoc/generator/template/json_index/.document +1 -0
  79. data/lib/rdoc/generator/template/json_index/js/navigation.js +105 -0
  80. data/lib/rdoc/generator/template/json_index/js/searcher.js +229 -0
  81. data/lib/rdoc/generator.rb +24 -13
  82. data/lib/rdoc/ghost_method.rb +1 -2
  83. data/lib/rdoc/i18n/locale.rb +102 -0
  84. data/lib/rdoc/i18n/text.rb +126 -0
  85. data/lib/rdoc/i18n.rb +10 -0
  86. data/lib/rdoc/include.rb +5 -95
  87. data/lib/rdoc/known_classes.rb +5 -2
  88. data/lib/rdoc/markdown/entities.rb +2132 -0
  89. data/lib/rdoc/markdown/literals.kpeg +23 -0
  90. data/lib/rdoc/markdown/literals.rb +416 -0
  91. data/lib/rdoc/markdown.kpeg +1237 -0
  92. data/lib/rdoc/markdown.rb +16684 -0
  93. data/lib/rdoc/markup/attr_changer.rb +23 -0
  94. data/lib/rdoc/markup/attr_span.rb +36 -0
  95. data/lib/rdoc/markup/attribute_manager.rb +135 -62
  96. data/lib/rdoc/markup/attributes.rb +71 -0
  97. data/lib/rdoc/markup/blank_line.rb +1 -0
  98. data/lib/rdoc/markup/block_quote.rb +15 -0
  99. data/lib/rdoc/markup/document.rb +96 -9
  100. data/lib/rdoc/markup/formatter.rb +138 -25
  101. data/lib/rdoc/markup/hard_break.rb +32 -0
  102. data/lib/rdoc/markup/heading.rb +61 -2
  103. data/lib/rdoc/markup/include.rb +43 -0
  104. data/lib/rdoc/markup/indented_paragraph.rb +48 -0
  105. data/lib/rdoc/markup/list.rb +25 -4
  106. data/lib/rdoc/markup/list_item.rb +18 -4
  107. data/lib/rdoc/markup/paragraph.rb +15 -0
  108. data/lib/rdoc/markup/parser.rb +180 -88
  109. data/lib/rdoc/markup/pre_process.rb +183 -38
  110. data/lib/rdoc/markup/raw.rb +6 -5
  111. data/lib/rdoc/markup/regexp_handling.rb +41 -0
  112. data/lib/rdoc/markup/rule.rb +1 -0
  113. data/lib/rdoc/markup/table.rb +47 -0
  114. data/lib/rdoc/markup/to_ansi.rb +17 -7
  115. data/lib/rdoc/markup/to_bs.rb +5 -8
  116. data/lib/rdoc/markup/to_html.rb +238 -137
  117. data/lib/rdoc/markup/to_html_crossref.rb +125 -152
  118. data/lib/rdoc/markup/to_html_snippet.rb +285 -0
  119. data/lib/rdoc/markup/to_joined_paragraph.rb +47 -0
  120. data/lib/rdoc/markup/to_label.rb +75 -0
  121. data/lib/rdoc/markup/to_markdown.rb +192 -0
  122. data/lib/rdoc/markup/to_rdoc.rb +85 -15
  123. data/lib/rdoc/markup/to_table_of_contents.rb +89 -0
  124. data/lib/rdoc/markup/to_test.rb +2 -4
  125. data/lib/rdoc/markup/to_tt_only.rb +121 -0
  126. data/lib/rdoc/markup/verbatim.rb +39 -0
  127. data/lib/rdoc/markup.rb +388 -110
  128. data/lib/rdoc/meta_method.rb +1 -2
  129. data/lib/rdoc/method_attr.rb +87 -21
  130. data/lib/rdoc/mixin.rb +121 -0
  131. data/lib/rdoc/normal_class.rb +39 -10
  132. data/lib/rdoc/normal_module.rb +22 -7
  133. data/lib/rdoc/options.rb +613 -73
  134. data/lib/rdoc/parser/c.rb +621 -287
  135. data/lib/rdoc/parser/changelog.rb +335 -0
  136. data/lib/rdoc/parser/markdown.rb +24 -0
  137. data/lib/rdoc/parser/rd.rb +23 -0
  138. data/lib/rdoc/parser/ripper_state_lex.rb +590 -0
  139. data/lib/rdoc/parser/ruby.rb +1368 -762
  140. data/lib/rdoc/parser/ruby_tools.rb +42 -35
  141. data/lib/rdoc/parser/simple.rb +23 -11
  142. data/lib/rdoc/parser/text.rb +12 -0
  143. data/lib/rdoc/parser.rb +162 -89
  144. data/lib/rdoc/rd/block_parser.rb +1056 -0
  145. data/lib/rdoc/rd/block_parser.ry +639 -0
  146. data/lib/rdoc/rd/inline.rb +72 -0
  147. data/lib/rdoc/rd/inline_parser.rb +1208 -0
  148. data/lib/rdoc/rd/inline_parser.ry +593 -0
  149. data/lib/rdoc/rd.rb +100 -0
  150. data/lib/rdoc/rdoc.rb +208 -115
  151. data/lib/rdoc/require.rb +1 -2
  152. data/lib/rdoc/ri/driver.rb +734 -239
  153. data/lib/rdoc/ri/formatter.rb +1 -0
  154. data/lib/rdoc/ri/paths.rb +91 -48
  155. data/lib/rdoc/ri/store.rb +3 -261
  156. data/lib/rdoc/ri/task.rb +71 -0
  157. data/lib/rdoc/ri.rb +5 -2
  158. data/lib/rdoc/rubygems_hook.rb +246 -0
  159. data/lib/rdoc/servlet.rb +451 -0
  160. data/lib/rdoc/single_class.rb +14 -2
  161. data/lib/rdoc/stats/normal.rb +19 -12
  162. data/lib/rdoc/stats/quiet.rb +1 -0
  163. data/lib/rdoc/stats/verbose.rb +1 -0
  164. data/lib/rdoc/stats.rb +262 -104
  165. data/lib/rdoc/store.rb +979 -0
  166. data/lib/rdoc/task.rb +84 -44
  167. data/lib/rdoc/text.rb +117 -72
  168. data/lib/rdoc/token_stream.rb +73 -4
  169. data/lib/rdoc/tom_doc.rb +263 -0
  170. data/lib/rdoc/top_level.rb +111 -261
  171. data/lib/rdoc/version.rb +8 -0
  172. data/lib/rdoc.rb +127 -64
  173. data/man/ri.1 +247 -0
  174. data/rdoc.gemspec +249 -0
  175. metadata +171 -291
  176. data/.autotest +0 -16
  177. data/.document +0 -5
  178. data/History.txt +0 -594
  179. data/LICENSE.txt +0 -57
  180. data/Manifest.txt +0 -158
  181. data/README.txt +0 -45
  182. data/RI.txt +0 -58
  183. data/bin/ri +0 -5
  184. data/lib/rdoc/gauntlet.rb +0 -52
  185. data/lib/rdoc/generator/template/darkfish/classpage.rhtml +0 -296
  186. data/lib/rdoc/generator/template/darkfish/filepage.rhtml +0 -124
  187. data/lib/rdoc/generator/template/darkfish/js/jquery.js +0 -32
  188. data/lib/rdoc/generator/template/darkfish/js/quicksearch.js +0 -114
  189. data/lib/rdoc/generator/template/darkfish/js/thickbox-compressed.js +0 -10
  190. data/lib/rdoc/generator/template/darkfish/rdoc.css +0 -706
  191. data/lib/rdoc/markup/formatter_test_case.rb +0 -689
  192. data/lib/rdoc/markup/inline.rb +0 -137
  193. data/lib/rdoc/markup/text_formatter_test_case.rb +0 -116
  194. data/lib/rdoc/ruby_lex.rb +0 -1291
  195. data/lib/rdoc/ruby_token.rb +0 -416
  196. data/test/README +0 -1
  197. data/test/binary.dat +0 -0
  198. data/test/hidden.zip.txt +0 -1
  199. data/test/test.ja.rdoc +0 -10
  200. data/test/test.ja.txt +0 -8
  201. data/test/test.txt +0 -1
  202. data/test/test_attribute_manager.rb +0 -120
  203. data/test/test_rdoc_alias.rb +0 -13
  204. data/test/test_rdoc_any_method.rb +0 -126
  205. data/test/test_rdoc_attr.rb +0 -61
  206. data/test/test_rdoc_class_module.rb +0 -233
  207. data/test/test_rdoc_code_object.rb +0 -165
  208. data/test/test_rdoc_constant.rb +0 -15
  209. data/test/test_rdoc_context.rb +0 -370
  210. data/test/test_rdoc_encoding.rb +0 -166
  211. data/test/test_rdoc_generator_darkfish.rb +0 -119
  212. data/test/test_rdoc_generator_ri.rb +0 -76
  213. data/test/test_rdoc_include.rb +0 -96
  214. data/test/test_rdoc_markup.rb +0 -37
  215. data/test/test_rdoc_markup_attribute_manager.rb +0 -240
  216. data/test/test_rdoc_markup_document.rb +0 -51
  217. data/test/test_rdoc_markup_paragraph.rb +0 -9
  218. data/test/test_rdoc_markup_parser.rb +0 -1395
  219. data/test/test_rdoc_markup_pre_process.rb +0 -185
  220. data/test/test_rdoc_markup_raw.rb +0 -27
  221. data/test/test_rdoc_markup_to_ansi.rb +0 -328
  222. data/test/test_rdoc_markup_to_bs.rb +0 -341
  223. data/test/test_rdoc_markup_to_html.rb +0 -335
  224. data/test/test_rdoc_markup_to_html_crossref.rb +0 -169
  225. data/test/test_rdoc_markup_to_rdoc.rb +0 -327
  226. data/test/test_rdoc_method_attr.rb +0 -122
  227. data/test/test_rdoc_normal_class.rb +0 -17
  228. data/test/test_rdoc_normal_module.rb +0 -31
  229. data/test/test_rdoc_options.rb +0 -342
  230. data/test/test_rdoc_parser.rb +0 -83
  231. data/test/test_rdoc_parser_c.rb +0 -912
  232. data/test/test_rdoc_parser_ruby.rb +0 -1754
  233. data/test/test_rdoc_parser_simple.rb +0 -99
  234. data/test/test_rdoc_rdoc.rb +0 -164
  235. data/test/test_rdoc_require.rb +0 -25
  236. data/test/test_rdoc_ri_driver.rb +0 -846
  237. data/test/test_rdoc_ri_paths.rb +0 -43
  238. data/test/test_rdoc_ri_store.rb +0 -352
  239. data/test/test_rdoc_ruby_lex.rb +0 -23
  240. data/test/test_rdoc_stats.rb +0 -38
  241. data/test/test_rdoc_task.rb +0 -92
  242. data/test/test_rdoc_text.rb +0 -251
  243. data/test/test_rdoc_top_level.rb +0 -120
  244. data/test/xref_data.rb +0 -62
  245. data/test/xref_test_case.rb +0 -61
  246. data.tar.gz.sig +0 -3
  247. metadata.gz.sig +0 -0
@@ -0,0 +1,141 @@
1
+ # frozen_string_literal: true
2
+ ##
3
+ # A PO entry in PO
4
+
5
+ class RDoc::Generator::POT::POEntry
6
+
7
+ # The msgid content
8
+ attr_reader :msgid
9
+
10
+ # The msgstr content
11
+ attr_reader :msgstr
12
+
13
+ # The comment content created by translator (PO editor)
14
+ attr_reader :translator_comment
15
+
16
+ # The comment content extracted from source file
17
+ attr_reader :extracted_comment
18
+
19
+ # The locations where the PO entry is extracted
20
+ attr_reader :references
21
+
22
+ # The flags of the PO entry
23
+ attr_reader :flags
24
+
25
+ ##
26
+ # Creates a PO entry for +msgid+. Other valus can be specified by
27
+ # +options+.
28
+
29
+ def initialize msgid, options = {}
30
+ @msgid = msgid
31
+ @msgstr = options[:msgstr] || ""
32
+ @translator_comment = options[:translator_comment]
33
+ @extracted_comment = options[:extracted_comment]
34
+ @references = options[:references] || []
35
+ @flags = options[:flags] || []
36
+ end
37
+
38
+ ##
39
+ # Returns the PO entry in PO format.
40
+
41
+ def to_s
42
+ entry = ''
43
+ entry += format_translator_comment
44
+ entry += format_extracted_comment
45
+ entry += format_references
46
+ entry += format_flags
47
+ entry += <<-ENTRY
48
+ msgid #{format_message(@msgid)}
49
+ msgstr #{format_message(@msgstr)}
50
+ ENTRY
51
+ end
52
+
53
+ ##
54
+ # Merges the PO entry with +other_entry+.
55
+
56
+ def merge other_entry
57
+ options = {
58
+ :extracted_comment => merge_string(@extracted_comment,
59
+ other_entry.extracted_comment),
60
+ :translator_comment => merge_string(@translator_comment,
61
+ other_entry.translator_comment),
62
+ :references => merge_array(@references,
63
+ other_entry.references),
64
+ :flags => merge_array(@flags,
65
+ other_entry.flags),
66
+ }
67
+ self.class.new(@msgid, options)
68
+ end
69
+
70
+ private
71
+
72
+ def format_comment mark, comment
73
+ return '' unless comment
74
+ return '' if comment.empty?
75
+
76
+ formatted_comment = ''
77
+ comment.each_line do |line|
78
+ formatted_comment += "#{mark} #{line}"
79
+ end
80
+ formatted_comment += "\n" unless formatted_comment.end_with?("\n")
81
+ formatted_comment
82
+ end
83
+
84
+ def format_translator_comment
85
+ format_comment('#', @translator_comment)
86
+ end
87
+
88
+ def format_extracted_comment
89
+ format_comment('#.', @extracted_comment)
90
+ end
91
+
92
+ def format_references
93
+ return '' if @references.empty?
94
+
95
+ formatted_references = ''
96
+ @references.sort.each do |file, line|
97
+ formatted_references += "\#: #{file}:#{line}\n"
98
+ end
99
+ formatted_references
100
+ end
101
+
102
+ def format_flags
103
+ return '' if @flags.empty?
104
+
105
+ formatted_flags = flags.join(",")
106
+ "\#, #{formatted_flags}\n"
107
+ end
108
+
109
+ def format_message message
110
+ return "\"#{escape(message)}\"" unless message.include?("\n")
111
+
112
+ formatted_message = '""'
113
+ message.each_line do |line|
114
+ formatted_message += "\n"
115
+ formatted_message += "\"#{escape(line)}\""
116
+ end
117
+ formatted_message
118
+ end
119
+
120
+ def escape string
121
+ string.gsub(/["\\\t\n]/) do |special_character|
122
+ case special_character
123
+ when "\t"
124
+ "\\t"
125
+ when "\n"
126
+ "\\n"
127
+ else
128
+ "\\#{special_character}"
129
+ end
130
+ end
131
+ end
132
+
133
+ def merge_string string1, string2
134
+ [string1, string2].compact.join("\n")
135
+ end
136
+
137
+ def merge_array array1, array2
138
+ (array1 + array2).uniq
139
+ end
140
+
141
+ end
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+ ##
3
+ # Generates a POT file.
4
+ #
5
+ # Here is a translator work flow with the generator.
6
+ #
7
+ # == Create .pot
8
+ #
9
+ # You create .pot file by pot formatter:
10
+ #
11
+ # % rdoc --format pot
12
+ #
13
+ # It generates doc/rdoc.pot.
14
+ #
15
+ # == Create .po
16
+ #
17
+ # You create .po file from doc/rdoc.pot. This operation is needed only
18
+ # the first time. This work flow assumes that you are a translator
19
+ # for Japanese.
20
+ #
21
+ # You create locale/ja/rdoc.po from doc/rdoc.pot. You can use msginit
22
+ # provided by GNU gettext or rmsginit provided by gettext gem. This
23
+ # work flow uses gettext gem because it is more portable than GNU
24
+ # gettext for Rubyists. Gettext gem is implemented by pure Ruby.
25
+ #
26
+ # % gem install gettext
27
+ # % mkdir -p locale/ja
28
+ # % rmsginit --input doc/rdoc.pot --output locale/ja/rdoc.po --locale ja
29
+ #
30
+ # Translate messages in .po
31
+ #
32
+ # You translate messages in .po by a PO file editor. po-mode.el exists
33
+ # for Emacs users. There are some GUI tools such as GTranslator.
34
+ # There are some Web services such as POEditor and Tansifex. You can
35
+ # edit by your favorite text editor because .po is a text file.
36
+ # Generate localized documentation
37
+ #
38
+ # You can generate localized documentation with locale/ja/rdoc.po:
39
+ #
40
+ # % rdoc --locale ja
41
+ #
42
+ # You can find documentation in Japanese in doc/. Yay!
43
+ #
44
+ # == Update translation
45
+ #
46
+ # You need to update translation when your application is added or
47
+ # modified messages.
48
+ #
49
+ # You can update .po by the following command lines:
50
+ #
51
+ # % rdoc --format pot
52
+ # % rmsgmerge --update locale/ja/rdoc.po doc/rdoc.pot
53
+ #
54
+ # You edit locale/ja/rdoc.po to translate new messages.
55
+
56
+ class RDoc::Generator::POT
57
+
58
+ RDoc::RDoc.add_generator self
59
+
60
+ ##
61
+ # Description of this generator
62
+
63
+ DESCRIPTION = 'creates .pot file'
64
+
65
+ ##
66
+ # Set up a new .pot generator
67
+
68
+ def initialize store, options #:not-new:
69
+ @options = options
70
+ @store = store
71
+ end
72
+
73
+ ##
74
+ # Writes .pot to disk.
75
+
76
+ def generate
77
+ po = extract_messages
78
+ pot_path = 'rdoc.pot'
79
+ File.open(pot_path, "w") do |pot|
80
+ pot.print(po.to_s)
81
+ end
82
+ end
83
+
84
+ def class_dir
85
+ nil
86
+ end
87
+
88
+ private
89
+ def extract_messages
90
+ extractor = MessageExtractor.new(@store)
91
+ extractor.extract
92
+ end
93
+
94
+ require_relative 'pot/message_extractor'
95
+ require_relative 'pot/po'
96
+ require_relative 'pot/po_entry'
97
+
98
+ end
@@ -1,6 +1,4 @@
1
- require 'rdoc/generator'
2
- require 'rdoc/ri'
3
-
1
+ # frozen_string_literal: true
4
2
  ##
5
3
  # Generates ri data files
6
4
 
@@ -16,69 +14,17 @@ class RDoc::Generator::RI
16
14
  ##
17
15
  # Set up a new ri generator
18
16
 
19
- def initialize options #:not-new:
20
- @options = options
21
- @store = RDoc::RI::Store.new '.'
22
- @old_siginfo = nil
23
- @current = nil
24
-
25
- @store.dry_run = @options.dry_run
26
- end
27
-
28
- ##
29
- # Build the initial indices and output objects based on an array of TopLevel
30
- # objects containing the extracted information.
31
-
32
- def generate top_levels
33
- install_siginfo_handler
34
-
35
- @store.load_cache
36
-
37
- RDoc::TopLevel.all_classes_and_modules.each do |klass|
38
- @current = "#{klass.class}: #{klass.full_name}"
39
-
40
- @store.save_class klass
41
-
42
- klass.each_method do |method|
43
- @current = "#{method.class}: #{method.full_name}"
44
- @store.save_method klass, method
45
- end
46
-
47
- klass.each_attribute do |attribute|
48
- @store.save_method klass, attribute
49
- end
50
- end
51
-
52
- @current = 'saving cache'
53
-
54
- @store.save_cache
55
-
56
- ensure
57
- @current = nil
58
-
59
- remove_siginfo_handler
17
+ def initialize store, options #:not-new:
18
+ @options = options
19
+ @store = store
20
+ @store.path = '.'
60
21
  end
61
22
 
62
23
  ##
63
- # Installs a siginfo handler that prints the current filename.
64
-
65
- def install_siginfo_handler
66
- return unless Signal.list.key? 'INFO'
67
-
68
- @old_siginfo = trap 'INFO' do
69
- puts @current if @current
70
- end
71
- end
72
-
73
- ##
74
- # Removes a siginfo handler and replaces the previous
75
-
76
- def remove_siginfo_handler
77
- return unless Signal.list.key? 'INFO'
78
-
79
- handler = @old_siginfo || 'DEFAULT'
24
+ # Writes the parsed data store to disk for use by ri.
80
25
 
81
- trap 'INFO', handler
26
+ def generate
27
+ @store.save
82
28
  end
83
29
 
84
30
  end
@@ -0,0 +1,5 @@
1
+ <footer id="validator-badges" role="contentinfo">
2
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
3
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> <%= RDoc::VERSION %>.
4
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
5
+ </footer>
@@ -0,0 +1,22 @@
1
+ <meta charset="<%= @options.charset %>">
2
+
3
+ <title><%= h @title %></title>
4
+
5
+ <script type="text/javascript">
6
+ var rdoc_rel_prefix = "<%= asset_rel_prefix %>/";
7
+ var index_rel_prefix = "<%= rel_prefix %>/";
8
+ </script>
9
+
10
+ <script src="<%= asset_rel_prefix %>/js/navigation.js" defer></script>
11
+ <script src="<%= asset_rel_prefix %>/js/search.js" defer></script>
12
+ <script src="<%= asset_rel_prefix %>/js/search_index.js" defer></script>
13
+ <script src="<%= asset_rel_prefix %>/js/searcher.js" defer></script>
14
+ <script src="<%= asset_rel_prefix %>/js/darkfish.js" defer></script>
15
+
16
+ <link href="<%= asset_rel_prefix %>/css/fonts.css" rel="stylesheet">
17
+ <link href="<%= asset_rel_prefix %>/css/rdoc.css" rel="stylesheet">
18
+ <%- if @options.template_stylesheets.flatten.any? then -%>
19
+ <%- @options.template_stylesheets.flatten.each do |stylesheet| -%>
20
+ <link href="<%= asset_rel_prefix %>/<%= File.basename stylesheet %>" rel="stylesheet">
21
+ <%- end -%>
22
+ <%- end -%>
@@ -0,0 +1,19 @@
1
+ <%- if !svninfo.empty? then %>
2
+ <div id="file-svninfo-section" class="nav-section">
3
+ <h3>VCS Info</h3>
4
+
5
+ <div class="section-body">
6
+ <dl class="svninfo">
7
+ <dt>Rev
8
+ <dd><%= svninfo[:rev] %>
9
+
10
+ <dt>Last Checked In
11
+ <dd><%= svninfo[:commitdate].strftime('%Y-%m-%d %H:%M:%S') %>
12
+ (<%= svninfo[:commitdelta] %> ago)
13
+
14
+ <dt>Checked in by
15
+ <dd><%= svninfo[:committer] %>
16
+ </dl>
17
+ </div>
18
+ </div>
19
+ <%- end -%>
@@ -0,0 +1,9 @@
1
+ <div id="classindex-section" class="nav-section">
2
+ <h3>Class and Module Index</h3>
3
+
4
+ <ul class="link-list">
5
+ <%- @modsort.each do |index_klass| -%>
6
+ <li><a href="<%= rel_prefix %>/<%= index_klass.path %>"><%= index_klass.full_name %></a>
7
+ <%- end -%>
8
+ </ul>
9
+ </div>
@@ -0,0 +1,15 @@
1
+ <%- unless klass.extends.empty? then %>
2
+ <div id="extends-section" class="nav-section">
3
+ <h3>Extended With Modules</h3>
4
+
5
+ <ul class="link-list">
6
+ <%- klass.each_extend do |ext| -%>
7
+ <%- unless String === ext.module then -%>
8
+ <li><a class="extend" href="<%= klass.aref_to ext.module.path %>"><%= ext.module.full_name %></a>
9
+ <%- else -%>
10
+ <li><span class="extend"><%= ext.name %></span>
11
+ <%- end -%>
12
+ <%- end -%>
13
+ </ul>
14
+ </div>
15
+ <%- end -%>
@@ -0,0 +1,9 @@
1
+ <div id="file-list-section" class="nav-section">
2
+ <h3>Defined In</h3>
3
+
4
+ <ul>
5
+ <%- klass.in_files.each do |tl| -%>
6
+ <li><%= h tl.relative_name %>
7
+ <%- end -%>
8
+ </ul>
9
+ </div>
@@ -0,0 +1,15 @@
1
+ <%- unless klass.includes.empty? then %>
2
+ <div id="includes-section" class="nav-section">
3
+ <h3>Included Modules</h3>
4
+
5
+ <ul class="link-list">
6
+ <%- klass.each_include do |inc| -%>
7
+ <%- unless String === inc.module then -%>
8
+ <li><a class="include" href="<%= klass.aref_to inc.module.path %>"><%= inc.module.full_name %></a>
9
+ <%- else -%>
10
+ <li><span class="include"><%= inc.name %></span>
11
+ <%- end -%>
12
+ <%- end -%>
13
+ </ul>
14
+ </div>
15
+ <%- end -%>
@@ -0,0 +1,15 @@
1
+ <div id="home-section" class="nav-section">
2
+ <h3>Documentation</h3>
3
+
4
+ <ul>
5
+ <%- installed.each do |name, href, exists, type, _| -%>
6
+ <%- next if type == :extra -%>
7
+ <li class="folder">
8
+ <%- if exists then -%>
9
+ <a href="<%= href %>"><%= h name %></a>
10
+ <%- else -%>
11
+ <%= h name %>
12
+ <%- end -%>
13
+ <%- end -%>
14
+ </ul>
15
+ </div>
@@ -0,0 +1,12 @@
1
+ <%- unless klass.method_list.empty? then %>
2
+ <!-- Method Quickref -->
3
+ <div id="method-list-section" class="nav-section">
4
+ <h3>Methods</h3>
5
+
6
+ <ul class="link-list" role="directory">
7
+ <%- klass.each_method do |meth| -%>
8
+ <li <%- if meth.calls_super %>class="calls-super" <%- end %>><a href="#<%= meth.aref %>"><%= meth.singleton ? '::' : '#' %><%= h meth.name -%></a>
9
+ <%- end -%>
10
+ </ul>
11
+ </div>
12
+ <%- end -%>
@@ -0,0 +1,11 @@
1
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
2
+ <h2>
3
+ <a href="<%= rel_prefix %>/index.html" rel="home">Home</a>
4
+ </h2>
5
+
6
+ <div id="table-of-contents-navigation">
7
+ <a href="<%= rel_prefix %>/table_of_contents.html#pages">Pages</a>
8
+ <a href="<%= rel_prefix %>/table_of_contents.html#classes">Classes</a>
9
+ <a href="<%= rel_prefix %>/table_of_contents.html#methods">Methods</a>
10
+ </div>
11
+ </div>
@@ -0,0 +1,12 @@
1
+ <%- simple_files = @files.select { |f| f.text? } %>
2
+ <%- unless simple_files.empty? then -%>
3
+ <div id="fileindex-section" class="nav-section">
4
+ <h3>Pages</h3>
5
+
6
+ <ul class="link-list">
7
+ <%- simple_files.each do |f| -%>
8
+ <li><a href="<%= rel_prefix %>/<%= f.path %>"><%= h f.page_name %></a>
9
+ <%- end -%>
10
+ </ul>
11
+ </div>
12
+ <%- end -%>
@@ -0,0 +1,11 @@
1
+ <%- if klass.type == 'class' then %>
2
+ <div id="parent-class-section" class="nav-section">
3
+ <h3>Parent</h3>
4
+
5
+ <%- if klass.superclass and not String === klass.superclass then -%>
6
+ <p class="link"><a href="<%= klass.aref_to klass.superclass.path %>"><%= klass.superclass.full_name %></a>
7
+ <%- else -%>
8
+ <p class="link"><%= klass.superclass %>
9
+ <%- end -%>
10
+ </div>
11
+ <%- end -%>
@@ -0,0 +1,14 @@
1
+ <div id="search-section" role="search" class="project-section initially-hidden">
2
+ <form action="#" method="get" accept-charset="utf-8">
3
+ <div id="search-field-wrapper">
4
+ <input id="search-field" role="combobox" aria-label="Search"
5
+ aria-autocomplete="list" aria-controls="search-results"
6
+ type="text" name="search" placeholder="Search" spellcheck="false"
7
+ title="Type to search, Up and Down to navigate, Enter to load">
8
+ </div>
9
+
10
+ <ul id="search-results" aria-label="Search Results"
11
+ aria-busy="false" aria-expanded="false"
12
+ aria-atomic="false" class="initially-hidden"></ul>
13
+ </form>
14
+ </div>
@@ -0,0 +1,11 @@
1
+ <%- unless klass.sections.length == 1 then %>
2
+ <div id="sections-section" class="nav-section">
3
+ <h3>Sections</h3>
4
+
5
+ <ul class="link-list" role="directory">
6
+ <%- klass.sort_sections.each do |section| -%>
7
+ <li><a href="#<%= section.aref %>"><%= h section.title %></a></li>
8
+ <%- end -%>
9
+ </ul>
10
+ </div>
11
+ <%- end -%>
@@ -0,0 +1,18 @@
1
+ <%- comment = if current.respond_to? :comment_location then
2
+ current.comment_location
3
+ else
4
+ current.comment
5
+ end
6
+ table = current.parse(comment).table_of_contents
7
+
8
+ if table.length > 1 then %>
9
+ <div class="nav-section">
10
+ <h3>Table of Contents</h3>
11
+
12
+ <ul class="link-list" role="directory">
13
+ <%- table.each do |heading| -%>
14
+ <li><a href="#<%= heading.label current %>"><%= heading.plain_html %></a>
15
+ <%- end -%>
16
+ </ul>
17
+ </div>
18
+ <%- end -%>