yard 0.5.3 → 0.5.4

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

Potentially problematic release.


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

Files changed (90) hide show
  1. data/ChangeLog +443 -0
  2. data/README.md +5 -2
  3. data/docs/WhatsNew.md +8 -0
  4. data/lib/yard.rb +4 -4
  5. data/lib/yard/autoload.rb +34 -30
  6. data/lib/yard/cli/base.rb +14 -0
  7. data/lib/yard/cli/yard_graph.rb +5 -11
  8. data/lib/yard/cli/yardoc.rb +9 -8
  9. data/lib/yard/cli/yri.rb +2 -9
  10. data/lib/yard/code_objects/base.rb +9 -6
  11. data/lib/yard/code_objects/class_object.rb +5 -5
  12. data/lib/yard/code_objects/module_object.rb +3 -2
  13. data/lib/yard/core_ext/file.rb +1 -1
  14. data/lib/yard/docstring.rb +9 -20
  15. data/lib/yard/handlers/base.rb +13 -0
  16. data/lib/yard/handlers/ruby/alias_handler.rb +1 -1
  17. data/lib/yard/handlers/ruby/attribute_handler.rb +1 -1
  18. data/lib/yard/handlers/ruby/class_condition_handler.rb +1 -1
  19. data/lib/yard/handlers/ruby/class_handler.rb +1 -1
  20. data/lib/yard/handlers/ruby/class_variable_handler.rb +1 -1
  21. data/lib/yard/handlers/ruby/constant_handler.rb +1 -1
  22. data/lib/yard/handlers/ruby/exception_handler.rb +1 -1
  23. data/lib/yard/handlers/ruby/legacy/alias_handler.rb +1 -1
  24. data/lib/yard/handlers/ruby/legacy/attribute_handler.rb +1 -1
  25. data/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +8 -0
  26. data/lib/yard/handlers/ruby/legacy/class_handler.rb +1 -1
  27. data/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +1 -1
  28. data/lib/yard/handlers/ruby/legacy/constant_handler.rb +1 -1
  29. data/lib/yard/handlers/ruby/legacy/exception_handler.rb +1 -1
  30. data/lib/yard/handlers/ruby/legacy/method_handler.rb +1 -1
  31. data/lib/yard/handlers/ruby/legacy/mixin_handler.rb +1 -1
  32. data/lib/yard/handlers/ruby/legacy/module_handler.rb +1 -1
  33. data/lib/yard/handlers/ruby/legacy/process_handler.rb +12 -0
  34. data/lib/yard/handlers/ruby/legacy/visibility_handler.rb +1 -1
  35. data/lib/yard/handlers/ruby/legacy/yield_handler.rb +1 -1
  36. data/lib/yard/handlers/ruby/method_condition_handler.rb +1 -1
  37. data/lib/yard/handlers/ruby/method_handler.rb +1 -1
  38. data/lib/yard/handlers/ruby/mixin_handler.rb +1 -1
  39. data/lib/yard/handlers/ruby/module_handler.rb +1 -1
  40. data/lib/yard/handlers/ruby/process_handler.rb +12 -0
  41. data/lib/yard/handlers/ruby/visibility_handler.rb +1 -1
  42. data/lib/yard/handlers/ruby/yield_handler.rb +1 -1
  43. data/lib/yard/parser/ruby/legacy/ruby_lex.rb +1 -1
  44. data/lib/yard/parser/ruby/legacy/statement.rb +6 -0
  45. data/lib/yard/parser/ruby/legacy/statement_list.rb +9 -3
  46. data/lib/yard/parser/ruby/ruby_parser.rb +16 -0
  47. data/lib/yard/tags/default_factory.rb +9 -13
  48. data/lib/yard/tags/library.rb +7 -7
  49. data/lib/yard/tags/overload_tag.rb +4 -4
  50. data/lib/yard/templates/erb_cache.rb +18 -0
  51. data/lib/yard/templates/helpers/html_helper.rb +24 -5
  52. data/lib/yard/templates/helpers/method_helper.rb +10 -2
  53. data/lib/yard/templates/template.rb +11 -7
  54. data/spec/code_objects/class_object_spec.rb +8 -1
  55. data/spec/code_objects/module_object_spec.rb +8 -1
  56. data/spec/core_ext/file_spec.rb +5 -1
  57. data/spec/docstring_spec.rb +80 -42
  58. data/spec/handlers/class_condition_handler_spec.rb +15 -13
  59. data/spec/handlers/examples/process_handler_001.rb.txt +11 -0
  60. data/spec/handlers/process_handler_spec.rb +17 -0
  61. data/spec/parser/source_parser_spec.rb +11 -0
  62. data/spec/tags/overload_tag_spec.rb +2 -2
  63. data/spec/templates/class_spec.rb +9 -0
  64. data/spec/templates/examples/class001.html +20 -17
  65. data/spec/templates/examples/class002.html +37 -0
  66. data/spec/templates/examples/method001.html +7 -7
  67. data/spec/templates/examples/method002.html +5 -5
  68. data/spec/templates/examples/method003.html +5 -5
  69. data/spec/templates/examples/method004.html +3 -3
  70. data/spec/templates/examples/method005.html +1 -1
  71. data/spec/templates/examples/module001.html +64 -36
  72. data/spec/templates/helpers/html_helper_spec.rb +28 -0
  73. data/spec/templates/helpers/method_helper_spec.rb +28 -0
  74. data/spec/templates/module_spec.rb +10 -1
  75. data/spec/templates/template_spec.rb +4 -0
  76. data/templates/default/class/setup.rb +1 -1
  77. data/templates/default/fulldoc/html/css/style.css +6 -1
  78. data/templates/default/fulldoc/html/frames.erb +1 -1
  79. data/templates/default/fulldoc/html/full_list.erb +1 -1
  80. data/templates/default/fulldoc/html/js/app.js +12 -0
  81. data/templates/default/fulldoc/html/js/full_list.js +11 -0
  82. data/templates/default/fulldoc/html/setup.rb +2 -1
  83. data/templates/default/layout/html/headers.erb +1 -1
  84. data/templates/default/layout/html/setup.rb +1 -1
  85. data/templates/default/module/html/box_info.erb +5 -0
  86. data/templates/default/module/html/constant_summary.erb +1 -1
  87. data/templates/default/module/html/inherited_methods.erb +10 -1
  88. data/templates/default/module/html/method_summary.erb +9 -7
  89. data/templates/default/module/setup.rb +17 -3
  90. metadata +9 -2
