yard 0.6.1 → 0.6.2

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 (93) hide show
  1. data/ChangeLog +356 -0
  2. data/README.md +27 -5
  3. data/docs/GettingStarted.md +45 -6
  4. data/docs/Tags.md +16 -5
  5. data/docs/WhatsNew.md +60 -2
  6. data/lib/yard.rb +16 -37
  7. data/lib/yard/autoload.rb +5 -0
  8. data/lib/yard/cli/command.rb +18 -6
  9. data/lib/yard/cli/command_parser.rb +1 -0
  10. data/lib/yard/cli/config.rb +113 -0
  11. data/lib/yard/cli/gems.rb +16 -7
  12. data/lib/yard/cli/server.rb +30 -8
  13. data/lib/yard/cli/stats.rb +1 -1
  14. data/lib/yard/cli/yardoc.rb +16 -1
  15. data/lib/yard/code_objects/base.rb +7 -2
  16. data/lib/yard/code_objects/class_object.rb +1 -0
  17. data/lib/yard/code_objects/method_object.rb +1 -0
  18. data/lib/yard/code_objects/proxy.rb +8 -2
  19. data/lib/yard/config.rb +225 -0
  20. data/lib/yard/handlers/base.rb +29 -2
  21. data/lib/yard/handlers/processor.rb +1 -1
  22. data/lib/yard/handlers/ruby/class_handler.rb +6 -1
  23. data/lib/yard/handlers/ruby/constant_handler.rb +13 -15
  24. data/lib/yard/handlers/ruby/exception_handler.rb +1 -1
  25. data/lib/yard/handlers/ruby/extend_handler.rb +3 -0
  26. data/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +1 -0
  27. data/lib/yard/handlers/ruby/legacy/class_handler.rb +7 -1
  28. data/lib/yard/handlers/ruby/legacy/constant_handler.rb +8 -10
  29. data/lib/yard/handlers/ruby/legacy/exception_handler.rb +1 -1
  30. data/lib/yard/handlers/ruby/legacy/extend_handler.rb +3 -0
  31. data/lib/yard/handlers/ruby/legacy/method_handler.rb +1 -0
  32. data/lib/yard/handlers/ruby/legacy/mixin_handler.rb +13 -2
  33. data/lib/yard/handlers/ruby/method_handler.rb +1 -0
  34. data/lib/yard/handlers/ruby/mixin_handler.rb +14 -4
  35. data/lib/yard/handlers/ruby/struct_handler_methods.rb +10 -1
  36. data/lib/yard/handlers/ruby/visibility_handler.rb +1 -1
  37. data/lib/yard/parser/c_parser.rb +26 -11
  38. data/lib/yard/parser/ruby/legacy/statement_list.rb +26 -9
  39. data/lib/yard/parser/source_parser.rb +5 -2
  40. data/lib/yard/serializers/yardoc_serializer.rb +2 -2
  41. data/lib/yard/server.rb +11 -0
  42. data/lib/yard/server/commands/frames_command.rb +1 -1
  43. data/lib/yard/server/commands/library_command.rb +22 -13
  44. data/lib/yard/server/commands/library_index_command.rb +1 -0
  45. data/lib/yard/server/commands/search_command.rb +2 -0
  46. data/lib/yard/server/commands/static_file_command.rb +6 -1
  47. data/lib/yard/server/templates/doc_server/processing/html/processing.erb +3 -3
  48. data/lib/yard/templates/helpers/html_helper.rb +1 -1
  49. data/lib/yard/templates/helpers/markup_helper.rb +13 -12
  50. data/lib/yard/verifier.rb +3 -1
  51. data/spec/cli/config_spec.rb +72 -0
  52. data/spec/cli/gems_spec.rb +81 -0
  53. data/spec/cli/server_spec.rb +35 -5
  54. data/spec/cli/stats_spec.rb +15 -0
  55. data/spec/cli/yardoc_spec.rb +39 -1
  56. data/spec/code_objects/base_spec.rb +2 -0
  57. data/spec/code_objects/method_object_spec.rb +5 -0
  58. data/spec/code_objects/proxy_spec.rb +20 -5
  59. data/spec/config_spec.rb +165 -0
  60. data/spec/handlers/alias_handler_spec.rb +7 -0
  61. data/spec/handlers/base_spec.rb +64 -0
  62. data/spec/handlers/class_condition_handler_spec.rb +13 -8
  63. data/spec/handlers/class_handler_spec.rb +54 -46
  64. data/spec/handlers/constant_handler_spec.rb +13 -0
  65. data/spec/handlers/examples/alias_handler_001.rb.txt +2 -0
  66. data/spec/handlers/examples/class_handler_001.rb.txt +12 -1
  67. data/spec/handlers/examples/constant_handler_001.rb.txt +6 -0
  68. data/spec/handlers/examples/exception_handler_001.rb.txt +8 -0
  69. data/spec/handlers/examples/method_handler_001.rb.txt +6 -0
  70. data/spec/handlers/examples/visibility_handler_001.rb.txt +3 -0
  71. data/spec/handlers/exception_handler_spec.rb +5 -0
  72. data/spec/handlers/extend_handler_spec.rb +4 -0
  73. data/spec/handlers/method_handler_spec.rb +5 -0
  74. data/spec/handlers/mixin_handler_spec.rb +10 -0
  75. data/spec/handlers/visibility_handler_spec.rb +4 -0
  76. data/spec/parser/base_spec.rb +1 -1
  77. data/spec/parser/c_parser_spec.rb +39 -1
  78. data/spec/parser/examples/override.c.txt +424 -0
  79. data/spec/parser/ruby/legacy/statement_list_spec.rb +11 -0
  80. data/spec/parser/source_parser_spec.rb +33 -1
  81. data/spec/server/commands/static_file_command_spec.rb +20 -3
  82. data/spec/server_spec.rb +10 -0
  83. data/spec/templates/examples/method001.html +33 -3
  84. data/spec/templates/examples/method001.txt +8 -1
  85. data/spec/templates/helpers/markup_helper_spec.rb +21 -26
  86. data/spec/templates/method_spec.rb +3 -1
  87. data/spec/verifier_spec.rb +5 -0
  88. data/templates/default/fulldoc/html/css/style.css +4 -1
  89. data/templates/default/fulldoc/html/js/app.js +1 -1
  90. data/templates/default/tags/html/option.erb +1 -3
  91. data/templates/default/tags/setup.rb +18 -15
  92. metadata +11 -4
  93. data/spec/yard_spec.rb +0 -55