@@ -0,0 +1,37 @@
1
+ <h1>Class: D
2
+
3
+
4
+ </h1>
5
+
6
+ <dl class="box">
7
+
8
+ <dt class="r1">Inherits:</dt>
9
+ <dd class="r1">
10
+ <span class="inheritName">Object</span>
11
+
12
+ <ul class="fullTree">
13
+ <li>Object</li>
14
+
15
+ <li class="next">D</li>
16
+
17
+ </ul>
18
+ <a href="#" class="inheritanceTree">show all</a>
19
+
20
+ </dd>
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+ <dt class="r2 last">Defined in:</dt>
30
+ <dd class="r2 last">(stdin)<span class="defines">,<br />
31
+ (stdin),<br /> (stdin)</span>
32
+ </dd>
33
+
34
+ </dl>
35
+ <div class="clear"></div>
36
+
37
+
@@ -8,8 +8,8 @@
8
8
  <div class="clear"></div>
9
9
 
10
10
  <div class="method_details_list">
11
- <div id="method_details">
12
- <div class="method_details first">
11
+ <div id="method_details">
12
+ <div class="method_details first">
13
13
  <p class="signature first" id="m-instance_method">
14
14
 
15
15
  - (<tt>String</tt>) <strong>m</strong>(x) <span class="extras">(private)</span>
@@ -22,7 +22,7 @@
22
22
 
23
23
  </p><div class="docstring">
24
24
  <div class="discussion">
25
- <p class="note deprecated"><strong>Deprecated.</strong> for great justice</p>
25
+ <p class="note deprecated"><strong>Deprecated.</strong> <div class='inline'>for great justice</div></p>
26
26
  Comments
27
27
 
28
28
  </div>
@@ -41,7 +41,7 @@ Comments
41
41
 
42
42
 
43
43
  &mdash;
44
- the x argument
44
+ <div class='inline'>the x argument</div>
45
45
 
46
46
  </li>
47
47
 
@@ -57,7 +57,7 @@ Comments
57
57
 
58
58
 
59
59
  &mdash;
60
- the result
60
+ <div class='inline'>the result</div>
61
61
 
62
62
  </li>
63
63
 
@@ -73,7 +73,7 @@ Comments
73
73
 
74
74
 
75
75
  &mdash;
76
- hi!
76
+ <div class='inline'>hi!</div>
77
77
 
78
78
  </li>
79
79
 
@@ -95,5 +95,5 @@ def m(x) end</pre>
95
95
  </tr>
96
96
  </table>
97
97
  </div>
98
+ </div>
98
99
  </div>
99
- </div>
@@ -8,8 +8,8 @@
8
8
  <div class="clear"></div>
9
9
 
10
10
  <div class="method_details_list">
11
- <div id="method_details">
12
- <div class="method_details first">
11
+ <div id="method_details">
12
+ <div class="method_details first">
13
13
  <p class="signature first" id="m-instance_method">
14
14
 
15
15
  - <strong>m</strong>(x, y) <span class="extras">(private)</span>
@@ -44,7 +44,7 @@
44
44
 
45
45
 
46
46
  &mdash;
47
- parameter x
47
+ <div class='inline'>parameter x</div>
48
48
 
49
49
  </li>
50
50
 
@@ -58,7 +58,7 @@
58
58
 
59
59
 
60
60
  &mdash;
61
- parameter y
61
+ <div class='inline'>parameter y</div>
62
62
 
63
63
  </li>
64
64
 
@@ -82,5 +82,5 @@ def m(x) end</pre>
82
82
  </tr>
83
83
  </table>
84
84
  </div>
85
+ </div>
85
86
  </div>
86
- </div>
@@ -54,7 +54,7 @@
54
54
 
55
55
 
56
56
  &mdash;
57
- parameter x
57
+ <div class='inline'>parameter x</div>
58
58
 
59
59
  </li>
60
60
 
@@ -68,7 +68,7 @@
68
68
 
69
69
 
70
70
  &mdash;
71
- parameter y
71
+ <div class='inline'>parameter y</div>
72
72
 
73
73
  </li>
74
74
 
@@ -100,7 +100,7 @@
100
100
 
101
101
 
102
102
  &mdash;
103
- parameter x
103
+ <div class='inline'>parameter x</div>
104
104
 
105
105
  </li>
106
106
 
@@ -114,7 +114,7 @@
114
114
 
115
115
 
116
116
  &mdash;
117
- parameter y
117
+ <div class='inline'>parameter y</div>
118
118
 
119
119
  </li>
120
120
 
@@ -128,7 +128,7 @@
128
128
 
129
129
 
130
130
  &mdash;
131
- parameter z
131
+ <div class='inline'>parameter z</div>
132
132
 
133
133
  </li>
134
134
 
@@ -8,8 +8,8 @@
8
8
  <div class="clear"></div>
9
9
 
10
10
  <div class="method_details_list">
11
- <div id="method_details">
12
- <div class="method_details first">
11
+ <div id="method_details">
12
+ <div class="method_details first">
13
13
  <p class="signature first" id="m-instance_method">
14
14
 
15
15
  - (<tt>void</tt>) <strong>m</strong>(*args)
@@ -40,5 +40,5 @@ def m(*args) end</pre>
40
40
  </tr>
41
41
  </table>
42
42
  </div>
43
+ </div>
43
44
  </div>
44
- </div>
@@ -68,7 +68,7 @@
68
68
 
69
69
 
70
70
  &mdash;
71
- hi
71
+ <div class='inline'>hi</div>
72
72
 
73
73
  </li>
74
74
 
@@ -15,8 +15,13 @@
15
15
 
16
16
 
17
17
 