data/ChangeLog CHANGED
@@ -1,3 +1,359 @@
1
+ 2010-11-15 Loren Segal <lsegal@soen.ca>
2
+
3
+ * ChangeLog, README.md, lib/yard.rb, yard.gemspec: Bump to version 0.6.2
4
+
5
+ * spec/cli/server_spec.rb: Fix specs failing under 1.8.x due to unstub! call
6
+
7
+ * README.md, docs/GettingStarted.md: Tell users where to read information
8
+ about .yardopts
9
+
10
+ * ChangeLog, README.md: Update ChangeLog and summarize in README
11
+
12
+ * spec/server/commands/static_file_command_spec.rb: Fix failing specs due to
13
+ StaticFileCommand refactor and add new test cases
14
+
15
+ * lib/yard/config.rb: Only show backtrace when plugin fails to load in Ruby
16
+ debug mode (ruby -d), since we haven't parsed backtrace info yet
17
+
18
+ * lib/yard/config.rb, spec/config_spec.rb: Ensure that --plugin is parsed out
19
+ of .yardopts file as well
20
+
21
+ * lib/yard/cli/command.rb, lib/yard/cli/server.rb, lib/yard/cli/yardoc.rb:
22
+ Fix CLI commands accessing Config class after adding new CLI::Config
23
+
24
+ * README.md: Add new contributors
25
+
26
+ 2010-11-14 Loren Segal <lsegal@soen.ca>
27
+
28
+ * docs/GettingStarted.md, docs/WhatsNew.md: Document new YARD features in
29
+ 0.6.2
30
+
31
+ * lib/yard/cli/config.rb: Update yard config help contents
32
+
33
+ * lib/yard/autoload.rb, lib/yard/cli/command_parser.rb,
34
+ lib/yard/cli/config.rb, lib/yard/config.rb, spec/cli/config_spec.rb: Add
35
+ `yard config` CLI command to view or modify the YARD global configuration
36
+ file (~/.yard/config).
37
+
38
+ * lib/yard/config.rb, spec/config_spec.rb: Add YARD::Config.save for
39
+ serializing to CONFIG_FILE
40
+
41
+ 2010-11-14 Robert Wahler <robert@gearheadforhire.com>
42
+
43
+ * lib/yard/templates/helpers/markup_helper.rb,
44
+ spec/templates/helpers/markup_helper_spec.rb: add kramdown as a markdown
45
+ provider Kramdown is a fast, pure Ruby markdown processor. Windows users
46
+ need more pure Ruby options to avoid having to compile "C" extensions. Note
47
+ that 'eval' is used instead of Kernel.get_const because the latter cannot
48
+ find classes nested in modules.
49
+
50
+ 2010-11-11 Loren Segal <lsegal@soen.ca>
51
+
52
+ * lib/yard/server.rb: YARD::Server.register_static_path is since 0.6.2
53
+
54
+ * lib/yard/autoload.rb, lib/yard/server.rb, spec/server_spec.rb: Add
55
+ YARD::Server.register_static_path to register a static asset lookup path
56
+
57
+ * lib/yard/server/commands/library_index_command.rb,
58
+ lib/yard/server/commands/search_command.rb,
59
+ lib/yard/server/commands/static_file_command.rb: Document some server
60
+ commands and reverse search order of static assets in StaticFileCommand
61
+
62
+ 2010-11-10 Loren Segal <lsegal@soen.ca>
63
+
64
+ * lib/yard/handlers/ruby/extend_handler.rb,
65
+ lib/yard/handlers/ruby/legacy/extend_handler.rb,
66
+ spec/handlers/extend_handler_spec.rb: Disallow `extend self` inside of a
67
+ class. Closes gh-202
68
+
69
+ * lib/yard/handlers/ruby/legacy/mixin_handler.rb,
70
+ lib/yard/handlers/ruby/mixin_handler.rb: Fix error messages for
71
+ undocumentable mixins
72
+
73
+ * lib/yard/code_objects/class_object.rb: Disallow recursive inheritance_trees
74
+ for mixins including classes (should never happen, but protected anyway)
75
+
76
+ 2010-11-10 Anthony Thibault <ajt@hyperlogic.org>
77
+
78
+ * lib/yard/parser/c_parser.rb: Fixed parsing of constants defined in c
79
+ extensions.
80
+
81
+ 2010-11-10 Loren Segal <lsegal@soen.ca>
82
+
83
+ * lib/yard/cli/command.rb, lib/yard/cli/server.rb, spec/cli/server_spec.rb:
84
+ Add -t (--template-path) switch to `yard server` and load ruby scripts after
85
+ adapter loads in order to allow overriding of adapter code.
86
+
87
+ 2010-11-09 Loren Segal <lsegal@soen.ca>
88
+
89
+ * lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Fixes --no-private with
90
+ proxy namespace defined as a module Re-closes gh-197
91
+
92
+ 2010-11-08 Loren Segal <lsegal@soen.ca>
93
+
94
+ * lib/yard/cli/server.rb: Fix documentation in yard server CLI usage
95
+ description
96
+
97
+ * lib/yard/server/commands/library_command.rb: Clean up class variable
98
+ declaration
99
+
100
+ * lib/yard/verifier.rb, spec/cli/yardoc_spec.rb, spec/verifier_spec.rb:
101
+ Verifier#call should ignore unresolved Proxy objects and return true. This
102
+ makes it easier to write queries on objects that may include proxies. Closes
103
+ gh-197
104
+
105
+ * templates/default/fulldoc/html/css/style.css: Fix spacing between summary
106
+ note badges
107
+
108
+ * templates/default/fulldoc/html/css/style.css: Add vertical space between
109
+ notes in method/class/module detail section. Closes gh-199
110
+
111
+ * spec/templates/examples/method001.html,
112
+ templates/default/tags/html/option.erb: Add space after mdash for option
113
+ description text. Closes gh-200
114
+
115
+ * docs/Tags.md: Document missing tags @api and @note Closes gh-196
116
+
117
+ * docs/Tags.md: Clarify that @attr tags are only meant for Structs
118
+
119
+ * spec/templates/examples/method001.html,
120
+ spec/templates/examples/method001.txt, spec/templates/method_spec.rb,
121
+ templates/default/tags/html/option.erb: Do not display N/A for @option with
122
+ no default value. Closes gh-198
123
+
124
+ 2010-11-04 Loren Segal <lsegal@soen.ca>
125
+
126
+ * lib/yard/templates/helpers/html_helper.rb: Don't perform syntax
127
+ highlighting on plaintext extra files
128
+
129
+ 2010-11-02 Mark Evans <mark@new-bamboo.co.uk>
130
+
131
+ * templates/default/fulldoc/html/js/app.js: Replace quotes with underscore
132
+ for table of contents id generation (otherwise it causes errors)
133
+
134
+ 2010-10-31 freeformz <emuller@engineyard.com>
135
+
136
+ * lib/yard/server/commands/library_command.rb: we're already chrooted'
137
+
138
+ 2010-10-29 freeformz <emuller@engineyard.com>
139
+
140
+ * lib/yard/server/commands/library_command.rb: stop the threads from trying
141
+ to chdir over each other
142
+
143
+ 2010-10-22 David Turnbull <dturnbull@gmail.com>
144
+
145
+ * docs/GettingStarted.md: Expanded usage section. Getting Started has more
146
+ overview of the tools and directs to the readme for details.
147
+
148
+ 2010-10-14 Loren Segal <lsegal@soen.ca>
149
+
150
+ * lib/yard/cli/yardoc.rb, lib/yard/templates/helpers/markup_helper.rb,
151
+ spec/templates/helpers/markup_helper_spec.rb: Refactor MarkupHelper and check
152
+ markup options before doing any file parsing. This way we can fail early and
153
+ tell the user to install a gem right away instead of the old behaviour of
154
+ failing after all the code was parsed (which could take a long time).
155
+
156
+ * lib/yard/handlers/ruby/visibility_handler.rb,
157
+ .../examples/visibility_handler_001.rb.txt,
158
+ spec/handlers/visibility_handler_spec.rb: Fix visibility statements using
159
+ constant symbol values (private :Foo)
160
+
161
+ 2010-10-13 Loren Segal <lsegal@soen.ca>
162
+
163
+ * lib/yard/handlers/ruby/class_handler.rb,
164
+ lib/yard/handlers/ruby/legacy/class_handler.rb,
165
+ lib/yard/handlers/ruby/struct_handler_methods.rb,
166
+ spec/handlers/class_handler_spec.rb,
167
+ spec/handlers/examples/class_handler_001.rb.txt: Support @attr* on non-struct
168
+ classes
169
+
170
+ * lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Disable --template-path
171
+ from being used in safe mode
172
+
173
+ * lib/yard.rb, lib/yard/cli/command.rb, lib/yard/cli/yardoc.rb,
174
+ lib/yard/config.rb, spec/cli/yardoc_spec.rb: Add safe_mode Config
175
+ (~/.yard/config) option to disable user-code from being executed (-e, --load
176
+ and --query)
177
+
178
+ 2010-10-09 Loren Segal <lsegal@soen.ca>
179
+
180
+ * lib/yard/handlers/ruby/constant_handler.rb,
181
+ lib/yard/handlers/ruby/legacy/constant_handler.rb,
182
+ spec/handlers/constant_handler_spec.rb,
183
+ spec/handlers/examples/constant_handler_001.rb.txt: Support @attr
184
+ declarations in "Klass = Struct.new(:a, :b, ...)" syntax Closes gh-187
185
+
186
+ * lib/yard/code_objects/method_object.rb,
187
+ spec/code_objects/method_object_spec.rb: If a method is in a proxy namespace,
188
+ overridden methods should return nil.
189
+
190
+ 2010-10-04 Loren Segal <lsegal@soen.ca>
191
+
192
+ * lib/yard/autoload.rb, lib/yard/serializers/yardoc_serializer.rb: Refactor
193
+ StubProxy
194
+
195
+ * lib/yard.rb, lib/yard/handlers/base.rb, lib/yard/parser/c_parser.rb: Change
196
+ the way continuation support is detected (actually test callcc)
197
+
198
+ 2010-10-03 Loren Segal <lsegal@soen.ca>
199
+
200
+ * spec/code_objects/proxy_spec.rb, spec/parser/base_spec.rb,
201
+ spec/parser/c_parser_spec.rb, spec/parser/source_parser_spec.rb: Fix various
202
+ JRuby spec failings.
203
+
204
+ * lib/yard.rb, lib/yard/handlers/base.rb, lib/yard/parser/c_parser.rb: Change
205
+ the way continuation support is checked
206
+
207
+ * lib/yard/parser/source_parser.rb: Require continuation only if the lib
208
+ exists (ie. ruby1.9).
209
+
210
+ * lib/yard/handlers/ruby/class_handler.rb,
211
+ lib/yard/handlers/ruby/legacy/class_handler.rb,
212
+ spec/handlers/class_handler_spec.rb,
213
+ spec/handlers/examples/class_handler_001.rb.txt: Add support for inheriting
214
+ from 'self' keyword, using current namespace as superclass. Example: class
215
+ X class Y < self; end end
216
+
217
+ * lib/yard/handlers/ruby/legacy/method_handler.rb,
218
+ lib/yard/handlers/ruby/method_handler.rb,
219
+ spec/handlers/examples/method_handler_001.rb.txt,
220
+ spec/handlers/method_handler_spec.rb: If class method is defined on CONSTANT
221
+ object, convert constant to class/module that the constant is referencing.
222
+
223
+ * lib/yard/parser/ruby/legacy/statement_list.rb,
224
+ spec/handlers/alias_handler_spec.rb,
225
+ spec/handlers/examples/alias_handler_001.rb.txt,
226
+ spec/parser/ruby/legacy/statement_list_spec.rb: Fix handling of keywords in
227
+ alias statements for block openers/closers (for/do/end) Closes gh-184
228
+
229
+ * lib/yard/handlers/ruby/legacy/exception_handler.rb: Ignore raise
230
+ expressions that call methods on 1.8 as well
231
+
232
+ * lib/yard/handlers/ruby/exception_handler.rb,
233
+ .../handlers/examples/exception_handler_001.rb.txt,
234
+ spec/handlers/exception_handler_spec.rb: Gracefully ignore raise expressions
235
+ that cannot be documented (`raise method_call('args')`) Closes gh-180
236
+
237
+ * lib/yard/cli/stats.rb, spec/cli/stats_spec.rb: Fix yard stats --list-undoc
238
+ raising exception when no objects are undocumented. Closes gh-186
239
+
240
+ 2010-09-27 srawlins <sam.rawlins@gmail.com>
241
+
242
+ * lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb,
243
+ spec/parser/examples/override.c.txt: Added
244
+ Parser::CParser#find_override_comment, almost straight from RDoc
245
+
246
+ 2010-10-03 Loren Segal <lsegal@soen.ca>
247
+
248
+ * spec/cli/gems_spec.rb: Fix specs under 1.8.6
249
+
250
+ * spec/cli/gems_spec.rb: Add specs for yard gems command
251
+
252
+ * lib/yard/cli/gems.rb: Add warnings if specified gems are not found, stop
253
+ command entirely if none of the specified gems are found
254
+
255
+ * lib/yard/cli/gems.rb: Require 'rubygems' in yard gems command for 1.8.x
256
+ compat
257
+
258
+ * lib/yard/cli/gems.rb: Replace #each_slice with 1.8.6 compatible iteration.
259
+ Closes gh-178
260
+
261
+ 2010-09-25 Loren Segal <lsegal@soen.ca>
262
+
263
+ * .../ruby/legacy/class_condition_handler.rb,
264
+ spec/handlers/class_condition_handler_spec.rb: Fix handling of complex class
265
+ conditions with no else block Closes gh-175
266
+
267
+ 2010-09-23 Loren Segal <lsegal@soen.ca>
268
+
269
+ * lib/yard/parser/source_parser.rb, spec/parser/source_parser_spec.rb: Fix
270
+ handling of encoding line when shebang is present. Adds tests for the many
271
+ ways an encoding line can be written. Closes gh-174
272
+
273
+ 2010-09-18 Loren Segal <lsegal@soen.ca>
274
+
275
+ * lib/yard/handlers/ruby/extend_handler.rb,
276
+ lib/yard/handlers/ruby/legacy/mixin_handler.rb,
277
+ lib/yard/handlers/ruby/mixin_handler.rb: Refactor mixin undocumentable error
278
+ changes and backport to 1.8
279
+
280
+ * lib/yard/server/commands/frames_command.rb: Show alpha index for yard
281
+ server if no README is present
282
+
283
+ * lib/yard/code_objects/proxy.rb, spec/code_objects/proxy_spec.rb,
284
+ spec/handlers/class_handler_spec.rb: Fix proxy lookups for complex namespaces
285
+ (A::B::C). Previously a lookup on "B::C" from inside "A" would find object
286
+ "A::C" if A::C was defined before A::B::C. The new semantics will verify that
287
+ the found object ("A::C") includes the original lookup path ("B::C") in the
288
+ path string. If the path string is not found, the object is invalidated and
289
+ the object is still a proxy. Also fixes a test that was incorrectly passing
290
+ due to bug.
291
+
292
+ * lib/yard/handlers/ruby/extend_handler.rb,
293
+ lib/yard/handlers/ruby/mixin_handler.rb, spec/handlers/mixin_handler_spec.rb:
294
+ Add undocumentable error warning for 'include <variable>' statement
295
+
296
+ 2010-09-17 Loren Segal <lsegal@soen.ca>
297
+
298
+ * docs/Tags.md: Fix typo in Tags.md Closes gh-172
299
+
300
+ * lib/yard/code_objects/base.rb, spec/code_objects/base_spec.rb: Improve
301
+ relative path support for objects inside of a namespace (when called from
302
+ outside that same namespace)
303
+
304
+ 2010-09-16 Loren Segal <lsegal@soen.ca>
305
+
306
+ * lib/yard/cli/command.rb, lib/yard/config.rb: Add documentation for
307
+ YARD::Config and add --plugin option for commandline parsing so no warnings
308
+ display
309
+
310
+ * lib/yard.rb, lib/yard/autoload.rb, lib/yard/config.rb, spec/config_spec.rb,
311
+ spec/yard_spec.rb: Refactored configuration support, adding YARD::Config
312
+ class. Plugins are no longer loaded automatically by default, but this can be
313
+ changed by editing ~/.yard/config as detailed below: The Config class now
314
+ manages the loading of the ~/.yard/config file, a YAML file containing the
315
+ YARD::Config::DEFAULT_CONFIG_OPTIONS options. It also manages the loading of
316
+ plugins. The configuration file has 3 options specifying rules to use when
317
+ loading plugins: :load_plugins (default: false) When enabled, gem plugins
318
+ are automatically loaded (0.5.x and 0.6.0/1 behaviour) :autoload_plugins
319
+ specifies a list of plugins to load automatically :ignored_plugins specifies
320
+ a list of plugins to ignore The ~/.yard/ignored_plugins file is now
321
+ deprecated in favour of specifying the :ignored_plugins setting in the config
322
+ file.
323
+
324
+ 2010-09-14 Loren Segal <lsegal@soen.ca>
325
+
326
+ * lib/yard/handlers/base.rb: Document introduction of in_file call
327
+
328
+ * lib/yard/handlers/base.rb, lib/yard/handlers/processor.rb,
329
+ spec/handlers/base_spec.rb: Add Handlers::Base.in_file to declare that a
330
+ handler should only process certain files by string/regex match. Example:
331
+ class MyHandler < Handlers::Ruby::Base handles method_call(:foo) in_file
332
+ %r{/templates/} def process # Only process "foo" calls inside the
333
+ /templates/ directory end end
334
+
335
+ * lib/yard/server/commands/library_command.rb: Refactor #not_prepared to use
336
+ request object
337
+
338
+ * lib/yard/server/commands/library_command.rb,
339
+ .../doc_server/processing/html/processing.erb: On-demand processing should
340
+ commence from xhr request with ?process=true to avoid bots inadvertently
341
+ triggering a parse. Also stops JS refresh code from retriggering the parser N
342
+ times
343
+
344
+ * lib/yard/cli/gems.rb: Remove --legacy option from gems option parser
345
+ (switch is not removed from CLI, simply refactored. the option exists in the
346
+ superclass)
347
+
348
+ 2010-09-08 Loren Segal <lsegal@soen.ca>
349
+
350
+ * templates/default/tags/setup.rb: Refactor tag method generation code for
351
+ templates
352
+
353
+ 2010-09-07 Loren Segal <lsegal@soen.ca>
354
+
355
+ * README.md, docs/WhatsNew.md: Fix some markdown formatting errors
356
+
1
357
  2010-09-06 Loren Segal <lsegal@soen.ca>
2
358
 
3
359
  * ChangeLog, README.md, lib/yard.rb, yard.gemspec: Bump to version 0.6.1
data/README.md CHANGED
@@ -2,14 +2,14 @@ YARD: Yay! A Ruby Documentation Tool
2
2
  ====================================
3
3
 
4
4
  **Homepage**: [http://yardoc.org](http://yardoc.org)
5
- **IRC**: [irc://irc.freenode.net/yard](irc.freenode.net / #yard)
5
+ **IRC**: [irc.freenode.net / #yard](irc://irc.freenode.net/yard)
6
6
  **Git**: [http://github.com/lsegal/yard](http://github.com/lsegal/yard)
7
7
  **Author**: Loren Segal
8
8
  **Contributors**: See Contributors section below
9
9
  **Copyright**: 2007-2010
10
10
  **License**: MIT License
11
- **Latest Version**: 0.6.1 (codename "The Cubic")
12
- **Release Date**: September 6th 2010
11
+ **Latest Version**: 0.6.2 (codename "White Picket Fences")
12
+ **Release Date**: November 15th 2010
13
13
 
14
14
  Synopsis
15
15
  --------
@@ -171,7 +171,7 @@ the globs and the filenames with '-'.
171
171
 
172
172
  $ yardoc 'app/**/*.rb' - README LICENSE FAQ
173
173
 
174
- If no globs preceed the '-' argument, the default glob (lib/**/*.rb) is
174
+ If no globs preceed the '-' argument, the default glob (`lib/**/*.rb`) is
175
175
  used:
176
176
 
177
177
  $ yardoc - README LICENSE FAQ
@@ -180,7 +180,8 @@ Note that the README file can be specified with its own `--readme` switch.
180
180
 
181
181
  You can also add a `.yardopts` file to your project directory which lists
182
182
  the switches separated by whitespace (newlines or space) to pass to yardoc
183
- whenever it is run.
183
+ whenever it is run. A full overview of the `.yardopts` file can be found in
184
+ {YARD::CLI::Yardoc}.
184
185
 
185
186
  #### Queries
186
187
 
@@ -288,6 +289,20 @@ More options can be seen by typing `yard-graph --help`, but here is an example:
288
289
  Changelog
289
290
  ---------
290
291
 
292
+ - **November.15.10**: 0.6.2 release
293
+ - **Plugins no longer automatically load, use `--plugin` to load a plugin**
294
+ - Added YARD::Config and ~/.yard/config YAML configuration file
295
+ - Added `yard config` command to view/edit YARD configuration file
296
+ - Fixes for YARD in 1.8.6 (gh-178)
297
+ - Various HTML template adjustments and fixes (gh-198,199,200)
298
+ - Improved `yard server -m` multi-project stability (gh-193)
299
+ - Fixed handling of `yardoc --no-private` with missing class definitions (gh-197)
300
+ - Added support for constants defined in C extensions (gh-177)
301
+ - Added support for Structs defined as "Klass = Struct.new(...)" (gh-187)
302
+ - Improved parsing support for third-party gems (gh-174,180)
303
+ - Improved support for JRuby 1.6.4+. YARD now passes all specs in JRuby (gh-185)
304
+ - Improved YARD documentation (gh-172,191,196)
305
+
291
306
  - **September.06.10**: 0.6.1 release
292
307
  - Fixed TOC showing on top of class/method list in no-frames view
293
308
  - A message now displays when running `yard server` with Rack/Mongrel installed
@@ -404,8 +419,15 @@ Special thanks to the following people for submitting patches:
404
419
  * Yehuda Katz
405
420
  * Duane Johnson
406
421
  * Postmodern
422
+ * Edward Muller
407
423
  * Pieter van de Bruggen
408
424
  * Leonid Borisenko
425
+ * Arthur Schreiber
426
+ * Robert Wahler
427
+ * Mark Evans
428
+ * David Turnbull
429
+ * Anthony Thibault
430
+ * Sam Rawlins
409
431
  * Jeff Rafter
410
432
  * Elliottcable
411
433
  * James Rosen
@@ -6,6 +6,7 @@ document will cover the most common ways to use YARD:
6
6
 
7
7
  * [Documenting Code with YARD](#docing)
8
8
  * [Using YARD to Generate Documentation](#using)
9
+ * [Configuring YARD](#config)
9
10
  * [Extending YARD](#extending)
10
11
  * [Templating YARD](#templating)
11
12
  * [Plugin Support](#plugins)
@@ -136,14 +137,52 @@ automatically links its data.
136
137
  Using YARD to Generate Documentation
137
138
  ====================================
138
139
 
139
- Obviously since YARD is a documentation tool, one of its primary goals is
140
+ YARD ships with a number of tools you will want to integrate into your
141
+ development process.
142
+
143
+ `yardoc`
144
+ --------
145
+ Obviously, since YARD is a documentation tool, one of its primary goals is
140
146
  to generate documentation for a variety of formats, most commonly HTML. The
141
147
  `yardoc` tool that is installed with YARD allows you to quickly export code
142
- documentation to HTML document files. In addition to this, YARD ships with
143
- two more tools allowing you to quickly view `ri`-style documentation for
144
- a specific class or method as well as an extra tool to generate UML diagrams
145
- for your code using [Graphviz][graphviz]. An overview of these tools can
146
- be found in the {file:README.md README} under the Usage section.
148
+ documentation to HTML document files.
149
+
150
+ `.yardopts`
151
+ -----------
152
+ Unless your documentation is very small, you'll end up needing to run `yardoc`
153
+ with many options. The `yardoc` tool will use the options found in this file.
154
+ It is recommended to check this in to your repository and distribute it with
155
+ your source. Options for `yardoc` are discussed in the {file:README.md README}.
156
+ A full overview of the `.yardopts` file can be found in {YARD::CLI::Yardoc}.
157
+
158
+ `yard`
159
+ ------
160
+ The `yard` tool will interface your YARD-based documentation with other resources.
161
+ You can use this if you want to document all installed gems, run a local
162
+ documentation server, generate UML using [Graphviz][graphviz], view `ri`-style
163
+ documentation, diff documentation, or analyze statistics.
164
+
165
+ <a name="docing"></a>
166
+ Configuring YARD
167
+ ================
168
+
169
+ YARD (0.6.2+) supports a global configuration file stored in `~/.yard/config`.
170
+ This file is stored as a YAML file and can contain arbitrary keys and values
171
+ that can be used by YARD at run-time. YARD defines specific keys that are used
172
+ to control various features, and they are listed in {YARD::Config::DEFAULT_CONFIG_OPTIONS}.
173
+ A sample configuration file might look like:
174
+
175
+ :load_plugins: false
176
+ :ignored_plugins:
177
+ - my_plugin
178
+ - my_other_plugin
179
+ :autoload_plugins:
180
+ - my_autoload_plugin
181
+ :safe_mode: false
182
+
183
+ You can also view and edit these configuration options from the commandline
184
+ using the `yard config` command. To list your configuration, use `yard config --list`.
185
+ To view a key, use `yard config ITEM`, and to set it, use `yard config ITEM VALUE`.
147
186
 
148
187
  <a name="extending"></a>
149
188
  Extending YARD