18
- <dt class="r2 last">Defined in:</dt>
19
- <dd class="r2 last">(stdin)</dd>
18
+ <dt class="r2">Included in:</dt>
19
+ <dd class="r2">TMP, TMP2</dd>
20
+
21
+
22
+
23
+ <dt class="r1 last">Defined in:</dt>
24
+ <dd class="r1 last">(stdin)</dd>
20
25
 
21
26
  </dl>
22
27
  <div class="clear"></div>
@@ -47,12 +52,30 @@
47
52
  <dl class="constants">
48
53
 
49
54
  <dt id="CONSTANT-constant" class="">CONSTANT =
50
- <span class="summary_desc"></span>
55
+ <div class="docstring">
56
+ <div class="discussion">
57
+ A long docstring for the constant. With extra text
58
+ and newlines.
59
+
60
+ </div>
61
+ </div>
62
+ <div class="tags">
63
+
64
+ </div>
51
65
  </dt>
52
66
  <dd><pre class="code">'value'</pre></dd>
53
67
 
54
68
  <dt id="cvar-classvariable" class="deprecated">@@cvar =
55
- <span class="summary_desc"></span>
69
+ <div class="docstring">
70
+ <div class="discussion">
71
+ <p class="note deprecated"><strong>Deprecated.</strong> <div class='inline'></div></p>
72
+
73
+
74
+ </div>
75
+ </div>
76
+ <div class="tags">
77
+
78
+ </div>
56
79
  </dt>
57
80
  <dd><pre class="code">'value'</pre></dd>
58
81
 
@@ -85,7 +108,7 @@
85
108
 
86
109
 
87
110
 
88
- <span class="summary_desc">Returns the value of attribute attr1.</span>
111
+ <span class="summary_desc"><div class='inline'>Returns the value of attribute attr1.</div></span>
89
112
 
90
113
  </li>
91
114
 
@@ -108,7 +131,7 @@
108
131
 
109
132
 
110
133
 
111
- <span class="summary_desc">Returns the value of attribute attr2.</span>
134
+ <span class="summary_desc"><div class='inline'>Returns the value of attribute attr2.</div></span>
112
135
 
113
136
  </li>
114
137
 
@@ -131,7 +154,7 @@
131
154
 
132
155
 
133
156
 
134
- <span class="summary_desc"></span>
157
+ <span class="summary_desc"><div class='inline'></div></span>
135
158
 
136
159
  </li>
137
160
 
@@ -154,7 +177,7 @@
154
177
 
155
178
 
156
179
 
157
- <span class="summary_desc">Sets the attribute attr4.</span>
180
+ <span class="summary_desc"><div class='inline'>Sets the attribute attr4.</div></span>
158
181
 
159
182
  </li>
160
183
 
@@ -162,11 +185,12 @@
162
185
  </ul>
163
186
 
164
187
 
165
- <h2>Class Method Summary</h2>
188
+
189
+ <h2>Class Method Summary</h2>
166
190
 
167
- <ul class="summary">
168
-
169
- <li class="public ">
191
+ <ul class="summary">
192
+
193
+ <li class="public ">
170
194
  <span class="summary_signature">
171
195
 
172
196
  <a title="a (class method)">+ <strong>a</strong> </a>
@@ -181,18 +205,18 @@
181
205
 
182
206
 
183
207
 
184
- <span class="summary_desc"></span>
208
+ <span class="summary_desc"><div class='inline'></div></span>
185
209
 
186
210
  </li>
187
211
 
188
-
189
- </ul>
190
-
191
- <h2>Instance Method Summary</h2>
212
+
213
+ </ul>
214
+
215
+ <h2>Instance Method Summary</h2>
192
216
 
193
- <ul class="summary">
194
-
195
- <li class="public ">
217
+ <ul class="summary">
218
+
219
+ <li class="public ">
196
220
  <span class="summary_signature">
197
221
 
198
222
  <a title="#a (instance method)">- <strong>a</strong> </a>
@@ -209,12 +233,12 @@
209
233
 
210
234
 
211
235
 
212
- <span class="summary_desc"></span>
236
+ <span class="summary_desc"><div class='inline'></div></span>
213
237
 
214
238
  </li>
215
239
 
216
-
217
- <li class="public ">
240
+
241
+ <li class="public ">
218
242
  <span class="summary_signature">
219
243
 
220
244
  <a title="#test_multi_overload (instance method)">- <strong>test_multi_overload</strong>(*args) </a>
@@ -229,12 +253,12 @@
229
253
 
230
254
 
231
255
 
232
- <span class="summary_desc"></span>
256
+ <span class="summary_desc"><div class='inline'></div></span>
233
257
 
234
258
  </li>
235
259
 
236
-
237
- <li class="public ">
260
+
261
+ <li class="public ">
238
262
  <span class="summary_signature">
239
263
 
240
264
  <a title="#test_overload (instance method)">- <strong>test_overload</strong>(a) </a>
@@ -249,12 +273,12 @@
249
273
 
250
274
 
251
275
 
252
- <span class="summary_desc">hello2.</span>
276
+ <span class="summary_desc"><div class='inline'>hello2.</div></span>
253
277
 
254
278
  </li>
255
279
 
256
-
257
- <li class="public ">
280
+
281
+ <li class="public ">
258
282
  <span class="summary_signature">
259
283
 
260
284
  <a title="#void_meth (instance method)">- <strong>void_meth</strong> </a>
@@ -269,13 +293,17 @@
269
293
 
270
294
 
271
295
 
272
- <span class="summary_desc"></span>
296
+ <span class="summary_desc"><div class='inline'></div></span>
273
297
 
274
298
  </li>
275
299
 
276
-
277
- </ul>
300
+
301
+ </ul>
302
+
278
303
 
304
+
305
+
306
+
279
307
 
280
308
 
281
309
 
@@ -411,7 +439,7 @@ end</pre>
411
439
 
412
440
 
413
441
  &mdash;
414
- a string
442
+ <div class='inline'>a string</div>
415
443
 
416
444
  </li>
417
445
 
@@ -443,7 +471,7 @@ end</pre>
443
471
 
444
472
 
445
473
  &mdash;
446
- sets the string
474
+ <div class='inline'>sets the string</div>
447
475
 
448
476
  </li>
449
477
 
@@ -505,7 +533,7 @@ end</pre>
505
533
 
506
534
 
507
535
  &mdash;
508
- the value to set the attribute attr4 to.
536
+ <div class='inline'>the value to set the attribute attr4 to.</div>
509
537
 
510
538
  </li>
511
539
 
@@ -668,7 +696,7 @@ def test_multi_overload(*args) end</pre>
668
696
 
669
697
 
670
698
  &mdash;
671
- hi
699
+ <div class='inline'>hi</div>
672
700
 
673
701
  </li>
674
702
 
@@ -32,6 +32,34 @@ describe YARD::Templates::Helpers::HtmlHelper do
32
32
  end
33
33
  end
34
34
 
35
+ describe '#charset' do
36
+ it "should return foo if LANG=foo" do
37
+ ENV.should_receive(:[]).with('LANG').and_return('shift_jis') if RUBY18
38
+ Encoding.default_external.should_receive(:name).and_return('shift_jis') if RUBY19
39
+ charset.should == 'shift_jis'
40
+ end
41
+
42
+ ['US-ASCII', 'ASCII-7BIT', 'ASCII-8BIT'].each do |type|
43
+ it "should convert #{type} to iso-8859-1" do
44
+ ENV.should_receive(:[]).with('LANG').and_return(type) if RUBY18
45
+ Encoding.default_external.should_receive(:name).and_return(type) if RUBY19
46
+ charset.should == 'iso-8859-1'
47
+ end
48
+ end
49
+
50
+ if RUBY18
51
+ it "should return utf-8 if no LANG env is set" do
52
+ ENV.should_receive(:[]).with('LANG').and_return(nil)
53
+ charset.should == 'utf-8'
54
+ end
55
+
56
+ it "should only return charset part of lang" do
57
+ ENV.should_receive(:[]).with('LANG').and_return('en_US.UTF-8')
58
+ charset.should == 'utf-8'
59
+ end
60
+ end
61
+ end
62
+
35
63
  describe '#format_types' do
36
64
  it "should include brackets by default" do
37
65
  text = ["String"]