Fetching contributors…
Cannot retrieve contributors at this time
12196 lines (8984 sloc) 496 KB
2012-06-10 Loren Segal <>
* ChangeLog,, lib/yard.rb: Bump to
2012-06-09 Loren Segal <>
* lib/yard/options.rb, spec/options_spec.rb: Ensure that defaults are
inherited from parent class
2012-06-08 Loren Segal <>
* lib/yard/server/commands/base.rb,
lib/yard/server/commands/library_command.rb: Ensure that output is not
serialized in server templates
* Add changelog information that was omitted from release
2012-06-07 Loren Segal <>
* ChangeLog,, lib/yard.rb: Bump to version 0.8.2
2012-06-06 Loren Segal <>
* spec/i18n/locale_spec.rb: Fix Locale spec to not use disk
* lib/yard/i18n/locale.rb: Update Locale documentation
* lib/yard/i18n/locale.rb: Fix documentation typo
2012-06-05 Loren Segal <>
* lib/yard/server/doc_server_serializer.rb,
spec/templates/examples/module004.html, spec/templates/module_spec.rb,
.../default/module/html/attribute_details.erb: Make permalinks work for
embedded mixins Fixes #540
* lib/yard/server/commands/base.rb: Ensure that server does not serialize
output to disk by default
2012-05-30 Loren Segal <>
* spec/cli/yri_spec.rb: Add test to yri to ensure serialization occurs
* lib/yard/cli/graph.rb, lib/yard/templates/engine.rb,
lib/yard/templates/template_options.rb: Change TemplateOptions#serialize
default to true Only serializer option is required to produce output. This
is pre-0.8.0 behaviour and is needed for backward compatibility. References
* lib/yard/cli/graph.rb, lib/yard/templates/template_options.rb: Move
verifier to TemplateOptions
* lib/yard/handlers/base.rb,
.../examples/class_condition_handler_001.rb.txt: Accept visibility in
push_state and push visibility state in class condition handlers Fixes #551
2012-05-28 Loren Segal <>
* Rakefile: Remove sudo from install task
* lib/yard/handlers/c/handler_methods.rb, lib/yard/parser/c/c_parser.rb,
spec/parser/c_parser_spec.rb: Fix issue with C parser not properly parsing
macros with arg## syntax
2012-05-22 Loren Segal <>
* lib/yard/handlers/ruby/legacy/mixin_handler.rb,
lib/yard/handlers/ruby/mixin_handler.rb: Ensure that Registry resolution
picks a module when parsing a mixin. Fixes #545
* lib/yard/code_objects/proxy.rb, lib/yard/globals.rb, lib/yard/registry.rb,
lib/yard/registry_store.rb, lib/yard/serializers/yardoc_serializer.rb,
spec/code_objects/proxy_spec.rb, spec/handlers/c/class_handler_spec.rb,
spec/handlers/mixin_handler_spec.rb: Add type initializer to Proxy and P() to
constrain Proxy type Also disconnects Registry.proxy_types from Proxy class,
since nothing was using this besides the Proxy#type attribute itself. This
change modifies a test and no longer allows two separate Proxy objects to
maintain the same type information. Proxy type information is stored locally
to the proxy object, and no longer tracked in the Registry. Deprecates
proxy_types method and tracking in Registry and RegistryStore
* lib/yard/registry.rb, spec/registry_spec.rb: Ensure that resolve returns
proxy fallback with supplied type set
* lib/yard/registry.rb, spec/registry_spec.rb: Add type verification to
Registry.resolve to ensure resolve returns object of intended type
2012-05-21 Loren Segal <>
* lib/yard/cli/graph.rb, spec/cli/graph_spec.rb: Refactor yard graph and fix
regression that broke output Fixes #548
2012-05-20 Kouhei Sutou <>
* lib/yard/i18n/text.rb, spec/i18n/text_spec.rb: i18n: add
* spec/i18n/text_spec.rb: i18n: group existing specs for
* lib/yard/i18n/text.rb: i18n: extract text parse code
* Gemfile, lib/yard/autoload.rb, lib/yard/i18n/locale.rb,
spec/i18n/locale_spec.rb: i18n: add YARD::I18n::Locale
2012-05-19 Loren Segal <>
* lib/yard/handlers/c/init_handler.rb, spec/handlers/c/init_handler_spec.rb:
Check non-Init methods for object declarations in CRuby code Closes #543
* templates/default/fulldoc/html/js/app.js: Collapse/expand all summary lists
when button on any list is clicked
* lib/yard/tags/directives.rb, spec/handlers/dsl_handler_spec.rb,
spec/tags/directives_spec.rb: Parse parameters from signature in method
2012-05-13 Loren Segal <>
* lib/yard/docstring_parser.rb: Make DocstringParser attributes writable
2012-05-11 Loren Segal <>
* lib/yard/handlers/c/override_comment_handler.rb,
spec/handlers/c/override_comment_handler_spec.rb: Add proper file info to
CRuby override comments
2012-05-10 Loren Segal <>
* lib/yard/templates/template_options.rb: --embed-mixins should ignore
methods defined directly on a module
* lib/yard/registry.rb: Fix registry doc examples
* lib/yard/docstring_parser.rb: Fix doc references
* Rakefile: Remove manual loading of .travis.yml in suite task, rvm-tester
does this for us, now.
2012-05-09 Loren Segal <>
* Gemfile, Rakefile: Use rvm-tester for suite task
* lib/yard/logging.rb: Only clear progress in show_progress mode
* lib/yard/cli/yardoc.rb, lib/yard/logging.rb,
lib/yard/parser/source_parser.rb, lib/yard/templates/engine.rb,
spec/parser/source_parser_spec.rb, templates/default/fulldoc/html/setup.rb:
Add log#progress and log#capture to log output using new progress indicator
in 1.9.x. Captures are not fully implemented, but will allow benchmarking of
data through a --time-report option in yardoc.
* lib/yard/templates/template_options.rb: Add #owner to template options
* Rakefile: No more sudo.
* lib/yard/logging.rb: Logging should be sent to STDOUT not STDERR
* lib/yard/cli/yardoc.rb: Re-generating message should be debug, not info
* Gemfile: Remove RSpec version lock in Gemfile again
2012-05-08 Loren Segal <>
* spec/rubygems/doc_manager_spec.rb: Don't stub all FileUtils methods, just
important ones
* lib/yard/rubygems/doc_manager.rb: Require user_interaction since RubyGems
no longer does
* Gemfile: Re-lock Gemfile due to travis errors
* spec/rubygems/doc_manager_spec.rb: Require fileutils for specs
* Gemfile: Unlock rspec in Gemfile
* lib/yard/logging.rb, lib/yard/parser/source_parser.rb,
spec/logging_spec.rb: Parser backtraces should be logged in warn level
Closes #541
* spec/rubygems/doc_manager_spec.rb: Add specs for yard doc installation
* lib/yard/rubygems/doc_manager.rb, spec/rubygems/doc_manager_spec.rb: Add
specs for rubygems plugin code and handle --backtrace and .yardopts files
2012-05-04 Loren Segal <>
* spec/parser/source_parser_spec.rb: Remove and_return on
should_not_receive() to fix spec
* Gemfile: Update Gemfile to deal with RSpec regression rspec/rspec-mocks#132
* lib/yard/tags/default_factory.rb, spec/tags/default_factory_spec.rb: Fix
broken specs, references #535
* lib/yard/tags/default_factory.rb, spec/tags/default_factory_spec.rb: Fix
type parser to properly handle Ruby's operator and special method names
Closes #535
2012-05-02 Loren Segal <>
* ChangeLog,, docs/, lib/yard.rb: Bump to 0.8.1, update
README, WhatsNew
* lib/yard/tags/library.rb: Update note about transitive tags to include info
about overriding
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Add --no-api to allow
including of objects with undefined API
* lib/yard/i18n/message.rb: Fix typo, references #534
* lib/yard/i18n/message.rb, lib/yard/i18n/messages.rb: Various minor
documentation formatting and text fixes References #534
* spec/i18n/messages_spec.rb: Sort results in I18n::Messages#each spec to fix
compare for 1.8.6
* spec/cli/yardoc_spec.rb: Fix spec errors in 1.8.x
* spec/cli/stats_spec.rb, spec/cli/yardoc_spec.rb: Allow verifier to treat
all objects as having visibility, so --no-public should hide constants too,
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Add `--api` switch to
yardoc in order to generate docs for API tags without needing `--query`
syntax. Multiple `--api` switches can be used to generate docs for multiple
APIs at once (they are logically OR'd together). Closes #532
* lib/yard/verifier.rb, spec/verifier_spec.rb: Fix verifier supporting
namespaced tags with special @{tag} syntax
* lib/yard/cli/stats.rb: Show 0% documented if total == 0
* lib/yard/cli/list.rb, spec/cli/list_spec.rb: yard list command should use
cache by default Closes #533
* lib/yard/verifier.rb, spec/verifier_spec.rb: Allow namespaced tags
2012-05-01 Loren Segal <>
* lib/yard/code_objects/macro_object.rb, lib/yard/docstring.rb,
lib/yard/docstring_parser.rb, lib/yard/handlers/base.rb,
lib/yard/tags/directives.rb: Add Docstring.default_parser and
Docstring.parser Plugin developers can now specify custom parser classes to
be used when parsing docstrings. These classes must inherit from
DocstringParser. This changeset also exposes public methods to
DocstringParser for better use with subclasses. References #529
* lib/yard/tags/library.rb: Update documentation for `@private` tag
* lib/yard/tags/library.rb: Update Tags::Library documentation
* lib/yard/docstring_parser.rb, spec/docstring_parser_spec.rb: Add specs for
after_parse parameter checking and fix broken duplicate param tag
* templates/default/tags/html/option.erb: Remove trailing mdash from options
listing if no description is present Closes #522
* .../default/fulldoc/html/full_list_method.erb,
templates/default/fulldoc/html/setup.rb: Serialize method_list with proper
filename Closes #528
2012-04-30 Loren Segal <>
* ChangeLog, lib/yard.rb: Bump version to 0.8.0
*, docs/ Update README/WhatsNew
* lib/yard/tags/library.rb: Update docs for option tag
* lib/yard/tags/library.rb: Update Library class docs
* lib/yard/autoload.rb, lib/yard/i18n/pot_generator.rb,
lib/yard/i18n/text.rb: Some minor documentation formatting fixes for I18n
* templates/default/module/html/item_summary.erb: private badge should be
lowercase in item summary
* lib/yard/tags/library.rb: Add note about transitive tags
2012-04-30 Kouhei Sutou <>
* lib/yard/i18n/text.rb: i18n: document YARD::I18n::Text
* lib/yard/i18n/pot_generator.rb: i18n: document YARD::I18n::PotGenerator
2012-04-30 Loren Segal <>
* lib/yard/code_objects/base.rb, lib/yard/docstring.rb,
lib/yard/handlers/ruby/struct_handler_methods.rb, lib/yard/registry_store.rb,
lib/yard/tags/directives.rb, lib/yard/templates/engine.rb,
lib/yard/templates/helpers/markup_helper.rb: Add after_parse callback to
check that @param tag names match method parameters Closes #526
* lib/yard/docstring_parser.rb, spec/docstring_parser_spec.rb: Add
Docstring.after_parse callback to perform sanity checks and last minute
modifications on a docstring after it is parsed
* Add note about 0.7.5 release
* lib/yard/tags/default_factory.rb, spec/tags/default_factory_spec.rb: Fix
bug in types list parser with certain duck-type method names
* lib/yard/registry_store.rb, lib/yard/tags/directives.rb: Add since tags and
document some methods
* lib/yard/autoload.rb, lib/yard/docstring.rb, lib/yard/docstring_parser.rb:
Document Docstring/DocstringParser classes, and add 0.8.0 since tags
* LICENSE, Change copyright year and version
* lib/yard/server/commands/library_command.rb: Dup lists when storing old
template paths and includes
* lib/yard/server/commands/library_command.rb: Force serializing to be false
(without this, breaks for some weird reason)
* lib/yard/server/commands/library_command.rb,
.../doc_server/processing/html/processing.erb: Don't need extra option to
show processing page
* lib/yard/registry_store.rb, spec/registry_store_spec.rb: RegistryStore
should update types_for_object list when object key is modified
* lib/yard/cli/command.rb: load() instead of require() when using --load
* lib/yard/cli/yardoc.rb: Expand path when registering template path
* .yardopts_i18n: Update .yardopts_i18n to include template paths and other
2012-04-29 Loren Segal <>
* lib/yard/server/commands/library_command.rb: Push/pop template paths and
extra include info between requests
* spec/config_spec.rb: Put ARGV back after test
* LEGAL,, Rakefile, benchmarks/builtins_vs_eval.rb,
benchmarks/erb_vs_erubis.rb, benchmarks/generation.rb, benchmarks/parsing.rb,
benchmarks/registry_store_types.rb, docs/, docs/,
docs/, docs/, docs/, docs/,
docs/, docs/templates/default/yard_tags/html/list.erb,
lib/yard/cli/diff.rb, lib/yard/cli/list.rb, lib/yard/cli/server.rb,
lib/yard/cli/stats.rb, lib/yard/cli/yardoc.rb, lib/yard/cli/yri.rb,
lib/yard/code_objects/base.rb, lib/yard/code_objects/extra_file_object.rb,
lib/yard/code_objects/method_object.rb, lib/yard/config.rb,
lib/yard/docstring.rb, lib/yard/docstring_parser.rb,
lib/yard/handlers/base.rb, lib/yard/handlers/c/alias_handler.rb,
lib/yard/handlers/c/attribute_handler.rb, lib/yard/handlers/c/base.rb,
lib/yard/handlers/c/handler_methods.rb, lib/yard/handlers/c/init_handler.rb,
lib/yard/handlers/c/method_handler.rb, lib/yard/handlers/c/mixin_handler.rb,
lib/yard/handlers/c/path_handler.rb, lib/yard/handlers/c/struct_handler.rb,
lib/yard/handlers/processor.rb, lib/yard/handlers/ruby/attribute_handler.rb,
lib/yard/handlers/ruby/legacy/base.rb, lib/yard/logging.rb,
lib/yard/options.rb, lib/yard/parser/c/c_parser.rb,
lib/yard/parser/c/comment_parser.rb, lib/yard/parser/c/statement.rb,
lib/yard/parser/ruby/ruby_parser.rb, lib/yard/parser/source_parser.rb,
lib/yard/rake/yardoc_task.rb, lib/yard/serializers/file_system_serializer.rb,
lib/yard/server/commands/search_command.rb, lib/yard/server/rack_adapter.rb,
lib/yard/tags/default_factory.rb, lib/yard/tags/directives.rb,
lib/yard/tags/library.rb, lib/yard/templates/helpers/base_helper.rb,
lib/yard/templates/template.rb, lib/yard/templates/template_options.rb,
spec/cli/command_parser_spec.rb, spec/cli/command_spec.rb,
spec/cli/config_spec.rb, spec/cli/diff_spec.rb, spec/cli/gems_spec.rb,
spec/cli/help_spec.rb, spec/cli/server_spec.rb, spec/cli/stats_spec.rb,
spec/cli/yardoc_spec.rb, spec/cli/yri_spec.rb,
spec/code_objects/base_spec.rb, spec/code_objects/class_object_spec.rb,
spec/code_objects/namespace_object_spec.rb, spec/code_objects/proxy_spec.rb,
spec/config_spec.rb, spec/core_ext/array_spec.rb, spec/core_ext/file_spec.rb,
spec/core_ext/hash_spec.rb, spec/core_ext/insertion_spec.rb,
spec/core_ext/module_spec.rb, spec/core_ext/string_spec.rb,
spec/core_ext/symbol_hash_spec.rb, spec/docstring_spec.rb,
spec/handlers/alias_handler_spec.rb, spec/handlers/attribute_handler_spec.rb,
spec/handlers/base_spec.rb, spec/handlers/c/alias_handler_spec.rb,
spec/handlers/c/init_handler_spec.rb, spec/handlers/c/method_handler_spec.rb,
spec/handlers/extend_handler_spec.rb, spec/handlers/legacy_base_spec.rb,
spec/handlers/method_handler_spec.rb, spec/handlers/mixin_handler_spec.rb,
spec/handlers/processor_spec.rb, spec/handlers/spec_helper.rb,
spec/handlers/yield_handler_spec.rb, spec/options_spec.rb,
spec/parser/base_spec.rb, spec/parser/c_parser_spec.rb,
spec/parser/examples/array.c.txt, spec/parser/examples/extrafile.c.txt,
spec/parser/examples/override.c.txt, spec/parser/ruby/ast_node_spec.rb,
spec/parser/ruby/ruby_parser_spec.rb, spec/parser/source_parser_spec.rb,
spec/parser/tag_parsing_spec.rb, spec/rake/yardoc_task_spec.rb,
spec/registry_spec.rb, spec/registry_store_spec.rb,
spec/serializers/yardoc_serializer_spec.rb, spec/server/adapter_spec.rb,
spec/server/doc_server_serializer_spec.rb, spec/server/rack_adapter_spec.rb,
spec/server/router_spec.rb, spec/server/static_caching_spec.rb,
spec/spec_helper.rb, spec/tags/default_factory_spec.rb,
spec/tags/directives_spec.rb, spec/tags/library_spec.rb,
spec/tags/overload_tag_spec.rb, spec/tags/ref_tag_list_spec.rb,
spec/templates/class_spec.rb, spec/templates/constant_spec.rb,
spec/templates/engine_spec.rb, spec/templates/examples/class001.html,
spec/templates/helpers/text_helper_spec.rb, spec/templates/method_spec.rb,
spec/templates/module_spec.rb, spec/templates/onefile_spec.rb,
spec/templates/section_spec.rb, spec/templates/spec_helper.rb,
spec/templates/tag_spec.rb, spec/templates/template_spec.rb,
spec/verifier_spec.rb, templates/default/class/setup.rb,
templates/default/module/setup.rb, templates/default/module/text/setup.rb,
templates/guide/layout/html/layout.erb, templates/guide/layout/html/setup.rb,
templates/guide/method/html/setup.rb, yard.gemspec: The great whitespace fix
of 2012
* spec/config_spec.rb: Fix broken specs
* docs/ Add missing period
* templates/default/fulldoc/html/css/full_list.css,
templates/default/fulldoc/html/full_list.erb: Ensure that pipes after nav
links don't get linkified as well (css fix)
* lib/yard/cli/command.rb, lib/yard/config.rb, spec/config_spec.rb: Add
--safe commandline option in case you cannot provide it in ~/.yard/config
* lib/yard/tags/directives.rb, lib/yard/tags/library.rb: Replace backticks in
docs with ++ RDoc format
* docs/, docs/templates/default/layout/html/tag_list.erb: Update tags
syntax documentation
* templates/default/fulldoc/html/js/app.js: Ignore h1/2/3/4/5 tags inside of
method details
* .yardopts, .yardopts_guide, .yardopts_i18n, docs/, docs/,
docs/ Reorganize tags docs and remove glossary
* lib/yard/tags/directives.rb: Document attribute and method directives
* lib/yard/tags/library.rb: Fix signatures in library
* docs/, lib/yard/code_objects/macro_object.rb,
lib/yard/tags/directives.rb: Document macros
2012-04-28 Loren Segal <>
* lib/yard/tags/directives.rb: Docs for scope and visibility directives
* lib/yard/tags/directives.rb, lib/yard/tags/library.rb: Update tag/directive
* docs/templates/default/yard_tags/html/setup.rb: Change signature to use
yard.signature if found
* docs/templates/default/yard_tags/html/list.erb, docs/templates/plugin.rb:
Display documentation for Directive class as documentation for
* .yardopts, docs/templates.rb, docs/templates/plugin.rb: Move templates.rb
to plugin.rb and add yard.signature tag
* lib/yard/tags/library.rb: Update docs for define_tag/define_directive
* lib/yard/tags/directives.rb: Document Tags::Directive
* docs/, lib/yard/tags/library.rb: Remove manual tags list from
* lib/yard/tags/library.rb: Add more tag documentation
* docs/templates/default/yard_tags/html/list.erb: Add 'first' class to first
tag in list
* docs/templates.rb: Update url_for to link from relative root when listing a
tag/directive object
2012-04-27 Loren Segal <>
* docs/templates/default/layout/html/tag_list.erb: Add note about tag listing
on index page
* docs/ Remove documentation about adding custom JS when
generating custom menus
* lib/yard/tags/library.rb: Document tags in Library
* lib/yard/tags/library.rb: Fix the way yard.directive macro is declared
* docs/templates/default/yard_tags/html/list.erb,
docs/templates/default/yard_tags/html/setup.rb: Refactor yard_tags listing
* docs/templates/default/fulldoc/html/js/tag_list.js,
docs/templates/default/layout/html/setup.rb: Remove special JS and tag_page
generation (using file instead)
* .../default/fulldoc/html/full_list_tag.erb: Refactoring fixes for tag_link
* docs/, docs/templates.rb: Add yard:include_tags and tag: linkify
prefixes for tags documentation templates
2012-03-21 Loren Segal <>
* docs/templates.rb: Add custom helpers definitions
* .yardopts, .../default/fulldoc/html/full_list_tag.erb,
docs/templates/default/yard_tags/html/setup.rb, lib/yard/tags/library.rb:
Update tag docs templates
* lib/yard/tags/library.rb: Move attached macro to define_tag class method
2012-01-26 Loren Segal <>
* .yardopts, .../default/fulldoc/html/full_list_tag.erb,
docs/templates/default/yard_tags/html/setup.rb, lib/yard/tags/library.rb: Add
initial custom templates for tags documentation
2012-04-29 Loren Segal <>
* lib/yard/server/commands/display_object_command.rb,
lib/yard/server/doc_server_helper.rb, lib/yard/server/router.rb,
.../templates/default/layout/html/breadcrumb.erb: Server displays README on
index route if available. Renames the index route to /docs/[library/]index.
Closes #385
* lib/yard/server/commands/frames_command.rb,
templates/default/fulldoc/html/frames.erb: Refactor frameset handling in
server to behave like static template
* templates/default/fulldoc/html/js/app.js: Properly set frames title page
when nav links are clicked
* templates/default/fulldoc/html/frames.erb: List title in frames.html
* lib/yard/templates/helpers/html_helper.rb,
templates/default/layout/html/breadcrumb.erb: Add url_for_main and
url_for_index helpers and make use of them in frames/breadcrumbs sections
* lib/yard/server/commands/list_command.rb: Fix file list when asset is not
last command in generate_list by capturing output properly
2012-04-28 Loren Segal <>
* templates/default/fulldoc/html/css/style.css,
templates/guide/fulldoc/html/css/style.css: Update example title css
2012-04-27 Loren Segal <>
* lib/yard/cli/command.rb: Documentation fix for tt text
* templates/default/fulldoc/html/js/app.js: TOC generation can now support
toc-id and toc-title attributes in header tags for use in generating
* lib/yard/server/doc_server_helper.rb,
.../templates/default/layout/html/script_setup.erb: Add customized version of
url_for_list and url_for_frameset helpers for server
* lib/yard/autoload.rb, lib/yard/server/commands/list_command.rb,
lib/yard/server/doc_server_helper.rb, lib/yard/server/router.rb,
.../templates/doc_server/full_list/html/setup.rb, spec/server/router_spec.rb:
Remove List*Command and refactor handling of /list in server to use menu
definitions in fulldoc template
* spec/templates/examples/class001.html,
templates/default/tags/html/see.erb, templates/default/tags/html/tag.erb: Use
h3 for signature tags and move tag listing titles to p tags instead of
* templates/default/fulldoc/html/js/app.js,
templates/default/layout/html/script_setup.erb: Setup framesUrl using helper
* lib/yard/templates/helpers/html_helper.rb,
templates/default/layout/html/search.erb: Simplify menu JS generation and add
url_for_list helper to abstract URL generation for lists
2012-04-26 Loren Segal <>
* lib/yard/parser/ruby/legacy/ruby_parser.rb, lib/yard/tags/directives.rb:
Fix @!parse directive with handlers in legacy parser
* .yardopts, lib/yard/templates/template.rb: Embed ClassMethods mixin into
Template module
* templates/default/module/setup.rb: Fix bug in displaying of attr_listing
with embedded mixins
* lib/yard/autoload.rb, lib/yard/parser/source_parser.rb,
lib/yard/tags/directives.rb, lib/yard/tags/library.rb,
spec/tags/directives_spec.rb: Add @!parse directive to parse arbitrary code
Blocks are parsed in the context of where they are called, and you can
specify the code language using the type specifier: class A # @!parse # #
A dynamic foo method # def foo; end # @!parse def foo2; end # @!parse [c]
# void Init_Foo() { ... } end
* lib/yard/templates/template.rb: Update example documentation for
* lib/yard/templates/template.rb, spec/templates/template_spec.rb: Add tests
to check for lambdas in extra_includes
2011-10-16 Loren Segal <>
* lib/yard/templates/template.rb: Add support for pushing procs into the
Template.extra_includes array
2012-04-26 Loren Segal <>
* lib/yard/templates/template_options.rb,
spec/templates/examples/module004.html, spec/templates/module_spec.rb: Anchor
mixin name matches
* spec/templates/examples/module004.html, spec/templates/module_spec.rb:
Improve specs for matching --embed-mixin modules
* lib/yard/cli/yardoc.rb, lib/yard/templates/template_options.rb,
spec/cli/yardoc_spec.rb, spec/templates/module_spec.rb,
templates/default/module/setup.rb: Fix all specs
* templates/default/fulldoc/html/css/full_list.css: Separate nav links in
left frame by pipes
* .../templates/default/fulldoc/html/css/custom.css: Fix link to loading.gif
(now processing.gif) Closes #509
2012-04-25 Loren Segal <>
* lib/yard/docstring.rb, lib/yard/parser/source_parser.rb: Documentation
* lib/yard/cli/yri.rb, spec/cli/yardoc_spec.rb, spec/cli/yri_spec.rb,
spec/rake/yardoc_task_spec.rb: Stop creating .yardoc directories during tests
and fix YRI spec to perform lookup in memory first. Closes #513
* lib/yard/cli/stats.rb: Use cache if stats is called with -c
* lib/yard/cli/stats.rb, spec/cli/stats_spec.rb: Add line numbers to `yard
stats --list-undoc --compact` Closes #438
* spec/cli/server_spec.rb: Require bundler for lockfile test Closes #512
* spec/cli/yri_spec.rb: Fix YRI spec name
2012-04-25 Sung Pae <>
* lib/yard/server/rack_adapter.rb: Return exception messages body as Array in
2012-04-25 Loren Segal <>
* lib/yard/handlers/ruby/legacy/mixin_handler.rb: Make fix for issue #505
work in legacy mode
2012-04-12 Kouhei Sutou <>
* .yardopts_i18n, lib/yard/autoload.rb, lib/yard/cli/command_parser.rb,
lib/yard/cli/i18n.rb, spec/cli/i18n_spec.rb: pot: add "yard i18n" command
that generates .pot YARD::CLI::I18n inherits YARD::CLI::Yardoc because
"i18n" command use the same options in "doc" command. But it will be better
that we share the same options in another way because "i18n" command doesn't
need all options in "doc" command. We need to discuss how to implement it.
So I use inheritance for now.
2012-04-05 Loren Segal <>
* lib/yard/registry.rb, spec/registry_spec.rb: Fix resolve on Object (look
past superclass)
* lib/yard/registry.rb, spec/registry_spec.rb: Registry.resolve() should
check inherited methods from Object/BasicObject
* lib/yard/parser/ruby/ast_node.rb: MethodCallNode#block should not return
last if it's not a block param
2012-04-04 Loren Segal <>
* lib/yard/parser/ruby/ast_node.rb: MethodCallNode#block should return block,
not block param
2012-04-01 Nikolai Weibull <>
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Fix linking to method names that
have been escaped
2012-03-30 Nikolai Weibull <>
* lib/yard/handlers/ruby/mixin_handler.rb,
spec/handlers/mixin_handler_spec.rb, spec/templates/examples/module001.txt:
Fix mixin order of multiple arguments to include
2012-03-28 Loren Segal <>
* lib/yard/parser/ruby/ast_node.rb: Add ClassNode, ModuleNode and LoopNode
AST nodes
2012-03-25 Loren Segal <>
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/source_parser_spec.rb:
Workaround to bug in ripper encoding of heredoc strings Ruby tracker issue:
* .../templates/default/layout/html/script_setup.erb,
templates/default/layout/html/script_setup.erb: Add missing script_setup.erb
2012-03-23 Loren Segal <>
* lib/yard/server/commands/search_command.rb: Fix search results to point to
the right object
* lib/yard/server/rack_adapter.rb: Show backtrace in rack adapter if error is
* lib/yard/server/commands/library_command.rb,
lib/yard/templates/template_options.rb: Use TemplateOptions (subclass) in
server handling
* .../templates/default/fulldoc/html/js/live.js,
templates/default/layout/html/layout.erb: Add frames link to complement no
frames links Refactor layout headers JS setup and generate base variables to
use for URL mapping. Closes #444
2012-03-22 Loren Segal <>
* spec/templates/template_spec.rb, templates/default/fulldoc/html/frames.erb,
templates/default/module/dot/info.erb, templates/default/module/dot/setup.rb,
templates/guide/layout/html/layout.erb, templates/guide/layout/html/setup.rb,
templates/guide/method/html/header.erb: Use dot syntax for TemplateOptions
options data member access instead of options[:field] syntax
* lib/yard/registry.rb, lib/yard/registry_store.rb,
lib/yard/serializers/yardoc_serializer.rb, spec/registry_spec.rb,
spec/registry_store_spec.rb: Add Registry/RegistryStore optimization to make
lookuped by type (Registry.all(type)) much faster
* benchmarks/registry_store_types.rb: Add benchmark to show lookup speed
between normal registry and one separated into type buckets.
2012-03-21 Loren Segal <>
* templates/default/module/setup.rb: Don't use Hash#values due to 1.8.x
hashes not being ordered
* templates/default/module/html/item_summary.erb,
templates/default/module/setup.rb: Run verifier on read/write attribute
values to make sure they are not supposed to be filtered out. Closes #394
* lib/yard/autoload.rb, lib/yard/code_objects/method_object.rb,
lib/yard/handlers/base.rb, lib/yard/handlers/c/base.rb,
lib/yard/tags/directives.rb, spec/code_objects/macro_object_spec.rb,
spec/handlers/c/method_handler_spec.rb, spec/handlers/dsl_handler_spec.rb,
spec/handlers/module_function_handler_spec.rb, spec/tags/directives_spec.rb:
Add support for module_function calls in Ruby. Also supports
rb_define_module_function() in CRuby. Allows instantiation of MethodObjects
using :module scope. This creates the method object in the class scope but
also creates a blank instance method of the same name and makes it private.
Allows @!scope directive to specify module scope for creation of module
functions using directive syntax. Some refactoring was done to `register_`
methods in Handlers::Base to more easily set object visibility. Closes #378
* lib/yard/tags/directives.rb, spec/tags/directives_spec.rb: Don't expand new
unattached macros
* lib/yard/code_objects/base.rb, lib/yard/code_objects/method_object.rb,
spec/code_objects/base_spec.rb: Add #copyable_attributes to allow subclasses
to define which attributes can be copied
* lib/yard/code_objects/method_object.rb,
spec/code_objects/method_object_spec.rb: Allow creation of method with
:module as scope (convenience for creating public :class and private
:instance methods)
* lib/yard/code_objects/base.rb, spec/code_objects/base_spec.rb: Add
CodeObjects::Base#copy_to to copy object data to a new object
* lib/yard/handlers/ruby/dsl_handler_methods.rb: Whitespace fix
* lib/yard/handlers/ruby/dsl_handler_methods.rb,
spec/handlers/examples/dsl_handler_001.rb.txt: Update/add DSL handler tests
* lib/yard/tags/directives.rb, spec/tags/directives_spec.rb: Don't expand
macros attached directly to class method declarations
* lib/yard/handlers/ruby/dsl_handler_methods.rb,
spec/handlers/examples/dsl_handler_001.rb.txt: Properly append docstring on
attached macros
* spec/handlers/dsl_handler_spec.rb: Fix whitespace/directive names
2012-03-20 Loren Segal <>
* docs/, docs/,
lib/yard/code_objects/macro_object.rb, lib/yard/handlers/base.rb,
lib/yard/handlers/ruby/struct_handler_methods.rb, lib/yard/options.rb,
lib/yard/parser/ruby/ruby_parser.rb, spec/code_objects/macro_object_spec.rb,
spec/handlers/method_handler_spec.rb, spec/parser/source_parser_spec.rb,
spec/tags/directives_spec.rb: Rename @macro/@method/@attribute tags to @!
directive syntax and drop use of @attr in favour of new @!attribute directive
* lib/yard/autoload.rb, lib/yard/code_objects/macro_object.rb,
lib/yard/docstring.rb, lib/yard/docstring_parser.rb,
lib/yard/handlers/base.rb, lib/yard/tags/directives.rb,
lib/yard/tags/library.rb, lib/yard/tags/tag_parser.rb,
spec/docstring_parser_spec.rb, spec/tags/directives_spec.rb,
spec/tags/tag_parser_spec.rb: Rename Tags::TagParser to DocstringParser
* Rakefile: Use default progress output for rspec results instead of specdoc
2012-03-05 Dominik Honnef <>
* docs/, docs/, lib/yard/cli/yardoc.rb,
lib/yard/server/commands/base.rb, lib/yard/server/rack_adapter.rb,
lib/yard/server/router.rb, lib/yard/server/static_caching.rb: Fix whitespace
and improve documentation
2012-03-19 Loren Segal <>
* lib/yard/tags/directives.rb, spec/tags/directives_spec.rb: Allow @!method
names to have self. prefix shorthand for class scope (instead of specifying
@!scope class later)
* lib/yard/tags/directives.rb, spec/tags/directives_spec.rb: Fix whitespace
* spec/tags/directives_spec.rb: Add specs for handling method/attribute
directives with no indented block
* lib/yard/tags/directives.rb, spec/tags/directives_spec.rb:
@!method/@!attribute directives now create methods within namespace if they
are attached to a namespace object (module or class)
* lib/yard/parser/c/statement.rb, lib/yard/parser/ruby/ast_node.rb,
lib/yard/parser/ruby/legacy/statement_list.rb: Deprecate across
Ruby/C parsers. Group is now set in directive
* lib/yard/handlers/base.rb, lib/yard/tags/directives.rb,
lib/yard/tags/tag_parser.rb, spec/docstring_spec.rb,
spec/tags/directives_spec.rb, spec/tags/tag_parser_spec.rb: Add specs for
TagParser and Directive
2012-03-18 Loren Segal <>
* lib/yard/tags/default_factory.rb, lib/yard/tags/directives.rb,
lib/yard/tags/library.rb: Allow indented @!attribute text
* lib/yard/tags/directives.rb, spec/tags/directives_spec.rb: Allow defining
multiple @!method/@!attribute directives by using indented text
* lib/yard/handlers/ruby/attribute_handler.rb,
lib/yard/handlers/ruby/legacy/attribute_handler.rb: Make legacy attribute
handler work with new directives
* lib/yard/autoload.rb, lib/yard/handlers/ruby/legacy/comment_handler.rb,
spec/parser/source_parser_spec.rb: Add CommentHandler and support lone
comments in legacy parser
2012-03-17 Loren Segal <>
* lib/yard/code_objects/base.rb, lib/yard/handlers/base.rb,
lib/yard/parser/ruby/ruby_parser.rb, lib/yard/registry.rb: Fix some method
redefinition warnings
* lib/yard/handlers/base.rb: Avoid ruby warnings for @in_files
* spec/parser/ruby/ruby_parser_spec.rb, spec/parser/source_parser_spec.rb:
Move RubyParser spec to right place
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/source_parser_spec.rb:
Handle lone comments at end of blocks
* lib/yard/autoload.rb, lib/yard/handlers/ruby/comment_handler.rb,
lib/yard/parser/ruby/ast_node.rb, lib/yard/parser/ruby/ruby_parser.rb,
spec/parser/source_parser_spec.rb: Add comment handler parsing of lone
* lib/yard/handlers/base.rb: Remove macro specific implementation in
Handlers::Base (incompatible API change)
* lib/yard/autoload.rb, lib/yard/handlers/ruby/comment_handler.rb,
spec/handlers/macro_handler_spec.rb, spec/handlers/method_handler_spec.rb:
Update handlers and rename MacroHandler to DSLHandler (since it is not meant
for macro expansion but DSL method detection
* lib/yard/handlers/ruby/attribute_handler.rb: Refactor attribute handler to
handle the fact that statement.comments might be filled with directives but
no docstring data
* lib/yard/handlers/base.rb, lib/yard/handlers/c/base.rb,
lib/yard/handlers/ruby/legacy/base.rb: Remove protected visibility on Base
handlers objects (needed for directives support)
* lib/yard/code_objects/macro_object.rb,
spec/code_objects/macro_object_spec.rb: Update MacroObject making some
backward incompatible changes 1. MacroObject.find_or_create now takes 2
parameters: the name and the macro data. Previously it took a full docstring
that was parsed out for macro tags. 2. All macro expansion text ($N) should
be indented inside a macro tag. YARD no longer supports macro expansion
across an entire docstring, as this is too difficult to maintain with the new
directives syntax. You can still provide macro expansion within the indented
@macro block, however. 3. Anonymous macros are now supported. A new macro
does not need a name, but if one is not provided, it will not be defined in
the Registry.
* lib/yard/autoload.rb, lib/yard/docstring.rb, lib/yard/tags/directives.rb,
lib/yard/tags/library.rb, lib/yard/tags/tag_parser.rb: Add directives and
refactor Docstring to TagParser Creates a new TagParser class that handles
parsing of tag/directive data. A new directive syntax is added using the @!
prefix. Directives can be defined in the Library using
Library.define_directive providing a subclass of the abstract Directive
class. Directives can make modifications to the parse control flow by hooking
into handlers. While tags only provide meta-data, directives can create or
modify objects during parsing. Information that is only data-driven should
remain as a tag, but if the operation modifies some state during parsing, it
should be made a directive (using the @! syntax) Compatibility note: Macros
and @method/@attribute have been ported over to the new directive syntax and
are no longer "tags". Therefore, you should use @!macro or @!method when
defining objects. YARD still supports @macro/@method for backward
compatibility support, but this syntax should be considered deprecated.
* lib/yard/tags/default_factory.rb: Add with_types_and_title tag factory
* lib/yard/parser/ruby/ast_node.rb, lib/yard/parser/ruby/ruby_parser.rb,
spec/parser/ruby/ruby_parser_spec.rb, spec/parser/source_parser_spec.rb:
Implement CommentNode for Ruby parser (no legacy support yet)
2012-03-18 Loren Segal <>
* spec/cli/diff_spec.rb, spec/cli/yardoc_spec.rb: Fix broken RSpec tests
using ordered (RSpec bug?)
* lib/yard/handlers/processor.rb, spec/handlers/ruby/base_spec.rb,
spec/handlers/ruby/legacy/base_spec.rb: Processor should re-add handlers when
loading if they are not in Base.subclasses
2012-03-07 Loren Segal <>
* lib/yard/cli/server.rb: Call super in CLI::Server initialization
* lib/yard/cli/server.rb: Uniquely add library versions to Server libraries
* lib/yard/cli/server.rb, spec/cli/server_spec.rb: Initialize default
CLI::Server options in constructor, not #run
2012-03-06 Loren Segal <>
* lib/yard/handlers/ruby/legacy/base.rb: Make expansion work in legacy mode
* lib/yard/handlers/ruby/method_handler.rb, lib/yard/parser/ruby/ast_node.rb:
Add MethodDefinitonNode#block and refactor method handler
* lib/yard/handlers/ruby/base.rb,
spec/handlers/macro_handler_spec.rb: Allow macro expansion on method
* spec/parser/source_parser_spec.rb: Silence stderr output in tests
* lib/yard/handlers/ruby/method_handler.rb, lib/yard/parser/ruby/ast_node.rb:
Add MethodDefinitionNode to abstract def/defs nodes. Can now call
node.parameters to access the parameters list in a consistent fashion. Fixes
2012-03-06 Dominik Honnef <>
* lib/yard/templates/helpers/html_helper.rb: generate more explicit title for
links to class methods When having a link to a class method in the current
class/module, like {foo}, generate as the output instead of
plain foo.
2012-03-05 Loren Segal <>
* lib/yard/code_objects/macro_object.rb,
lib/yard/code_objects/method_object.rb: Make MacroObject#sep and
MethodObject#sep public too
* lib/yard/code_objects/base.rb: Make CodeObjects::Base#sep public (and
#format_source private instead of protected)
2012-02-20 Loren Segal <>
* lib/yard/options.rb: Update Options#update documentation
2012-02-19 Loren Segal <>
* lib/yard/cli/yardoc.rb: Register some one-off keys used in template
* lib/yard/options.rb, .../templates/doc_server/search/html/setup.rb,
lib/yard/templates/engine.rb, lib/yard/templates/helpers/base_helper.rb,
lib/yard/templates/helpers/text_helper.rb, lib/yard/templates/template.rb,
spec/cli/yardoc_spec.rb, spec/templates/helpers/base_helper_spec.rb,
.../templates/helpers/shared_signature_examples.rb: Replace all hash options
hash syntax in templates with Options attribute accesosr syntax
* lib/yard/options.rb: Make method_missing work in 1.8
* lib/yard/autoload.rb, lib/yard/cli/yardoc.rb,
lib/yard/code_objects/base.rb, lib/yard/templates/engine.rb,
lib/yard/templates/helpers/base_helper.rb, lib/yard/templates/template.rb,
lib/yard/templates/template_options.rb, spec/templates/class_spec.rb,
spec/templates/constant_spec.rb, spec/templates/engine_spec.rb,
spec/templates/method_spec.rb, spec/templates/module_spec.rb,
spec/templates/spec_helper.rb, spec/templates/tag_spec.rb: Refactor options
hashes in template architecture to use TemplateOptions class, and add
YardocOptions class for special 'yard doc' options
* lib/yard/options.rb: Update documentation
* lib/yard/options.rb: Update documentation in Options class
* lib/yard/options.rb, spec/options_spec.rb: Add more implementation / tests
for Options class
* lib/yard/options.rb, spec/options_spec.rb: Add Options.default_attr as
convenience to define default attribute values
2012-02-18 Loren Segal <>
* lib/yard/autoload.rb, lib/yard/options.rb, spec/options_spec.rb: Add base
Options class to be used by template/parser architecture in options refactor
2012-02-13 Sergey Avseyev <>
* lib/yard/handlers/c/handler_methods.rb, spec/parser/c_parser_spec.rb: Allow
multiline description for constants
2012-02-12 Loren Segal <>
* lib/yard/handlers/c/override_comment_handler.rb,
spec/handlers/c/override_comment_handler_spec.rb: Handle Document-class
syntax with inheritance
* templates/default/module/html/defines.erb: Show (unknown) defined file if
no files exist
* lib/yard/handlers/c/handler_methods.rb: Refactor namespace calls in
* lib/yard/handlers/c/handler_methods.rb: Silently ignore invalid CRuby
method declarations
* lib/yard/handlers/c/handler_methods.rb,
spec/handlers/c/class_handler_spec.rb: Properly handle Proxy superclasses in
* lib/yard/parser/c/comment_parser.rb: Fix parsing of name in override
* lib/yard/parser/c/statement.rb, lib/yard/parser/ruby/legacy/statement.rb:
Fix how C::Statement#show displays first line of code
* lib/yard/parser/c/c_parser.rb: Fix parsing of whitespace in CRuby files
* lib/yard/autoload.rb, lib/yard/handlers/c/struct_handler.rb,
spec/handlers/c/struct_handler_spec.rb: Support CRuby
2012-02-10 Loren Segal <>
* templates/default/fulldoc/html/js/full_list.js: Don't use global
window.event, Firefox does not support this
2012-02-07 Loren Segal <>
* .travis.yml, Gemfile: Use stable test dependencies
* Gemfile: Use redcarpet in tests
* .travis.yml: Update Travis CI ruby versions
2012-02-01 Loren Segal <>
* spec/templates/onefile_spec.rb: Make specs work in Ruby 1.8
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb,
spec/templates/onefile_spec.rb: Don't allow --one-file to be used with
--charset us-ascii Closes #472
* lib/yard/serializers/file_system_serializer.rb: Refactor filesystem
2012-01-31 Loren Segal <>
* spec/templates/examples/module003.html, spec/templates/module_spec.rb,
templates/default/module/setup.rb: Don't show inherited constants if
overridden Closes #474
* lib/yard/server/commands/library_command.rb: Verify markup options when
loading yard opts in server mode
* lib/yard/templates/helpers/html_helper.rb: Refactor code block parsing out
of htmlify
2012-01-30 Loren Segal <>
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Update tests for
html_syntax_highlight and minor refactor Closes #478, #479
2012-01-31 Dominik Honnef <>
* lib/yard/templates/helpers/html_helper.rb: do not assume that
html_syntax_highlight always gets called from htmlify By having moved up the
language detection and removing of !!!LANG from the input source we broke
html_syntax_highlight when it was being called independently, as it wouldn't
sanitize input nor have a fallback language. We now have to detect the
language twice, once for writing the correct <pre> tag and once to ensure
that html_syntax_highlight is working with sane inputs.
2012-01-30 Dominik Honnef <>
* lib/yard/templates/helpers/html_helper.rb: make parse_lang_for_codeblock
return the language as a symbol, not a string
* lib/yard/templates/helpers/html_helper.rb: rename parse_lang to
parse_lang_for_codeblock and mark private
* lib/yard/templates/helpers/html_helper.rb: fix @return tag of
* lib/yard/templates/helpers/html_helper.rb: move parsing of !!!LANG up one
level to add lang classes to <pre> tags
2012-01-29 Loren Segal <>
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Do not copy asset inside
of to/ if to is directory Closes #477
2012-01-26 Loren Segal <>
* lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/method_handler.rb: Fix issue #458 for legacy handlers
* templates/default/fulldoc/html/js/jquery.js: Update jQuery to v1.7.1
* templates/default/layout/html/breadcrumb.erb: Prioritize contents/file for
breadcrumb links
* templates/default/fulldoc/html/css/style.css,
templates/default/layout/html/files.erb: Generalize css for files list in
index page
* templates/default/layout/html/setup.rb: Check for :contents section before
object in layout template
* lib/yard/templates/engine.rb, spec/templates/engine_spec.rb:
Engine.generate should pass :object=>Registry.root (so object is never nil)
* lib/yard/handlers/ruby/base.rb: Fix call parameter source when symbol is a
keyword in ripper
* templates/default/tags/setup.rb: Make tags template more friendly for tags
with '.' in them
* lib/yard/handlers/ruby/legacy/macro_handler.rb,
lib/yard/handlers/ruby/macro_handler_methods.rb: Refactor macro handling into
MacroHandlerMethods module
2012-01-25 Loren Segal <>
* lib/yard/handlers/ruby/macro_handler.rb,
spec/handlers/macro_handler_spec.rb: Require special tags to create implicit
DSL docstring Special tags are: method attribute overload visibility scope
2012-01-23 Loren Segal <>
* spec/registry_spec.rb, spec/templates/class_spec.rb: Fix Debian test
failures in 1.9.3 Partially fixes #397
2012-01-21 Kouhei Sutou <>
* lib/yard/code_objects/base.rb, spec/code_objects/base_spec.rb: don't
discard tags by (see ...). fixes #457
* lib/yard/handlers/ruby/method_handler.rb,
spec/handlers/method_handler_spec.rb: don't add default @return if a
@overload has @return. fixes #458
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
fix %w() source in []/[]= parsed context. fixes #461
2012-01-19 Loren Segal <>
* lib/yard/handlers/ruby/macro_handler_methods.rb,
spec/handlers/macro_handler_spec.rb: Do not auto-detect DSL methods as method
objects if parameter name is not a valid method name Closes #464
* lib/yard/registry_store.rb, spec/registry_store_spec.rb: Remove heuristics
that disable single object db Closes #466
* lib/yard/handlers/ruby/macro_handler_methods.rb: Allow processing of macros
attached to Object class (via inheritance) Closes #465
2012-01-18 yuta yamada <>
* lib/yard/templates/engine.rb: fix typo (toe => to)
* lib/yard/server/adapter.rb: fix typo
* lib/yard/core_ext/symbol_hash.rb: fix typo (period)
2012-01-16 Loren Segal <>
* lib/yard/docstring.rb, lib/yard/tags/library.rb, spec/docstring_spec.rb,
spec/tags/library_spec.rb: Allow '.' in tag names for namespacing. Tags can
now be registered as '' to namespace tags for a 'foo' library or
plugin. Note that the registered tag methods in the Library will use
underscores in place of the '.', so calling: Tags::Library.define_tag
'Description', '', :with_types Will register the method:
Tags::Library#foo_bar_tag(text) Closes #452
* templates/default/module/html/item_summary.erb: Note titles should be
lowercase in summary
* spec/templates/examples/module003.html, spec/templates/module_spec.rb,
templates/default/module/setup.rb: Run verifier on inherited attributes list
Closes #432
2012-01-10 Loren Segal <>
* .../method_details/html/method_signature.erb,
templates/default/module/setup.rb: Update templates to enable embed_mixins to
embed mixins into current namespace's method list
* templates/default/fulldoc/html/css/style.css: Update css styling for new
embedded mixin method badges and info
* spec/templates/examples/module004.html, spec/templates/module_spec.rb: Add
template specs for embed_mixins
* lib/yard/templates/helpers/base_helper.rb,
templates/default/method_details/setup.rb: Add BaseHelper#owner to represent
the object generated for the overall page
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Add --embed-mixins option
to set :embed_mixins
* bin/yard, bin/yardoc, bin/yri: Rewrite binaries so that they "require
* spec/templates/examples/class001.html,
templates/default/fulldoc/html/css/style.css: No more lowercasing in css for
note title badges
* spec/templates/examples/module001.html,
.../default/module/html/inherited_attributes.erb: Show proper inherited
attribute names
2012-01-09 Loren Segal <>
* lib/yard.rb: Update version in 0.8.0-master branch to reflect 0.8.0 pre
* Update docs to reflect removed yard-graph
* bin/yard-graph, bin/yard-server: Remove old binaries (yard-graph,
yard-server) Use `yard graph` and `yard server` instead.
2012-01-08 Loren Segal <>
* spec/handlers/c/mixin_handler_spec.rb: Add MixinHandler specs
* lib/yard/handlers/c/constant_handler.rb,
spec/handlers/c/constant_handler_spec.rb: Add constant handler specs
* lib/yard/handlers/c/handler_methods.rb: Fix typo in handle_alias
* lib/yard/handlers/c/base.rb, spec/handlers/c/method_handler_spec.rb,
spec/parser/c_parser_spec.rb: Move CParser specs to MethodHandler specs and
add more tests
* spec/handlers/c/module_handler_spec.rb: Add module specs
* lib/yard/handlers/c/handler_methods.rb,
spec/handlers/c/class_handler_spec.rb: Ensure class registers file/line info
for declaration
* spec/handlers/c/alias_handler_spec.rb,
spec/handlers/c/class_handler_spec.rb, spec/handlers/c/path_handler_spec.rb,
spec/handlers/c/spec_helper.rb, spec/parser/c_parser_spec.rb: Move handler
tests from CParser and add extra tests for ClassHandler
* spec/handlers/c/init_handler_spec.rb,
spec/handlers/c/spec_helper.rb: Rewrite handler specs
* spec/parser/c_parser_spec.rb: Rewrite tests
* lib/yard/parser/c/c_parser.rb, lib/yard/parser/c/statement.rb: Allow C
parser to ignore bodies
* lib/yard/handlers/c/handler_methods.rb,
lib/yard/handlers/c/override_comment_handler.rb: Add fully qualified path
names in handler code
* lib/yard/handlers/c/base.rb: Fix lookups for non-capitalized variables
* lib/yard/handlers/base.rb, lib/yard/handlers/c/base.rb,
lib/yard/handlers/c/handler_methods.rb, lib/yard/handlers/c/init_handler.rb:
Refactor Handlers::Base#register() to use multiple register_* methods so that
subclasses can override specific registration behaviour
* lib/yard/parser/c/statement.rb: Comment#comments should return self
* lib/yard/handlers/c/init_handler.rb: Allow for init_Foo() syntax in C files
* lib/yard/handlers/c/base.rb: Rewrite process_file() to no longer use
ignored_files (not needed with new parser loop)
* spec/code_objects/constants_spec.rb: Fix broken spec since Continuation is
no longer loaded in runtime during tests
* lib/yard/parser/source_parser.rb: Use new arguments
* lib/yard/autoload.rb, lib/yard/parser/c_parser.rb,
spec/parser/c_parser_spec.rb: Move Parser::CParser to Parser::C::CParser (new
* lib/yard.rb, lib/yard/handlers/base.rb, lib/yard/handlers/processor.rb,
lib/yard/logging.rb, lib/yard/parser/c_parser.rb,
lib/yard/parser/source_parser.rb, spec/handlers/processor_spec.rb,
spec/handlers/ruby/base_spec.rb, spec/handlers/ruby/legacy/base_spec.rb,
spec/handlers/spec_helper.rb, spec/parser/source_parser_spec.rb: Removes
continuations from YARD Replaces continuations with recursive parsing using
a new OrderedParser class. This comes with a number of API changes: 1.
YARD::Parser::LoadOrderError is removed 2. no longer
accepts load_order_errors argument 3. now takes 1 single
argument `parser`. 4. Processor#load_order_errors is removed Instead,
Parser::OrderedParser is added and sent to the global state during parsing.
`Processor#parse_remaining_files` replaces the raising of LoadOrderError,
which performs the parsing recursively by calling `OrderedParser#parse`
(which continues shifting the files queue) rather than with continuations.
* lib/yard/handlers/c/constant_handler.rb,
lib/yard/handlers/c/handler_methods.rb: Implement ConstantHandler
* lib/yard/handlers/c/alias_handler.rb,
lib/yard/handlers/c/handler_methods.rb: Move handle_alias into HandlerMethods
* lib/yard/handlers/base.rb: Set source type when registering objects
* lib/yard/handlers/c/attribute_handler.rb,
lib/yard/handlers/c/handler_methods.rb, lib/yard/handlers/c/path_handler.rb:
Fix EOLs
* lib/yard/autoload.rb: Reorganize autoload for Handlers::C
* lib/yard/autoload.rb, lib/yard/handlers/c/mixin_handler.rb: Add
* lib/yard/autoload.rb, lib/yard/handlers/c/alias_handler.rb,
lib/yard/handlers/c/attribute_handler.rb, lib/yard/handlers/c/base.rb,
lib/yard/handlers/c/handler_methods.rb, lib/yard/handlers/c/init_handler.rb,
lib/yard/handlers/c/method_handler.rb, lib/yard/handlers/c/module_handler.rb,
lib/yard/handlers/c/path_handler.rb, lib/yard/handlers/c/symbol_handler.rb,
lib/yard/handlers/processor.rb, spec/handlers/c/init_handler_spec.rb,
spec/handlers/c/spec_helper.rb: Add initial Handlers::C implementations and
add handler specific tests
* lib/yard/handlers/processor.rb: Update processor to allow for
handles?(handler, processor) method declaration
* lib/yard/handlers/base.rb: Change Base#register to only add docstring if
statement.comments is a String or Array object
* lib/yard/autoload.rb, lib/yard/parser/c/c_parser.rb,
lib/yard/parser/c/comment_parser.rb, lib/yard/parser/c/statement.rb,
lib/yard/parser/source_parser.rb, spec/parser/c_parser_spec.rb: Initial
implementation of Parser::C::CParser
2012-01-07 Ankur Patel <>
* templates/default/fulldoc/html/js/full_list.js: Ignoring non-printable
characters in search
2012-01-05 Sergey Avseyev <>
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Do not escape snippets twice
Markup helpers aleardy done escaping. This is actually partial revert of
2012-01-02 Loren Segal <>
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Add support for
rb_path2class() in CRuby
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Properly handle
parsing of nested namespace definitions Fixes #437
2012-01-01 Loren Segal <>
* spec/templates/examples/module003.html, spec/templates/module_spec.rb,
.../default/module/html/inherited_attributes.erb: Ignore overwritten
attributes from inherited list Closes #442
* spec/server/rack_adapter_spec.rb: Properly shutdown adapter after rack
middleware specs
2011-12-26 Sergey Avseyev <>
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Allow aliases
for attributes
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Fix attribute
parsing This is the real signature for rb_define_attr(). There is only four
arguments. void rb_define_attr(VALUE klass, const char *name, int read, int
2011-12-19 Loren Segal <>
* spec/templates/tag_spec.rb, templates/default/tags/setup.rb: Don't render
param tags on non-method objects Closes #429
2011-12-11 Loren Segal <>
* lib/yard/server/commands/library_command.rb,
lib/yard/server/doc_server_serializer.rb, lib/yard/server/rack_adapter.rb,
lib/yard/server/router.rb, .../doc_server/library_list/html/contents.erb,
lib/yard/server/webrick_adapter.rb, spec/server/doc_server_helper_spec.rb,
spec/server/doc_server_serializer_spec.rb, spec/server/router_spec.rb: Only
add /version/ to URLs accessed with /version/ Adds request.version_supplied
to detect whether the version was parsed out of the URL. Rewrote some of the
URL helpers and serializers to respect this new behaviour. The biggest
change is that the DocServerSerializer will no longer add the /prefix to the
serialized_path, and it will now ignore the command passed in to the
constructor (which is now optional). Instead, DocServerHelper#url_for should
be used to generate a URL with a prefix. Closes #426
2011-12-06 yuta yamada <>
* docs/ fix piglatin description (parsed to be ruby syntax)
* docs/ fix tag description (parsed to be ruby syntax)
2011-12-04 Loren Segal <>
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Be more forgiving about generated
HTML for code blocks
2011-12-05 yuta yamada <>
* docs/, docs/ fix-typo
2011-12-03 Loren Segal <>
* ChangeLog,, docs/, lib/yard.rb: Bump to version 0.7.4
and update README/ChangeLog/WhatsNew
* lib/yard/templates/helpers/markup_helper.rb: Revert loading of RDoc inside
of markup helper, load it in RDocMarkup instead (since JRuby does not like
this all the time)
* lib/yard/templates/helpers/markup/rdoc_markup.rb: JRuby doesn't like doing
a require 'rdoc' without the gem.
* lib/yard/templates/helpers/markup/rdoc_markup.rb,
spec/templates/helpers/html_helper_spec.rb: Add support for RDoc 3.10 which
no longer requires 'rdoc' inside markup sources
* lib/yard/server/commands/search_command.rb: Prune search results according
to verifiers (no-private, etc.) This should ensure that the server side
search results are in sync with the statically generated class/method lists.
Closes #420
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Add support for
rb_define_alias Closes #413
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Re-organize markup types text,
none, and add type 'pre'. The new behaviour for the types are as follows:
pre: Pre-formatted text, wrapping input inside <pre> tags. text: No
formatting except for replacing newlines with <br> tags. none: No formatting
at all. In all cases, HTML is escaped. Note that syntax highlighting does
not work in these markup types. Closes #416
2011-12-02 Loren Segal <>
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Add 'textile_strict' markup type
that uses strict hard breaks on newlines
* lib/yard/templates/helpers/markup/rdoc_markup.rb,
spec/templates/helpers/markup/rdoc_markup_spec.rb: Ignore +typewritertext+
inside code blocks Closes #403
* lib/yard/templates/helpers/markup_helper.rb,
spec/templates/helpers/markup_helper_spec.rb: Redcarpet is now the default
markdown provider for YARD
* lib/yard/templates/helpers/html_helper.rb: Autolink when using red carpet
* .../helpers/html_syntax_highlight_helper_spec.rb: Fix specs to use new css
rules when generating HTML syntax highlighted Ruby
* .../helpers/html_syntax_highlight_helper.rb,
templates/guide/fulldoc/html/css/style.css: Change generated HTML when
performing syntax highlighting of Ruby code to generate ids with CSS prefix
"rubyid_" to avoid collisions with other CSS class names.
2011-12-01 Mark Morga <>
* lib/yard/rake/yardoc_task.rb: Documentation improvements in YardocTask.
Fixed attr :options to indicate that it should be an Array<String> rather
than Hash. Added an example for attr :files to show correct use of "-" for
extra files.
2011-11-28 Loren Segal <>
* lib/yard/server/commands/library_command.rb,
.../doc_server/processing/html/processing.erb: Server "processing" response
should return HTTP code 202 Accepted instead of 302. This change makes
IE8/IE9 happier about redirects, and is the proper response code for this
situation. Closes #418
2011-11-26 Kouhei Sutou <>
* lib/yard/parser/source_parser.rb, spec/parser/source_parser_spec.rb:
support encoding detection in C source file.
* spec/parser/source_parser_spec.rb: accept 'coding: ENCODING; OTHER
PARAMTERS' style encoding line.
* lib/yard/parser/source_parser.rb, spec/parser/source_parser_spec.rb:
support UTF-8 as encoding name.
2011-11-25 Kouhei Sutou <>
* spec/registry_store_spec.rb: ensure test directory nonexistent.
2011-11-09 yuta yamada <>
* fix a typo.
2011-11-06 Loren Segal <>
* templates/default/fulldoc/html/css/style.css,
templates/guide/fulldoc/html/css/style.css: Better CSS targeting to handle
example identifiers inside code blocks Closes #410
2011-11-04 Loren Segal <>
* lib/yard/templates/helpers/markup_helper.rb: Require 'rdoc' when loading
RDoc markup. Fixes issues with new RDoc 3.x markup loading. Closes #406,
2011-10-21 Loren Segal <>
* templates/default/fulldoc/html/js/app.js: Actually want nextAll(), not
next() when filtering next elements in collapse/view source links
* templates/default/fulldoc/html/js/app.js: Be more specific about which
next() element to toggle (collapse and view source JS event handlers)
* docs/ Fix link to types.html
2011-10-20 Loren Segal <>
* lib/yard/rubygems/specification.rb: Also ensure that has_rdoc is always
boolean inside of has_rdoc? (in case accessor was not called by newer
RubyGems) References #401
* lib/yard/rubygems/specification.rb: Ensure that has_rdoc is true by default
(always boolean) Closes #401
2011-10-16 Loren Segal <>
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Error early if files have
markup formats that are not available on the system
* lib/yard/code_objects/base.rb: Remove unused self.line setting method.
This method was initiating a dispatch to method_missing, since the method did
not exist, and was silently setting an attribute on the object that is never
* lib/yard/code_objects/base.rb: Implement to_ary on CodeObjects::Base Ruby
1.9.2+ likes to ask the base object if it responds to to_ary when
Array#flatten is called on a list. This causes method_missing to be
dispatched to and incurs significant overhead. A 6% performance improvement
was noted for implementing this method alone.
2011-10-15 Loren Segal <>
* ChangeLog,, lib/yard.rb: Update README, ChangeLog and bump to
0.7.3 for release
* Rakefile: Add ruby193 to suite
* spec/config_spec.rb: Remove unnecessary file? stub, fixes JRuby spec
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Support
rb_define_attr in CRuby code Allows for commented /* rb_define_attr */ block
to define an attribute silently when attribute methods are defined through
rb_define_method. Closes #362
* docs/ Fix reference to changed method name in Getting
Started documentation
2011-10-14 Loren Segal <>
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Fix tokenizing of heredoc source Closes #366
* lib/yard/code_objects/macro_object.rb: Fix escaping of {}
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Use ! to escape {} syntax
* spec/cli/server_spec.rb, spec/handlers/constant_handler_spec.rb: Make tests
more Windows friendly
* lib/yard/parser/ruby/ruby_parser.rb: Fix parsing of %w{} and %w() when
ended by a newline
* Sentence rewording
* Get rid of those unicode characters in README
* templates/default/fulldoc/html/css/style.css,
templates/guide/fulldoc/html/css/style.css: Add styling for RDoc definition
lists (default and guide templates) Fixes #359
2011-10-14 Dirkjan Bussink <>
* lib/yard/verifier.rb: Use remove_method instead of undef_method
undef_method has very different semantics. It prevents the class from
responding to the named method. This means that also original methods on
super classes won't be called. This for example results in weird behavior on
Rubinius since the original method_missing method can't be called which
normally throws the NoMethodError. Also see:
2011-10-14 Fabian Schwahn <>
* lib/yard/cli/server.rb, spec/cli/server_spec.rb: removed rubygems
requirement, added handling of load errors and added tests
2011-10-07 Loren Segal <>
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Clean up array AST node handling
2011-10-05 Loren Segal <>
* templates/default/fulldoc/html/css/full_list.css,
templates/default/fulldoc/html/js/full_list.js: Force items to show in list
search when parent lists are collapsed. Fixes #392
* templates/default/fulldoc/html/js/full_list.js: Improve JS searching
capabilities by adding minimal fuzzy finding behaviour. Toggle case sensitive
searching when capital letters are used
2011-10-04 Grégory Karékinian <>
* docs/ Added information about escaping curly braces
2011-10-01 Loren Segal <>
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Fix displaying of source for unary operator nodes in the AST Closes #371
* lib/yard/templates/helpers/markup_helper.rb: Print proper missing gem error
message for files with auto-detected markups that are different from default
markup format. Closes #373
* lib/yard/parser/source_parser.rb: Display backtraces on parser errors in
debugging mode
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Fixes "Bad value for range" error in 1.9.2-p290 and 1.9.3 when using %w{}
syntax (changes to ripper API). Fixes #370
2011-07-12 Tobias Koch <>
* lib/yard/parser/c_parser.rb: More flexible return type guessing in c-parser
* handle keyword (un)signed for Integers * handle class names as return
types * recognize C++ 'bool' * treat return types starting with 'char' as
* lib/yard/parser/c_parser.rb: Find override comment for C constructor
2011-10-01 Loren Segal <>
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Fix broken ruby parser specs
2011-09-17 Fabian Schwahn <>
* lib/yard/cli/server.rb: add gemfile command to yard server
2011-09-07 Loren Segal <>
* spec/code_objects/extra_file_object_spec.rb, spec/handlers/base_spec.rb,
spec/templates/helpers/html_helper_spec.rb: Fix various encoding and toplevel
class variable changes for 1.9.3 compatibility
* lib/yard/handlers/ruby/attribute_handler.rb,
lib/yard/handlers/ruby/base.rb, lib/yard/handlers/ruby/visibility_handler.rb,
lib/yard/parser/ruby/ast_node.rb, spec/handlers/ruby/base_spec.rb,
spec/parser/ruby/ast_node_spec.rb: Add support for new Ripper vcall AST node,
replaces var_ref for method calls Closes #384
* lib/yard/handlers/base.rb, lib/yard/parser/source_parser.rb: LoadOrderError
should not stuff continuation inside of message (1.9.3 now calls to_s on
raise argument)
* Rakefile, lib/yard/cli/yri.rb: Remove depcrecated Config in favour of
2011-08-18 Kouhei Sutou <>
* lib/yard/templates/helpers/html_helper.rb: escape HTML meta characters in
text for HTML output. Here is an example text file. hello.txt: Hello >_<!
Here is a command to generate HTML: % yardoc - hello.txt It generates the
following HTML: ... ...<pre>Hello >_<!</pre>... ... We should escape ">",
"<" and so on in text to output valid HTML.
2011-08-14 Loren Segal <>
* spec/templates/examples/method001.html: Fix broken spec from incomplete
merge on #372
2011-08-07 Kouhei Sutou <>
* templates/default/tags/html/option.erb: fix wrong close tag.
2011-07-01 Rob Gleeson <>
* lib/yard/templates/helpers/html_helper.rb: Add support for GitHub
codeblocks when using RedCarpet.
2011-07-07 Kouhei Sutou <>
* .../default/fulldoc/html/full_list_methods.erb: [template][html] add
missing escape in object link label. This problem can be reproducable by the
following steps: 1. Create the following script: class Array def &(other)
end end 2. Genreate documents from the above script: % yardoc array-amp.rb
3. Find link markup in method_list.html: % grep '#&' method_list.html <span
class='object_link'><a href="Array.html#%26-instance_method" title="Array#&
(method)">#&</a></span> '>#&</a' should be '>#&amp;</a'.
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: [html] fix missing escape in
2011-06-22 Loren Segal <>
* lib/yard/handlers/ruby/exception_handler.rb,
spec/handlers/exception_handler_spec.rb: Ignore empty raise calls instead. It
is too ambiguous for YARD to guess at
* spec/parser/c_parser_spec.rb: Fix C parser spec
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Handle proper
filenames in C parser /* in FILE */ declarations Closes #358
* spec/parser/c_parser_spec.rb: Refactor C parser specs
2011-06-20 Sven Fuchs <>
* .travis.yml: Don't use bundler_args: --local in .travis.yml This setting
only works on the current production worker because the gems all happen to be
installed already. The new worker setup will rollback changes after every
install and so tests will always fail with this setting.
2011-06-19 Loren Segal <>
* lib/yard/rubygems/specification.rb: Support RubyGems 1.8.x in
2011-06-15 Loren Segal <>
* lib/yard/handlers/ruby/exception_handler.rb,
spec/handlers/exception_handler_spec.rb: Handle empty raise statements as
raising Exception Closes #356
2011-06-14 Loren Segal <>
* Point contributors section to github's contributors page (easier
* .travis.yml: Only test for 1.8.6, 1.8.7 and ree on
* .travis.yml: One more update for Travis CI
* Rakefile: Fix travis_ci task status exiting and legacy mode
* Gemfile: Remove ripper from Gemfile temporarily
* .travis.yml, Rakefile, spec/cli/yri_spec.rb: Add support for
* Gemfile: Fix Gemfile to add ripper/rubygems sources
* ChangeLog,, lib/yard.rb: 0.7.2 release
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Add extra spec for `{http://...}`
links (and fix behaviour)
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Support YARD style `{http://...
title}` links when using markdown provider that performs URL autolinking.
Closes #353
2011-06-13 Loren Segal <>
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Print correct constant values when using %w() arrays Closes #348
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Use capitalized tag name
if title is not provided in --tag Closes #352
* .gitignore, Gemfile: Add Gemfile for Bundler support
2011-06-12 Loren Segal <>
* lib/yard/tags/library.rb: Fix typo in transitive_tags docs
2011-06-11 Michael S. Klishin <>
* spec/registry_spec.rb: Eliminate deadlocks for thread-local spec group on
1.8.7-p334 Ruby 1.8.7 seems to treat empty while loops "specially". As soon
as a Kernel#puts call or a variable assignment happens in the while loop
body, deadlocks are gone. Note that synchronization alone wasn't sufficient.
2011-06-07 Akzhan Abdulin <>
* lib/yard/autoload.rb: __p method should not depend on / file path
separator. Actually it has only one parameter.
2011-06-06 Loren Segal <>
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb,
spec/templates/onefile_spec.rb, templates/default/onefile/html/setup.rb: Fix
readme logic using --one-file and add tests
* templates/default/fulldoc/html/setup.rb: No longer need to add
files/readmes in templates (done inside CLI::Yardoc)
* spec/cli/yardoc_spec.rb: Stub out README in extra files spec
2011-06-05 Nick Plante <>
* lib/yard/cli/yardoc.rb: ensure that readme isn't duplicated in file list
* lib/yard/cli/yardoc.rb, lib/yard/server/commands/frames_command.rb,
lib/yard/server/commands/library_command.rb, spec/cli/yardoc_spec.rb: Fix
readme option display for YARD server (frames)
2011-06-03 Loren Segal <>
* lib/yard/parser/ruby/legacy/statement_list.rb,
spec/handlers/method_handler_spec.rb: Properly handle 'def end' in legacy
parser Closes #343
2011-05-27 Loren Segal <>
* spec/cli/diff_spec.rb: Make File mocks in diff_spec.rb more resilient to
different environments (bundler)
* lib/yard/templates/helpers/text_helper.rb,
spec/templates/helpers/text_helper_spec.rb: Make overload fix work with text
helper as well
* lib/yard/server/commands/library_command.rb: Require 'thread' in
LibraryCommand Closes #338
2011-05-24 Franklin Webber <>
* lib/yard/config.rb: YARD::Config - fixed typo Thanks Loren
* lib/yard/config.rb: YARD Configuration Documentation Included example of
using the YARD::Config from the point-of-view of plugin designer.
2011-05-24 Jon Wood <>
* Fix a type in the query documentation.
2011-05-23 Loren Segal <>
* lib/yard/templates/helpers/html_helper.rb,
.../templates/helpers/shared_signature_examples.rb: Method signature should
use regular return tag if @overload is empty
* lib/yard/code_objects/macro_object.rb: Fix documentation for macro
interpolation ($* not $&)
* lib/yard/handlers/ruby/macro_handler_methods.rb,
spec/handlers/macro_handler_spec.rb: The @attribute tag should allow setting
the method name
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Link to correct object when
`@overload` tag uses different method name Reported by @ryansobol Closes
* lib/yard/cli/yardoc.rb: Don't use --charset in 1.8
* spec/templates/helpers/html_helper_spec.rb: Load markup provider before
stubbing file so specs pass
* lib/yard/cli/server.rb: Simplify the assignment of expanded library path
2011-05-23 Rob Gleeson <>
* lib/yard/cli/server.rb, spec/cli/server_spec.rb: Fix failing specs.
2011-05-22 Rob Gleeson <>
* lib/yard/cli/server.rb: Resolve relative links in daemon mode.
2011-05-22 Loren Segal <>
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Handles the valid 'utf8' locale
value as 'utf-8' Supporting #317
* spec/templates/helpers/html_helper_spec.rb: Stub ENV for charset test
Closes #317
2011-05-21 Loren Segal <>
* lib/yard/parser/source_parser.rb: Fix documentation claiming that
SourceParser.parse returns a parser object; it returns void. Closes #325
* spec/cli/command_spec.rb: Add more tests for unrecognized options in yard
* lib/yard/cli/command.rb, spec/cli/command_spec.rb: Try to continue parsing
options if one argument failed to parse
2011-05-20 Loren Segal <>
* lib/yard/cli/yardoc.rb: Remove default parsing of --help/--version in
OptionParser so that yardoc --help shows up again Closes #324
* lib/yard/handlers/ruby/legacy/macro_handler.rb,
spec/handlers/macro_handler_spec.rb: Enable DSL/macro detection in top level
namespace Closes #321
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Don't enforce
K&R C syntax when searching for CRuby function bodies Closes #320
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Refactor C
Parser tests and ensure that comments are no longer part of the method body
* lib/yard/handlers/base.rb, lib/yard/logging.rb,
lib/yard/parser/c_parser.rb: Add Logger#warn_no_continuations to refactor the
multiple calls to this global warning switch
* lib/yard/autoload.rb: Add NamespaceMissingError to autoload
2011-05-20 Rob Gleeson <>
* lib/yard/cli/yardoc.rb: Provide a solution to issue #322. Ask 'Encoding'
does it respond to default_external= before assuming that it does.
2011-05-18 Loren Segal <>
* lib/yard/cli/stats.rb, spec/parser/base_spec.rb: Fix some incompatible
specs on Rubinius
* .gitignore: Ignore .rbc files from project
* ChangeLog, lib/yard.rb: Update version / changelog
* Bump to 0.7.1
* spec/code_objects/constants_spec.rb: Fix a spec
2011-05-18 Simone Carletti <>
* docs/ Fixed broken links.
2011-05-17 Loren Segal <>
* templates/default/fulldoc/html/setup.rb: Oops, yard server sets @items
manually and does not fill options[:objects]
* ChangeLog, Release 0.7.0
* lib/yard.rb: Bump version to 0.7.0
* Update readme for release
2011-05-16 Loren Segal <>
* docs/ Discuss new -t guide template in WhatsNew
* lib/yard/templates/helpers/html_helper.rb: A little hack to avoid
{} from warning about invalid object when autolinking is turned
on in the markup provider
* docs/ Add documentation about new --yardopts flag
* templates/guide/fulldoc/html/css/style.css: Fix some tag stylings in guide
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Make sure RDiscount autolinks
URLs (silly RDiscount)
* .gitignore: Ignore doc_guide dir
* .yardopts_guide: Put the guide docs in another directory
* .yardopts_guide: Add title to Guide docs
* docs/ Document the use of the @encoding extra file
metadata tag
* .yardopts_guide: Add guide yardopts
2011-05-15 Loren Segal <>
* templates/guide/layout/html/layout.erb: Update layout to remove ToC title
if there are no topics
* templates/guide/fulldoc/html/css/style.css,
templates/guide/layout/html/layout.erb: Update guide style
2011-04-11 Loren Segal <>
* templates/guide/class/html/setup.rb,
templates/guide/layout/html/layout.erb, templates/guide/layout/html/setup.rb,
templates/guide/method/html/header.erb, templates/guide/method/html/setup.rb,
templates/guide/module/html/setup.rb, templates/guide/tags/html/setup.rb: Add
initial guide template
2011-05-16 Loren Segal <>
* docs/ Update Templates guide on adding custom js/css; manually
generating assets is no longer necessary
* spec/templates/onefile_spec.rb, templates/default/fulldoc/html/setup.rb,
templates/default/onefile/html/setup.rb: Fix --one-file template generation
and add some sanity specs so it doesn't break again
2011-05-15 Loren Segal <>
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: HtmlHelper#charset should be
aware of extra files and set proper page encoding
* lib/yard/code_objects/extra_file_object.rb,
spec/code_objects/extra_file_object_spec.rb: Attempt to reparse extra file
contents as binary data if it cannot be parsed as utf-8
* lib/yard/cli/yardoc.rb: Fix wording of --charset
* docs/ Fix formatting in
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Fix bug in htmlify when
encountering a {} string
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Add support for --yardopts
FILE to specify a non-standard yardopts filename
* lib/yard/cli/command.rb, lib/yard/cli/yardoc.rb: Fix yard doc --help
formatting of options to make it fit on 80 width terminals
2011-05-14 Loren Segal <>
* docs/ What's New docs for 0.7.0
* lib/yard/code_objects/macro_object.rb, lib/yard/parser/source_parser.rb:
Some inter-doc link formatting fixes
* docs/ Initial what's new sections
* lib/yard/parser/source_parser.rb: Add @since tag for SourceParser#contents
* lib/yard/parser/source_parser.rb, spec/parser/source_parser_spec.rb: Add
SourceParser.{before,after}_parse_{list,file} callbacks which allow plugin
developers to register callbacks and hook into parsing phase, either on a
per-file basis or a per-"parse" (list of files) basis. Closes #315
* lib/yard/docstring.rb: Make Docstring#create_tag public
2011-05-13 Loren Segal <>
* lib/yard/code_objects/macro_object.rb: Fix formatting of list in
* docs/ Add `{render:}` sample tag in getting started guide
* docs/ Document new {render:FOO} syntax Closes #309
* docs/, docs/ Document new macros behaviour in
Getting Started guide and Tags Overview Closes #307
* lib/yard/templates/helpers/html_helper.rb: Don't attempt to link file
without serializer
* lib/yard/handlers/base.rb: Make sure globals.__attached_macros is
initialized in handlers
* lib/yard/code_objects/macro_object.rb: Document MacroObject class
* lib/yard/docstring.rb, lib/yard/handlers/base.rb,
spec/handlers/macro_handler_spec.rb: Properly handle @overload tags and
create @overload tag when @method is used
2011-05-13 Franklin Webber <>
* lib/yard/cli/command.rb: Load Script - load error message For scripts that
are composed of multiple files the load script error message, in it's current
state is a head scratcher. I updated the load error message to include the
load exception in the output to help debug the loading of the script.
2011-05-13 Loren Segal <>
* lib/yard/cli/yardoc.rb, lib/yard/parser/source_parser.rb,
spec/cli/yardoc_spec.rb: Add 'app/**/*.rb' to default parsing glob. Closes
* templates/default/fulldoc/html/css/style.css: Make style more friendly to
{render} on extra files
2011-05-11 Loren Segal <>
* lib/yard/handlers/base.rb, lib/yard/handlers/ruby/base.rb,
spec/handlers/method_handler_spec.rb, spec/parser/source_parser_spec.rb:
Support @macro creation/expansion in any object docstring
* lib/yard/docstring.rb: Docstring should accept initialization with array
(legacy handler support)
2011-05-10 misfo <>
* templates/default/fulldoc/html/js/app.js: ignore keyboard shortcuts when an
input is active use since it's standard across all browsers,
event.originalTarget is mozilla-specific
2011-05-10 Loren Segal <>
* .yardopts: Ignore rubygems/ from docs (they're just backports)
2011-05-09 Loren Segal <>
* lib/yard.rb, lib/yard/rubygems/backports.rb,
lib/yard/rubygems/backports/LICENSE.txt, lib/yard/rubygems/backports/MIT.txt,
lib/yard/rubygems/backports/source_index.rb: Fix RubyGems 1.8.x deprecations
by backporting Gem::SourceIndex We can work on migrating to the new API as
time goes on. Closes #311
2011-05-08 Loren Segal <>
* templates/default/fulldoc/html/css/full_list.css: Remove '|' after content
for menus; it is now generated statically.
2011-05-08 Franklin Webber <>
* docs/ Template - Adding and Overriding Search Menus An
explanation of overriding the existing functionality of the search menus An
explanation of adding a new search menu
* docs/ Template - Custom Javascript and Stylesheets Outlined
how to override and add a custom javascript and stylesheet file for plugin
2011-05-07 Loren Segal <>
* lib/yard/handlers/processor.rb: Fix Processor spec, expects a globals
object to be created
* lib/yard/code_objects/base.rb: No longer support '' or 'Foo#bar'
syntax as name argument to It was never used in YARD's codebase,
and makes initialization very complex.
* lib/yard/cli/yardoc.rb: Handle objects with no file/line info when printing
* lib/yard/autoload.rb, lib/yard/cli/command_parser.rb, lib/yard/cli/list.rb,
spec/cli/list_spec.rb: Add `yard list` command, basically just passes off to
`yard doc --list`. Closes #283
* lib/yard/handlers/ruby/macro_handler_methods.rb: Don't need to
ensure_loaded when checking macros anymore
* lib/yard/handlers/processor.rb, lib/yard/parser/source_parser.rb: Make sure
same globals object is passed across all SourceParsers
* lib/yard/handlers/ruby/alias_handler.rb,
lib/yard/handlers/ruby/private_constant_handler.rb: Declare a bunch of
handlers as namespace_only (for potential future optimizations)
* lib/yard/handlers/ruby/legacy/macro_handler.rb,
lib/yard/handlers/ruby/method_handler.rb: Optimize macro handler, increase
performance to pre-macro speeds
* lib/yard/handlers/base.rb, lib/yard/handlers/processor.rb,
lib/yard/parser/source_parser.rb, spec/handlers/processor_spec.rb,
spec/handlers/spec_helper.rb: Make Processor#globals global to entire
post-process phase and add #extra_state for file-specific state
2011-05-07 Franklin Webber <>
* templates/default/fulldoc/html/setup.rb: Fulldoc Template Updated to
contain information about the various helper methods specified.
2011-05-07 Loren Segal <>
* lib/yard/handlers/base.rb, lib/yard/handlers/processor.rb,
spec/handlers/base_spec.rb: Add Processor#globals and Handlers::Base#globals
to allow handlers to share state within post processing of files. Closes
* lib/yard/handlers/ruby/macro_handler.rb, lib/yard/parser/ruby/ast_node.rb,
spec/handlers/macro_handler_spec.rb: Properly handle macro calls with no
* lib/yard/templates/helpers/html_helper.rb,
lib/yard/templates/helpers/markup_helper.rb, spec/cli/yardoc_spec.rb:
Properly clear markup cache, and try to load markup cache from markup_class
* lib/yard/autoload.rb, lib/yard/handlers/ruby/legacy/macro_handler.rb,
spec/handlers/examples/macro_handler_001.rb.txt: Backport macros to legacy
* spec/docstring_spec.rb: Remove silly useless spec.
* spec/spec_helper.rb: Only htmlify p() and puts() inside of TextMate (rspec
* lib/yard/handlers/ruby/macro_handler.rb: Make attribute tag parser regex
1.8 compatible
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Add -m ruby markup type and
detection of .rb/.ru extra files. Also marks up files when included via
{include:file:...} (and works with ruby source files). Closes #303
* lib/yard/templates/helpers/base_helper.rb,
spec/templates/helpers/base_helper_spec.rb: Disallow users from calling
include:file: on files outside of Dir.pwd
* templates/default/fulldoc/html/setup.rb: Don't duplicate README if
specified manually
* .../templates/doc_server/full_list/html/setup.rb: Show instance attributes
in method list for yard server Closes #302
2011-05-01 Loren Segal <>
* lib/yard/code_objects/macro_object.rb,
lib/yard/handlers/ruby/macro_handler.rb, lib/yard/tags/library.rb,
spec/code_objects/macro_object_spec.rb, spec/handlers/macro_handler_spec.rb:
Refactor macro expansion methods into MacroObject class
2011-04-29 Loren Segal <>
* lib/yard/handlers/ruby/macro_handler.rb,
spec/handlers/macro_handler_spec.rb: Handle RDoc style ## hash flag
docstrings when recognizing DSL methods
2011-04-28 Loren Segal <>
* lib/yard/code_objects/macro_object.rb,
spec/code_objects/macro_object_spec.rb, spec/handlers/macro_handler_spec.rb,
spec/handlers/method_handler_spec.rb: Add MacroObject.find to do a Registry
lookup without needing to know the .macro. prefix
* lib/yard/code_objects/macro_object.rb,
spec/code_objects/macro_object_spec.rb, spec/handlers/macro_handler_spec.rb,
spec/handlers/method_handler_spec.rb: Refactor MacroObject API to make it
easier to use, and add MacroObject.create for quick macro creation
* lib/yard/handlers/ruby/macro_handler.rb: Fix lookup path from outside of
spec suite
* lib/yard/autoload.rb, lib/yard/handlers/base.rb,
spec/handlers/process_handler_spec.rb: New macros make process handler
obsolete, it can be removed
* lib/yard/handlers/ruby/method_handler.rb,
spec/handlers/method_handler_spec.rb: Add macro objects when creating class
* spec/spec_helper.rb: Better HTML friendly printing in the test environment
* lib/yard/handlers/ruby/base.rb: Allow handles method_call to have no
specified method (catches all method calls)
* lib/yard/docstring.rb, spec/docstring_spec.rb: Add Docstring#delete_tags,
Docstring#delete_tag_if and Docstring#dup to support new macros behaviour
* lib/yard/autoload.rb, lib/yard/code_objects/macro_object.rb,
lib/yard/handlers/ruby/macro_handler.rb, lib/yard/tags/library.rb,
spec/handlers/macro_handler_spec.rb: Add MacroObject and MacroHandler which
processes DSL methods in a namespace that have any @tags defined on them as
dynamically generated methods, where the first argument is the method name.
YARD will now automatically detect a dynamic method if it sees tags defined
in its docstring, for example: # The name property # @return [String] a
user's name property :name, String The above definition will automatically
create an instance method named `name` with the docstring "The name property"
(and return tag). In addition to this default behaviour, the method name and
object type/properties can be customized with the addition of the @method,
@attribute, @scope, @visibility tags. Specifically, the example above can be
defined as an attribute by specifying: # @attribute # @return [String] the
name property property :name, String The attribute can be customized further
by adding the 'r' or 'w' type to specify if it is writeonly: # @attribute
[w] property :writeonlyproperty The method/attribute name/signature can also
be customized by adding a signature to the @method/@attibute tags: # @method
foobar(name, opts = {}) # @param [String] name # @scope class register
:foobar Note that because @scope is set, `foobar` will be made into a class
method. Visibility can be set in the same way. Finally, a new @macro tag is
added, with a MacroObject to support it. Whenever a @macro is defined on a
docstring, it creates a new re-usable named macro object that can be
re-applied to any other object, either explicitly by calling on the name, or
implicitly through the "attach" keyword (or by declaring the macro on a class
method directly [*not yet supported*]). Macros are expanded when applied,
interpolating `$N` or `${N-M}` strings with the respective parameters in the
original DSL method. `$0` and `$*` are special tokens that refer to the DSL
method name and the full source line, respectively. The following is an
example of how a DSL method for a CLI option parsing library (such as Rake,
Thor, or others) can be easily documented with macro expansion: # @macro
command # @method $1(opts = {}) # $3 # @return [$2] the result of the
$0 command :create_file, String, "Creates a new file and returns the
filename" The above will automatically expand the macro on the first usage,
and then create a new macro named 'command' that can be reused by other
commands. The above docstring would be expanded into the full docstring: #
@method create_file(opts = {}) # Creates a new file and returns the filename
# @return [String] the result of the command command :create_file, String,
"Creates a new file and returns the filename" This macro can then be re-used
on other commands, either explicitly via: # @macro command command :exit,
Fixnum, "Exits the shell and returns the exit code" Or implicitly by
attaching the command macro to the `command` method call. This can be done by
adding `[attach]` to the initial @macro definition: # @macro [attach]
command # ... command :create_file, ... The next use of `command` will
automatically use this macro, even without any explicit docstring or tags:
command :foobar, String, "this will be in my docs!" Note that the `command`
must come from a class that is in the same inheritance tree as the initially
defined macro. That is, if `command` is used in another class, it will not be
documented. A new macro can be defined for that separate method. In the
future, it will be possible to define a macro directly on the class method
declaration itself, ie.: class CommandParser # @macro command # @method
$1(opts = {}) # $3 # @return [$2] def self.command(name, return_type,
docstring, &block) # implementation... end command :name, String, "retrieves
a username" do DB.get(username) end end * @attribute [rw] optional_name -
defines the DSL method as an attribute * @macro name DOCSTRING - defines a
new macro using name and expands DOCSTRING * @method signature - declares
that the DSL method is a method with an optional signature. Use this when you
otherwise have no other tags to specify for the docstring (since YARD
requires at least one @tag to detect a dynamic DSL method) * @scope
class|instance - sets the scope of the newly added method * @visibility
public|private|protected - sets the visibility of the newly added method
2011-05-07 Loren Segal <>
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Fix rendering of %w() array literals Closes #306
* lib/yard/handlers/base.rb, lib/yard/handlers/ruby/alias_handler.rb,
lib/yard/handlers/ruby/legacy/alias_handler.rb: Ensure docstring has
line_range if parsed from a file Closes #243
* ChangeLog: Don't markdown changelog
* lib/yard/code_objects/base.rb: Cache CodeObjects::Base#docstring properly
* lib/yard/docstring.rb, spec/docstring_spec.rb: Docstring#line should return
nil if #line_range is nil
* lib/yard/autoload.rb: Update documentation in autoload
* lib/yard/rake/yardoc_task.rb, spec/rake/yardoc_task_spec.rb: Fix regression
where YardocTask#verifier would not properly set verifier object Closes #282
* lib/yard/rake/yardoc_task.rb: Document that YardocTask#verifier should take
a Verifier object Closes #281
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Allow run(nil) to cancel
argument parsing in Yardoc
* spec/parser/source_parser_spec.rb: Only test BOM in ripper/1.9
* .../default/module/html/inherited_attributes.erb: Sort inherited attributes
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/source_parser_spec.rb:
Support any number of hashes prefixing a comment line
* lib/yard/parser/c_parser.rb: Remove nonexistent ENOTFILE constant
2011-05-05 Postmodern <>
* lib/yard.rb: Catch all Exceptions raised by Rubinius or JRuby when testing
2011-04-26 Loren Segal <>
* lib/yard/code_objects/extra_file_object.rb,
spec/code_objects/extra_file_object_spec.rb: Add support for @encoding
metadata in extra files to specify individual file encodings
2011-04-25 Loren Segal <>
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Warn when extra
C file is missing from documentation
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Gracefully
handle missing extra source files when parsing C code
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb,
spec/parser/examples/extrafile.c.txt, spec/parser/examples/multifile.c.txt:
Find docstring for methods that are documented in alternate C source files
when "/* in file.c */" comment is found.
* .../templates/default/layout/html/headers.erb,
.../server/templates/default/layout/html/setup.rb: Update yard server
templates to use new css/js listing feature from #289
* templates/default/fulldoc/html/setup.rb,
templates/default/layout/html/setup.rb: Refactor css/js API changes from #289
into layout template so that it works without fulldoc
* lib/yard/server/commands/display_file_command.rb,
lib/yard/templates/helpers/html_helper.rb: Fix yard server to work with
* .../templates/default/layout/html/headers.erb,
templates/default/onefile/html/layout.erb: Add proper meta content-type tag
to layout headers Closes #298
* lib/yard/cli/yardoc.rb: Properly check for -m being set in yardoc arguments
* .../server/commands/display_object_command_spec.rb,
spec/server/commands/library_command_spec.rb: Move tests to
LibraryObjectCommand and improve setup/teardown
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Fix regression in `yard -m
markup` selection
2011-04-25 Franklin Webber <>
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb,
.../server/commands/display_object_command_spec.rb: YARD server - rdoc not
set as default markup; Fixes #300 yardoc parse_arguments reset the markup to
assist with performing validation. However, that should only be done when
yard is generating output, this is not the case when running 'yard server'
which generates no output.
2011-04-21 Loren Segal <>
* lib/yard/tags/library.rb: @api should be transitive too
* lib/yard/parser/source_parser.rb, spec/parser/source_parser_spec.rb: Add
support for UTF-8 byte order mark encoded source files Closes #288
2011-04-21 Erik Michaels-Ober <>
* lib/yard.rb, lib/yard/autoload.rb, lib/yard/cli/command.rb,
lib/yard/cli/command_parser.rb, lib/yard/cli/config.rb, lib/yard/cli/diff.rb,
lib/yard/cli/gems.rb, lib/yard/cli/graph.rb, lib/yard/cli/help.rb,
lib/yard/cli/server.rb, lib/yard/cli/stats.rb, lib/yard/cli/yardoc.rb,
lib/yard/cli/yri.rb, lib/yard/code_objects/base.rb,
lib/yard/code_objects/namespace_object.rb, lib/yard/code_objects/proxy.rb,
lib/yard/code_objects/root_object.rb, lib/yard/config.rb,
lib/yard/core_ext/array.rb, lib/yard/core_ext/file.rb,
lib/yard/core_ext/insertion.rb, lib/yard/core_ext/module.rb,
lib/yard/core_ext/string.rb, lib/yard/core_ext/symbol_hash.rb,
lib/yard/docstring.rb, lib/yard/globals.rb, lib/yard/handlers/base.rb,
lib/yard/handlers/processor.rb, lib/yard/handlers/ruby/alias_handler.rb,
lib/yard/handlers/ruby/attribute_handler.rb, lib/yard/handlers/ruby/base.rb,
lib/yard/handlers/ruby/yield_handler.rb, lib/yard/logging.rb,
lib/yard/parser/base.rb, lib/yard/parser/c_parser.rb,
lib/yard/parser/ruby/ast_node.rb, lib/yard/parser/ruby/legacy/ruby_lex.rb,
lib/yard/parser/ruby/ruby_parser.rb, lib/yard/parser/source_parser.rb,
lib/yard/rake/yardoc_task.rb, lib/yard/registry.rb,
lib/yard/registry_store.rb, lib/yard/rubygems/specification.rb,
lib/yard/serializers/base.rb, lib/yard/serializers/file_system_serializer.rb,
lib/yard/serializers/yardoc_serializer.rb, lib/yard/server/adapter.rb,
lib/yard/server/doc_server_serializer.rb, lib/yard/server/library_version.rb,
lib/yard/server/rack_adapter.rb, lib/yard/server/router.rb,
lib/yard/server/webrick_adapter.rb, lib/yard/tags/default_factory.rb,
lib/yard/tags/default_tag.rb, lib/yard/tags/library.rb,
lib/yard/tags/option_tag.rb, lib/yard/tags/overload_tag.rb,
lib/yard/tags/ref_tag_list.rb, lib/yard/tags/tag.rb,
lib/yard/templates/engine.rb, lib/yard/templates/erb_cache.rb,
lib/yard/templates/helpers/uml_helper.rb, lib/yard/templates/section.rb,
lib/yard/templates/template.rb, lib/yard/verifier.rb: Remove EOL whitespace
* lib/yard/templates/helpers/markup_helper.rb,
spec/templates/helpers/markup_helper_spec.rb: Add Redcarpet to the list of
Markdown providers
2011-04-16 Franklin Webber <>
* templates/default/fulldoc/html/css/full_list.css,
templates/default/layout/html/setup.rb: Customizable JS, CSS, and menus
provided methods to override or add to Javascript, CSS, and the search
2011-04-14 Loren Segal <>
* ChangeLog,, lib/yard.rb: 0.6.8 release
2011-04-13 Loren Segal <>
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Allow backslash escaping of YARD
syntax (`\{foo bar}`) Closes #279
2011-04-12 Loren Segal <>
* spec/cli/yardoc_spec.rb: Fix spec title
2011-04-12 Akzhan Abdulin <>
* templates/default/fulldoc/html/js/app.js,
templates/default/fulldoc/html/js/full_list.js: Fix JSLint issues
2011-04-11 Loren Segal <>
* lib/yard/templates/helpers/markup_helper.rb,
spec/templates/helpers/markup_helper_spec.rb: Remove BlueCloth as default
markdown processor. Replace it with RDiscount and fall back on Kramdown as
second source. Closes #263
* spec/cli/yardoc_spec.rb: Fix specs due to changes in ExtraFileObject API
* lib/yard/code_objects/extra_file_object.rb,
spec/code_objects/extra_file_object_spec.rb: Add specs for ExtraFileObject
* spec/templates/examples/method001.html,
templates/default/tags/html/option.erb, templates/default/tags/html/tag.erb:
Render the option key and parameter name before type specifications. Closes
* lib/yard/cli/yardoc.rb, lib/yard/templates/helpers/markup_helper.rb,
spec/cli/yardoc_spec.rb, spec/templates/helpers/base_helper_spec.rb,
spec/templates/helpers/html_helper_spec.rb: Fix broken specs, make things
work with new markup/extra file logic
* lib/yard/code_objects/extra_file_object.rb,
spec/serializers/file_system_serializer_spec.rb: Update ExtraFileObject and
use this object in FileSystemSerializer and template helpers (for linking)
* ChangeLog, docs/, docs/, docs/,
docs/, docs/, docs/, docs/,
docs/, docs/ Update docs to use new attribute tags
for titles
* lib/yard/templates/helpers/base_helper.rb: Add {render:Object} syntax to
templating syntax. Inserts the formatted object in line to the call site.
Closes #277
*, docs/ Fix formatting in readme / doc files
* lib/yard/templates/helpers/markup_helper.rb: Deprecate some markup file
loading methods (use ExtraFileObject instead)
* lib/yard/cli/yardoc.rb, templates/default/layout/html/headers.erb: Add
global title to each page title
* lib/yard/autoload.rb, lib/yard/cli/yardoc.rb,
templates/default/layout/html/setup.rb: Add ExtraFileObject to abstract extra
(doc) files
2011-04-10 Loren Segal <>
* lib/yard/templates/helpers/markup_helper.rb: Ensure that
load_markup_provider loads type as symbol
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Properly recognize
--no-yardopts (and --no-document) when no --yardopts argument is in the
options. Closes #276
2011-04-09 Loren Segal <>
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Fix regression where
default markup was not being set in yard server
2011-04-07 Loren Segal <>
* Rakefile, yard.gemspec: gemspec date can be set with Ruby!
* lib/yard/logging.rb, spec/logging_spec.rb: Logger should show backtraces
whenever logger level is set to debug
* lib/yard/templates/helpers/markup/rdoc_markup.rb: Fix regression and
support old RDoc versions
2011-04-07 Akzhan Abdulin <>
* templates/default/fulldoc/html/js/jquery.js: Upgrade jQuery from 1.5.1 to
2011-04-06 Loren Segal <>
* Fix tabs formatting in README
* ChangeLog: Update changelog for 0.6.7 release
* ChangeLog,, lib/yard.rb, lib/yard/rubygems/specification.rb:
0.6.7 release (fix issue with gem plugin)
* yard.gemspec: Fix gemspec date
* ChangeLog,, lib/yard.rb: 0.6.6 release
* lib/yard/templates/helpers/markup_helper.rb: Remove loading of 'rdoc' lib
(not all systems have even this file)
2011-04-05 Michael Smit <>
* spec/templates/examples/,
spec/templates/examples/module001.txt, spec/templates/module_spec.rb,
templates/default/module/setup.rb: Added a new section to the default module
template which generates inherited attribute documentation. Modified the
rspec test for the module template to reflect the change.
2011-04-05 Loren Segal <>
* lib/yard/cli/yardoc.rb, lib/yard/templates/helpers/html_helper.rb,
lib/yard/templates/helpers/markup_helper.rb, spec/cli/yardoc_spec.rb,
spec/templates/helpers/html_helper_spec.rb: Add :none markup format (yard -m
none) to bypass markup, and fallback on this format if RDoc is not present
and no markup type is provided.
2011-04-04 Loren Segal <>
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Fix matching of {http://link
description} matches when description has newline in it. Closes #267
* lib/yard/autoload.rb, lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/markup_helper_spec.rb: Refactor RDoc markup into
Templates::Helpers::Markup::RDocMarkup class and improve early error
detection if RDoc is not present on the system. Closes #270
* Rakefile, lib/yard/rubygems/specification.rb: Add support for RubyGems
1.7.x Closes #272
2011-03-22 Loren Segal <>
* benchmarks/splat_vs_flatten.rb, lib/yard/docstring.rb,
lib/yard/tags/overload_tag.rb: Remove hackish OverloadTag#to_a support to
workaround create_tag(*tags) issue (and fix support in JRuby)
2011-03-17 Akzhan Abdulin <>
* lib/yard/core_ext/hash.rb: Fix RDoc failure in lib/yard/core_ext/hash.rb at
or around line 13 column 11 Before reporting this, could you check that the
file you're documenting compiles cleanly--RDoc is not a full Ruby parser, and
gets confused easily if fed invalid programs. The internal error was:
ERROR: While generating documentation for yard-0.6.5 ... MESSAGE: Name or
symbol expected (got #<RubyToken::TkfLBRACK:0x1025e40e0>) ... RDOC args: --ri
--op /Users/akzhanabdulin/.rvm/gems/ree-1.8.7-2011.03/doc/yard-0.6.5/ri
--quiet lib --title yard-0.6.5 Documentation (continuing with the rest of the
installation) Installing RDoc documentation for ripper-1.0.2... Installing
RDoc documentation for yard-0.6.5...
2011-03-13 Loren Segal <>
* ChangeLog, LICENSE,, docs/, lib/yard.rb, yard.gemspec:
Update to 0.6.5
2011-03-11 Loren Segal <>
* spec/parser/c_parser_spec.rb: Gracefully continue if continuation is not
present (for non-MRI 1.9 implementations)
* lib/yard/parser/ruby/ast_node.rb, lib/yard/parser/ruby/ruby_parser.rb: Add
KeywordNode, LiteralNode and improve RubyParser (ripper) support in 1.8.7
* Rakefile: Run ruby18 through test suite with ripper
* lib/yard/handlers/ruby/alias_handler.rb,
spec/handlers/method_handler_spec.rb: Splice any alias references on method
(re-)definitions into separate methods You can add extra documentation
information for the alias itself as comments in the alias (or alias_method)
statement. For instance, # Foo Bar def foo; "Hello" end # @deprecated alias
bar foo # NOT FOO! def foo; 2 end Will turn 'bar' into its own method with
docstring 'Foo Bar' *and* a @deprecated tag. 'foo' will be redefined to have
the docstring 'NOT FOO!'. The alias information will be removed, and the
methods will be considered separate. Closes #247
* lib/yard/parser/ruby/legacy/statement_list.rb,
spec/parser/ruby/legacy/statement_list_spec.rb: Fix registering of
'before_last_ns_tk' in StatementList parser and properly handle keywords
inside alias statements when in blocks
* lib/yard/code_objects/base.rb, lib/yard/code_objects/proxy.rb,
spec/handlers/module_handler_spec.rb: Handle constants used as 'aliases' to
other namespaces ie. module CONST::Foo; end Closes #248
2011-03-10 Loren Segal <>
* Rakefile: Add 'rake suite' task to run specs across all(?) supported ruby
versions (and modes)
* spec/server/rack_adapter_spec.rb: Fix specs to use proper rack protocol
* spec/parser/base_spec.rb, spec/rake/yardoc_task_spec.rb: Fix specs in 1.9.1
* lib/yard/parser/ruby/ruby_parser.rb, lib/yard/parser/source_parser.rb: Make
ruby_parser.rb loadable if Ripper is not available
* lib/yard/handlers/base.rb: ensure_loaded! should short circuit with object
if present (avoid callcc warnings)
* lib/yard/templates/helpers/html_helper.rb: Fix fix_typewriter regression
* lib/yard/parser/ruby/ruby_parser.rb, lib/yard/parser/source_parser.rb: Fix
ruby18 support if ripper is not present
2011-03-09 Loren Segal <>
* lib/yard/templates/helpers/markup_helper.rb: Print markup provider in error
message when it cannot be loaded.
2011-03-07 Loren Segal <>
* lib/yard/handlers/ruby/alias_handler.rb,
spec/handlers/examples/alias_handler_001.rb.txt: Support alias call with
quoted symbols Closes #262
2011-02-28 Akzhan Abdulin <>
* templates/default/fulldoc/html/js/jquery.js: Upgrade jQuery from 1.4.2 to
2011-02-27 Loren Segal <>
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Fix regression where improved
RDoc ++ parsing was not being activating inside of tag blocks
* templates/default/fulldoc/html/css/style.css: Adjust padding on dt/dd to
match rest of style
* templates/default/fulldoc/html/css/style.css: Minor formatting adjustments
* templates/default/fulldoc/html/css/style.css: Fix typo on css declarations
2011-02-28 Guten <>
* templates/default/fulldoc/html/css/style.css: changes css style on list
2011-02-27 Guten <>
* templates/default/fulldoc/html/css/style.css: add css style to list
support <ul> <dl>
2011-02-26 Loren Segal <>
* lib/yard/templates/helpers/html_helper.rb: Fix regression in templates
incorrectly loading rdoc ToHtml formatter
* lib/yard/parser/ruby/legacy/ruby_parser.rb,
lib/yard/parser/ruby/ruby_parser.rb, lib/yard/parser/source_parser.rb,
spec/parser/source_parser_spec.rb: Skip shebang and encoding lines in
docstrings. Also also expose these comments in RubyParser classes through -
RubyParser#encoding_line - RubyParser#shebang_line For new and legacy
parsers. Closes #238
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Fix a bug in Ripper that causes string_content tokens with newlines to only
show the last line as a token in the AST.
* Rakefile, lib/yard.rb, lib/yard/autoload.rb,
.../helpers/html_syntax_highlight_helper18.rb, spec/handlers/base_spec.rb,
spec/handlers/ruby/base_spec.rb, spec/spec_helper.rb,
.../helpers/html_syntax_highlight_helper_spec.rb: Update specs to allow
toggling on and off of LEGACY environment variable for legacy tests in
1.8/1.9 Remove HAVE_RIPPER and LEGACY_PARSER from main YARD code, only use
in specs.
2011-01-11 Loren Segal <>
* Rakefile, lib/yard.rb, lib/yard/autoload.rb,
lib/yard/parser/ruby/ast_node.rb, lib/yard/parser/ruby/ruby_parser.rb,
lib/yard/parser/source_parser.rb, spec/handlers/alias_handler_spec.rb,
spec/handlers/attribute_handler_spec.rb, spec/handlers/base_spec.rb,
spec/handlers/method_handler_spec.rb, spec/handlers/mixin_handler_spec.rb,
spec/handlers/process_handler_spec.rb, spec/handlers/ruby/base_spec.rb,
spec/handlers/yield_handler_spec.rb, spec/parser/ruby/ast_node_spec.rb,
spec/parser/ruby/ruby_parser_spec.rb, spec/parser/source_parser_spec.rb,
.../helpers/html_syntax_highlight_helper_spec.rb: Backport new-style parser
to 1.8 compatible syntax (and semantics) for ripper1.8
2011-02-25 Loren Segal <>
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/markup_helper_spec.rb: Do not assume RDoc is
installed. Moves requiring of SimpleMarkup code as a markup provider.
Installs without rdoc installed will now load YARD properly. Based on
patches by gioele. Closes #214
2011-01-13 Loren Segal <>
* lib/yard/templates/helpers/base_helper.rb,
spec/templates/helpers/base_helper_spec.rb: Add {include:file:FILENAME}
2011-02-25 Loren Segal <>
* Rakefile, lib/rubygems_plugin.rb, lib/yard/rubygems/doc_manager.rb: Fix
loading of YARD rubygems plugin in new location, and load gem plugins when
building the gem
2011-02-25 Postmodern <>
* lib/rubygems_plugin.rb, lib/yard/rubygems/doc_manager.rb,
lib/yard/rubygems/specification.rb: Move YARDs extensions to
Gem::Specification and Gem::DocManager into 'yard/rubygems'. * Since
RubyGems 1.4 disabled RubyGems Plugin loading for non-gem commands, YARDs
extensions to RubyGems cannot be loaded by normal Ruby code. Moving these
extensions into 'lib/yard', allows 'require' to load them again.
2011-02-25 Loren Segal <>
* templates/default/class/dot/superklass.erb: Ignore BasicObject superclass
* templates/default/module/dot/info.erb,
templates/default/module/dot/setup.rb: Fix invalid parsing of modules as
classes in `yard graph` template Closes #245
2011-02-23 Bob Aman <>
* templates/default/layout/html/headers.erb: Fixed invalid meta element in
* spec/parser/source_parser_spec.rb: Added spec to verify docstrings on
metaclasses get parsed correctly.
2011-02-07 latentflip <>
* lib/yard/cli/graph.rb: Fixed a typo in yard-graph help messages: Direclty
-> Directly
2011-01-26 Loren Segal <>
* lib/yard/code_objects/base.rb, lib/yard/serializers/process_serializer.rb,
lib/yard/templates/helpers/markup_helper.rb: More spelling corrections
* docs/, lib/yard/handlers/base.rb,
lib/yard/handlers/processor.rb, lib/yard/parser/ruby/ast_node.rb,
lib/yard/templates/template.rb: Fix typos in docs thanks to yard spellcheck
* lib/yard/cli/config.rb, spec/cli/config_spec.rb: Add yard config --as-list
and yard config --append to force setting of a single value as a list, and to
append values to an existing list, respectively.
2011-01-23 Loren Segal <>
* docs/ Write a note about @api private Closes #223
* templates/default/docstring/setup.rb: Show docstring if @api exists (even
though it is a "hidden tag") Closes #231
* lib/yard/code_objects/base.rb, spec/code_objects/base_spec.rb: Fix relative
object link names removing common object name prefix Closes #232
* spec/config_spec.rb: Fix failing spec when ~/.yard/ignored_plugins does not
* spec/templates/helpers/markup_helper_spec.rb: Fix broken spec with changed
markup provider order
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Don't process ++ typewriter text
inside of HTML attributes Closes #244
2011-01-19 Postmodern <>
* lib/yard/templates/helpers/markup_helper.rb: Prioritize the loading of
kramdown before maruku.
2011-01-19 Loren Segal <>
* templates/default/fulldoc/html/js/app.js: Generate better ids
2011-01-17 Akzhan Abdulin <>
* spec/config_spec.rb: Specs should not broken when plugins installed in
* spec/cli/config_spec.rb, spec/config_spec.rb: Fix uninitialized constant
RSpec::Core::ExampleGroup::Nested_2::Nested_1::YAML error
2011-01-05 Loren Segal <>
* lib/yard/docstring.rb, lib/yard/handlers/base.rb,
lib/yard/parser/ruby/ast_node.rb, lib/yard/parser/ruby/legacy/statement.rb,
lib/yard/parser/ruby/ruby_parser.rb, spec/parser/source_parser_spec.rb: Add
Docstring#hash_flag to denote when a docstring comment started with '##'
Closes gh-230
* lib/yard/tags/default_factory.rb, spec/docstring_spec.rb,
spec/tags/default_factory_spec.rb: Remove trailing whitespace from freeform
tags Closes gh-229
* spec/tags/default_factory_spec.rb: Update default_factory_spec.rb
2011-01-01 Dominik Honnef <>
* templates/default/fulldoc/html/css/style.css: make sure that alternatives
specified in @deprecated don't get struck through and that they're set using
a monospace font
2010-12-30 Loren Segal <>
* spec/cli/yardoc_spec.rb, spec/registry_store_spec.rb: Fix broken specs
* templates/default/layout/html/files.erb,
templates/default/layout/html/setup.rb: Split index/listing templates into
* lib/yard/templates/helpers/html_helper.rb: Add documentation to
* lib/yard/templates/helpers/html_helper.rb: Make SimpleMarkupHtml thread
local, remove constant
2010-12-29 Loren Segal <>
* lib/yard/tags/library.rb: Fix documentation on tag library
* lib/yard/registry.rb, lib/yard/registry_store.rb, spec/cli/yardoc_spec.rb,
spec/registry_store_spec.rb, spec/serializers/yardoc_serializer_spec.rb: Add
specs to single object db functionality
* lib/yard/registry.rb, spec/registry_spec.rb: Add spec for single_object_db
attribute default value
2010-12-28 Loren Segal <>
* lib/yard/serializers/yardoc_serializer.rb: Add check for empty object db
* lib/yard/cli/yardoc.rb: Allow disabling of single_object_db
* lib/yard/cli/yardoc.rb, lib/yard/registry.rb, lib/yard/registry_store.rb,
lib/yard/serializers/yardoc_serializer.rb: Initial single object db
2010-12-29 Loren Segal <>
* spec/registry_spec.rb: Fix formatting in spec
* lib/yard/registry.rb, spec/registry_spec.rb: Add specs to thread local
storage code, improve initializations
* lib/yard/code_objects/base.rb, spec/code_objects/base_spec.rb: Make sure
the non-tag form of (see ...) only works at the start of a docstring
2010-12-25 Loren Segal <>
* lib/yard/autoload.rb, lib/yard/code_objects/base.rb,
spec/handlers/private_constant_handler_spec.rb: Add support for
`private_constant` class method calls to recognize private class, module and
constant definitions (proposed for Ruby 1.9.3). Closes gh-219
2010-12-21 Loren Segal <>
* ChangeLog,, lib/yard.rb, yard.gemspec: Bump to version 0.6.4
* spec/server/rack_adapter_spec.rb: Fix RackMiddleware tests for 1.8.x
* lib/yard/server/commands/base.rb,
lib/yard/server/commands/library_command.rb: Move #render back to
Commands::Base, since another class depends on it
* lib/yard/autoload.rb, lib/yard/server/adapter.rb,
lib/yard/server/doc_server_serializer.rb, lib/yard/server/library_version.rb,
lib/yard/server/rack_adapter.rb, lib/yard/server/router.rb,
lib/yard/server/static_caching.rb, lib/yard/server/webrick_adapter.rb: Beef
up YARD::Server* documentation
2010-12-20 Loren Segal <>
* docs/ Extra information about type specifications, fix
tools section
* docs/ Improve getting started documentation, add more
syntax documentation
* lib/yard/code_objects/base.rb, lib/yard/code_objects/method_object.rb,
lib/yard/code_objects/root_object.rb: Cache CodeObjects::Base#path to
significantly improve performance
* lib/yard/templates/engine.rb: Fix broken documentation reference
2010-12-19 Loren Segal <>
* lib/yard/parser/ruby/ruby_parser.rb,
spec/parser/ruby/ruby_parser_spec.rb: Fix ordering of heredoc tokens Closes
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Fix listing of heredoc source in 1.9.x
* lib/yard/parser/ruby/ast_node.rb, lib/yard/parser/ruby/ruby_parser.rb,
spec/parser/ruby/ruby_parser_spec.rb: Fix Derived < ::Base inheriting wrong
Base (not top level) Closes gh-216
2010-12-17 Loren Segal <>
* Rakefile, spec/spec_helper.rb, spec/templates/helpers/html_helper_spec.rb,
spec/templates/module_spec.rb: Make rakefile backwards compatible for rspec
1.x users
* Rakefile, spec/cli/diff_spec.rb, spec/cli/stats_spec.rb,
spec/cli/yardoc_spec.rb, spec/templates/engine_spec.rb: Add compatibility
with rspec2
2010-12-15 Loren Segal <>
* spec/templates/spec_helper.rb: Can't use example() with rspec2
2010-12-12 Gioele Barabucci <>
* Rakefile, spec/spec_helper.rb: Minimal update to RSpec 2
2010-12-15 Loren Segal <>
* spec/cli/yri_spec.rb: Add sanity check tests to YRI specs
* lib/yard/registry.rb, lib/yard/server/commands/library_command.rb: Use
threadlocal registries
2010-12-15 Lee Jarvis <>
* lib/yard/cli/yri.rb: prepend :: to adhere to rubys class lookup rules for
2010-11-24 Loren Segal <>
* lib/yard/templates/helpers/markup_helper.rb,
spec/templates/helpers/markup_helper_spec.rb: Fix automatic loading of markup
providers by properly caching provider information. Closes gh-206
* lib/yard/templates/helpers/markup_helper.rb,
spec/templates/helpers/markup_helper_spec.rb: Initial fix for automatic
markup provider searching
2010-11-21 Loren Segal <>
* lib/yard/server/rack_adapter.rb, spec/server/rack_adapter_spec.rb:
RackMiddleware should now pass 404 responses up to the next middleware in the
2010-11-21 srawlins <>
* templates/default/fulldoc/html/css/style.css: Typos. Tested. Now this patch
looks goooood.
* spec/parser/c_parser_spec.rb: Fixed newline
* templates/default/fulldoc/html/css/style.css: Fixed wrapping in Firefox,
clipping in Chrome
2010-11-21 Loren Segal <>
* ChangeLog,, lib/yard.rb, yard.gemspec: Bump to version 0.6.3
* lib/yard/templates/helpers/markup_helper.rb,
spec/templates/helpers/markup_helper_spec.rb: Fix regression where markup
loading fails when generating HTML
2010-11-17 Franklin Webber <>
* templates/default/fulldoc/html/js/app.js: Minor Javascript Fix - Keyboard
Shortcuts List link shortcuts checked to see if the original Target of the
event was a INPUT or TEXTARA. However, if the orignal Target was undefined
an error was raised. Checking for undefined.
2010-11-15 Loren Segal <>
* ChangeLog,, lib/yard.rb, yard.gemspec: Bump to version 0.6.2
* spec/cli/server_spec.rb: Fix specs failing under 1.8.x due to unstub! call
*, docs/ Tell users where to read information
about .yardopts
* ChangeLog, Update ChangeLog and summarize in README
* spec/server/commands/static_file_command_spec.rb: Fix failing specs due to
StaticFileCommand refactor and add new test cases
* lib/yard/config.rb: Only show backtrace when plugin fails to load in Ruby
debug mode (ruby -d), since we haven't parsed backtrace info yet
* lib/yard/config.rb, spec/config_spec.rb: Ensure that --plugin is parsed out
of .yardopts file as well
* lib/yard/cli/command.rb, lib/yard/cli/server.rb, lib/yard/cli/yardoc.rb:
Fix CLI commands accessing Config class after adding new CLI::Config
* Add new contributors
2010-11-14 Loren Segal <>
* docs/, docs/ Document new YARD features in
* lib/yard/cli/config.rb: Update yard config help contents
* lib/yard/autoload.rb, lib/yard/cli/command_parser.rb,
lib/yard/cli/config.rb, lib/yard/config.rb, spec/cli/config_spec.rb: Add
`yard config` CLI command to view or modify the YARD global configuration
file (~/.yard/config).
* lib/yard/config.rb, spec/config_spec.rb: Add for
serializing to CONFIG_FILE
2010-11-14 Robert Wahler <>
* lib/yard/templates/helpers/markup_helper.rb,
spec/templates/helpers/markup_helper_spec.rb: add kramdown as a markdown
provider Kramdown is a fast, pure Ruby markdown processor. Windows users
need more pure Ruby options to avoid having to compile "C" extensions. Note
that 'eval' is used instead of Kernel.get_const because the latter cannot
find classes nested in modules.
2010-11-11 Loren Segal <>
* lib/yard/server.rb: YARD::Server.register_static_path is since 0.6.2
* lib/yard/autoload.rb, lib/yard/server.rb, spec/server_spec.rb: Add
YARD::Server.register_static_path to register a static asset lookup path
* lib/yard/server/commands/library_index_command.rb,
lib/yard/server/commands/static_file_command.rb: Document some server
commands and reverse search order of static assets in StaticFileCommand
2010-11-10 Loren Segal <>
* lib/yard/handlers/ruby/extend_handler.rb,
spec/handlers/extend_handler_spec.rb: Disallow `extend self` inside of a
class. Closes gh-202
* lib/yard/handlers/ruby/legacy/mixin_handler.rb,
lib/yard/handlers/ruby/mixin_handler.rb: Fix error messages for
undocumentable mixins
* lib/yard/code_objects/class_object.rb: Disallow recursive inheritance_trees
for mixins including classes (should never happen, but protected anyway)
2010-11-10 Anthony Thibault <>
* lib/yard/parser/c_parser.rb: Fixed parsing of constants defined in c
2010-11-10 Loren Segal <>
* lib/yard/cli/command.rb, lib/yard/cli/server.rb, spec/cli/server_spec.rb:
Add -t (--template-path) switch to `yard server` and load ruby scripts after
adapter loads in order to allow overriding of adapter code.
2010-11-09 Loren Segal <>
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Fixes --no-private with
proxy namespace defined as a module Re-closes gh-197
2010-11-08 Loren Segal <>
* lib/yard/cli/server.rb: Fix documentation in yard server CLI usage
* lib/yard/server/commands/library_command.rb: Clean up class variable
* lib/yard/verifier.rb, spec/cli/yardoc_spec.rb, spec/verifier_spec.rb:
Verifier#call should ignore unresolved Proxy objects and return true. This
makes it easier to write queries on objects that may include proxies. Closes
* templates/default/fulldoc/html/css/style.css: Fix spacing between summary
note badges
* templates/default/fulldoc/html/css/style.css: Add vertical space between
notes in method/class/module detail section. Closes gh-199
* spec/templates/examples/method001.html,
templates/default/tags/html/option.erb: Add space after mdash for option
description text. Closes gh-200
* docs/ Document missing tags @api and @note Closes gh-196
* docs/ Clarify that @attr tags are only meant for Structs
* spec/templates/examples/method001.html,
spec/templates/examples/method001.txt, spec/templates/method_spec.rb,
templates/default/tags/html/option.erb: Do not display N/A for @option with
no default value. Closes gh-198
2010-11-04 Loren Segal <>
* lib/yard/templates/helpers/html_helper.rb: Don't perform syntax
highlighting on plaintext extra files
2010-11-02 Mark Evans <>
* templates/default/fulldoc/html/js/app.js: Replace quotes with underscore
for table of contents id generation (otherwise it causes errors)
2010-10-31 freeformz <>
* lib/yard/server/commands/library_command.rb: we're already chrooted'
2010-10-29 freeformz <>
* lib/yard/server/commands/library_command.rb: stop the threads from trying
to chdir over each other
2010-10-22 David Turnbull <>
* docs/ Expanded usage section. Getting Started has more
overview of the tools and directs to the readme for details.
2010-10-14 Loren Segal <>
* lib/yard/cli/yardoc.rb, lib/yard/templates/helpers/markup_helper.rb,
spec/templates/helpers/markup_helper_spec.rb: Refactor MarkupHelper and check
markup options before doing any file parsing. This way we can fail early and
tell the user to install a gem right away instead of the old behaviour of
failing after all the code was parsed (which could take a long time).
* lib/yard/handlers/ruby/visibility_handler.rb,
spec/handlers/visibility_handler_spec.rb: Fix visibility statements using
constant symbol values (private :Foo)
2010-10-13 Loren Segal <>
* lib/yard/handlers/ruby/class_handler.rb,
spec/handlers/examples/class_handler_001.rb.txt: Support @attr* on non-struct
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Disable --template-path
from being used in safe mode
* lib/yard.rb, lib/yard/cli/command.rb, lib/yard/cli/yardoc.rb,
lib/yard/config.rb, spec/cli/yardoc_spec.rb: Add safe_mode Config
(~/.yard/config) option to disable user-code from being executed (-e, --load
and --query)
2010-10-09 Loren Segal <>
* lib/yard/handlers/ruby/constant_handler.rb,
spec/handlers/examples/constant_handler_001.rb.txt: Support @attr
declarations in "Klass =, :b, ...)" syntax Closes gh-187
* lib/yard/code_objects/method_object.rb,
spec/code_objects/method_object_spec.rb: If a method is in a proxy namespace,
overridden methods should return nil.
2010-10-04 Loren Segal <>
* lib/yard/autoload.rb, lib/yard/serializers/yardoc_serializer.rb: Refactor
* lib/yard.rb, lib/yard/handlers/base.rb, lib/yard/parser/c_parser.rb: Change
the way continuation support is detected (actually test callcc)
2010-10-03 Loren Segal <>
* spec/code_objects/proxy_spec.rb, spec/parser/base_spec.rb,
spec/parser/c_parser_spec.rb, spec/parser/source_parser_spec.rb: Fix various
JRuby spec failings.
* lib/yard.rb, lib/yard/handlers/base.rb, lib/yard/parser/c_parser.rb: Change
the way continuation support is checked
* lib/yard/parser/source_parser.rb: Require continuation only if the lib
exists (ie. ruby1.9).
* lib/yard/handlers/ruby/class_handler.rb,
spec/handlers/examples/class_handler_001.rb.txt: Add support for inheriting
from 'self' keyword, using current namespace as superclass. Example: class
X class Y < self; end end
* lib/yard/handlers/ruby/legacy/method_handler.rb,
spec/handlers/method_handler_spec.rb: If class method is defined on CONSTANT
object, convert constant to class/module that the constant is referencing.
* lib/yard/parser/ruby/legacy/statement_list.rb,
spec/parser/ruby/legacy/statement_list_spec.rb: Fix handling of keywords in
alias statements for block openers/closers (for/do/end) Closes gh-184
* lib/yard/handlers/ruby/legacy/exception_handler.rb: Ignore raise
expressions that call methods on 1.8 as well
* lib/yard/handlers/ruby/exception_handler.rb,
spec/handlers/exception_handler_spec.rb: Gracefully ignore raise expressions
that cannot be documented (`raise method_call('args')`) Closes gh-180
* lib/yard/cli/stats.rb, spec/cli/stats_spec.rb: Fix yard stats --list-undoc
raising exception when no objects are undocumented. Closes gh-186
2010-09-27 srawlins <>
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb,
spec/parser/examples/override.c.txt: Added
Parser::CParser#find_override_comment, almost straight from RDoc
2010-10-03 Loren Segal <>
* spec/cli/gems_spec.rb: Fix specs under 1.8.6
* spec/cli/gems_spec.rb: Add specs for yard gems command
* lib/yard/cli/gems.rb: Add warnings if specified gems are not found, stop
command entirely if none of the specified gems are found
* lib/yard/cli/gems.rb: Require 'rubygems' in yard gems command for 1.8.x
* lib/yard/cli/gems.rb: Replace #each_slice with 1.8.6 compatible iteration.
Closes gh-178
2010-09-27 srawlins <>
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb,
spec/parser/examples/override.c.txt: Added
Parser::CParser#find_override_comment, almost straight from RDoc
2010-09-25 Loren Segal <>
* .../ruby/legacy/class_condition_handler.rb,
spec/handlers/class_condition_handler_spec.rb: Fix handling of complex class
conditions with no else block Closes gh-175
2010-09-23 Loren Segal <>
* lib/yard/parser/source_parser.rb, spec/parser/source_parser_spec.rb: Fix
handling of encoding line when shebang is present. Adds tests for the many
ways an encoding line can be written. Closes gh-174
2010-09-18 Loren Segal <>
* lib/yard/handlers/ruby/extend_handler.rb,
lib/yard/handlers/ruby/mixin_handler.rb: Refactor mixin undocumentable error
changes and backport to 1.8
* lib/yard/server/commands/frames_command.rb: Show alpha index for yard
server if no README is present
* lib/yard/code_objects/proxy.rb, spec/code_objects/proxy_spec.rb,
spec/handlers/class_handler_spec.rb: Fix proxy lookups for complex namespaces
(A::B::C). Previously a lookup on "B::C" from inside "A" would find object
"A::C" if A::C was defined before A::B::C. The new semantics will verify that
the found object ("A::C") includes the original lookup path ("B::C") in the
path string. If the path string is not found, the object is invalidated and
the object is still a proxy. Also fixes a test that was incorrectly passing
due to bug.
* lib/yard/handlers/ruby/extend_handler.rb,
lib/yard/handlers/ruby/mixin_handler.rb, spec/handlers/mixin_handler_spec.rb:
Add undocumentable error warning for 'include <variable>' statement
2010-09-17 Loren Segal <>
* docs/ Fix typo in Closes gh-172
* lib/yard/code_objects/base.rb, spec/code_objects/base_spec.rb: Improve
relative path support for objects inside of a namespace (when called from
outside that same namespace)
2010-09-16 Loren Segal <>
* lib/yard/cli/command.rb, lib/yard/config.rb: Add documentation for
YARD::Config and add --plugin option for commandline parsing so no warnings
* lib/yard.rb, lib/yard/autoload.rb, lib/yard/config.rb, spec/config_spec.rb,
spec/yard_spec.rb: Refactored configuration support, adding YARD::Config
class. Plugins are no longer loaded automatically by default, but this can be
changed by editing ~/.yard/config as detailed below: The Config class now
manages the loading of the ~/.yard/config file, a YAML file containing the
YARD::Config::DEFAULT_CONFIG_OPTIONS options. It also manages the loading of
plugins. The configuration file has 3 options specifying rules to use when
loading plugins: :load_plugins (default: false) When enabled, gem plugins
are automatically loaded (0.5.x and 0.6.0/1 behaviour) :autoload_plugins
specifies a list of plugins to load automatically :ignored_plugins specifies
a list of plugins to ignore The ~/.yard/ignored_plugins file is now
deprecated in favour of specifying the :ignored_plugins setting in the config
2010-09-14 Loren Segal <>
* lib/yard/handlers/base.rb: Document introduction of in_file call
* lib/yard/handlers/base.rb, lib/yard/handlers/processor.rb,
spec/handlers/base_spec.rb: Add Handlers::Base.in_file to declare that a
handler should only process certain files by string/regex match. Example:
class MyHandler < Handlers::Ruby::Base handles method_call(:foo) in_file
%r{/templates/} def process # Only process "foo" calls inside the
/templates/ directory end end
* lib/yard/server/commands/library_command.rb: Refactor #not_prepared to use
request object
* lib/yard/server/commands/library_command.rb,
.../doc_server/processing/html/processing.erb: On-demand processing should
commence from xhr request with ?process=true to avoid bots inadvertently
triggering a parse. Also stops JS refresh code from retriggering the parser N
* lib/yard/cli/gems.rb: Remove --legacy option from gems option parser
(switch is not removed from CLI, simply refactored. the option exists in the
2010-09-08 Loren Segal <>
* templates/default/tags/setup.rb: Refactor tag method generation code for
2010-09-07 Loren Segal <>
*, docs/ Fix some markdown formatting errors
2010-09-06 Loren Segal <>
* ChangeLog,, lib/yard.rb, yard.gemspec: Bump to version 0.6.1
* templates/default/fulldoc/html/js/app.js: Fix TOC id links to include some
punctuation and digits
* spec/code_objects/base_spec.rb: Add spec for relative_path
* templates/default/fulldoc/html/css/style.css,
templates/default/fulldoc/html/js/app.js: Refactor inheritance arrow and
inheritance box display code
* lib/yard/code_objects/base.rb, spec/code_objects/base_spec.rb: Fix relative
path linking with common substrings
* lib/yard/tags/default_factory.rb: Gracefully error out if @example tag is
2010-09-03 Loren Segal <>
* spec/templates/helpers/html_helper_spec.rb: Fix broken spec of #link_object
2010-09-03 Arthur Schreiber <>
* spec/registry_store_spec.rb: Update specs to match reading marshal data as
2010-09-02 Loren Segal <>
* lib/yard/parser/source_parser.rb: Fix printing of debugging information
when displaying parser paths in 1.8.x
2010-09-02 Arthur Schreiber <>
* lib/yard/registry_store.rb: Fix remaining cases where Marshal data was not
read as binary.
2010-09-02 Loren Segal <>
* lib/yard/code_objects/base.rb, spec/code_objects/base_spec.rb: Fix matching
of common namespace in Base#relative_path
2010-09-01 Loren Segal <>
* templates/default/fulldoc/html/css/full_list.css,
templates/default/fulldoc/html/js/full_list.js: Improve inline JS search
responsiveness on large lists
2010-09-01 Arthur Schreiber <>
* lib/yard/serializers/yardoc_serializer.rb, spec/registry_store_spec.rb: Fix
#168 - open files with serialized contents in binary mode.
2010-09-01 Loren Segal <>
* lib/yard/code_objects/base.rb, spec/code_objects/base_spec.rb,
spec/templates/helpers/html_helper_spec.rb: Fix
CodeObjects::Base#relative_path to work with parent namespaces and methods in
sibling namespaces
* lib/yard/code_objects/proxy.rb: Fix proxy implementation of name to match
2010-08-31 Loren Segal <>
* lib/yard/registry.rb, lib/yard/server/commands/search_command.rb: Avoid
exception when is accessed (for search command)
* lib/yard/server/rack_adapter.rb: Print startup message for `yard server` if
Mongrel is being used
* lib/yard/server/rack_adapter.rb: Remove trap(INT) and server.shutdown, Rack
does this on its own. Closes gh-165
* lib/yard/core_ext/string.rb, spec/core_ext/string_spec.rb,
spec/spec_helper.rb: Removed String#underscore and String#camelcase. These
methods were not being used in YARD's codebase (minus a few small utility
functions) and they were causing incompatibility issues with other frameworks
like Rails. Closes gh-167
2010-08-30 Loren Segal <>
* templates/default/fulldoc/html/css/style.css: Put class list above ToC
(take 2) Closes gh-164
2010-08-29 Loren Segal <>
* templates/default/fulldoc/html/css/style.css: Lower z-index so class list
shows up above
* yard.gemspec: Update release date in gemspec
* ChangeLog: Update ChangeLog
* templates/default/fulldoc/html/css/style.css: Fix positioning for TOC
* lib/yard/templates/helpers/html_helper.rb: Fix encoding issue where
BlueCloth/markup libs might change the encoding if they are not
encoding-aware. Force the original encoding.
* templates/default/fulldoc/html/css/style.css: Show TOC above code examples
(TOC should be hidden or code should be manually wrapped in this scenario)
* docs/ Fix reference to YARD::Templates::Section
2010-08-28 Loren Segal <>
* Fix some typos in readme
* lib/yard.rb: Update version to 0.6.0
* Update README for 0.6.0 release
* docs/ Update with new features in 0.6.0
* docs/ Update to include documentation about new
Section API
*, docs/, docs/, docs/,
docs/, docs/, docs/ Update file: links to point
to docs/ for server compatibility
* .yardopts, Rakefile, lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Add
yardoc --asset to copy over files/directories to output dir after generation
* lib/yard/cli/stats.rb: Make sure all arguments get recognized.
* lib/yard/cli/yri.rb: Fix searching for gem paths
* templates/default/fulldoc/html/css/style.css: Fix notes displaying as
blocks (css)
* templates/default/layout/html/setup.rb: Fix bug in generating index page
with --use-cache
* lib/yard/code_objects/base.rb, lib/yard/code_objects/proxy.rb,
lib/yard/globals.rb, lib/yard/registry.rb: Fix broken references to Registry
(instance methods are now class methods)
* lib/yard/cli/yardoc.rb: Deprecate Yardoc#all_objects
* Update contributors list
2010-08-27 Pieter van de Bruggen <>
* lib/yard/templates/helpers/html_helper.rb,
templates/default/tags/html/example.erb: Changing #html_syntax_highlight's
default type. #html_syntax_highlight should now automatically infer when
it's being used in non-Ruby contexts, by inspecting the value of
`object.source_type`. This simplifies the syntax highlighting process quite
a bit, while still providing the expected default and override mechanisms.
2010-08-27 Loren Segal <>
* templates/default/fulldoc/html/css/style.css: Add margin around TOC
2010-08-25 Loren Segal <>
* lib/yard/handlers/base.rb: Refactor push_state code
* lib/yard/handlers/base.rb, spec/handlers/base_spec.rb: Fix push_state being
unable to push individual state fields and add specs
* lib/yard/cli/command.rb: Fix -e trying to load a file twice and failing
* lib/yard/handlers/ruby/base.rb, lib/yard/parser/ruby/ast_node.rb: Update
documentation groups
* lib/yard/server/commands/library_command.rb: Server reloading should use
2010-08-22 Pieter van de Bruggen <>
* lib/yard/handlers/processor.rb: Providing a hook for registering new
handler namespaces. This should make setting up new language handlers more
* templates/default/tags/html/example.erb: @example tags should be
highlighted in the language of their source object.
2010-08-22 Loren Segal <>
* lib/yard/parser/source_parser.rb, lib/yard/templates/erb_cache.rb: Support
`coding=ENC` encoding comment format (previously only supported `coding:ENC`)
Closes gh-159
* templates/default/fulldoc/html/js/full_list.js: Fix inline searching JS
Closes gh-161
* templates/default/fulldoc/html/js/jquery.js: Update jQuery to 1.4.2
* templates/default/fulldoc/html/js/app.js: Change TOC anchor links to use
pretty anchors
* templates/default/fulldoc/html/css/style.css: Remove webkit gradients on
search links
* templates/default/fulldoc/html/js/app.js: Fix undefined links in TOC
Closes gh-160
* lib/yard/registry.rb: Fix bug in Registry refactoring that broke .yardoc
2010-08-19 Loren Segal <>
* spec/registry_spec.rb: Fix spec for 1.8.6
* lib/yard/registry.rb, spec/cli/yri_spec.rb, spec/registry_spec.rb: Turn
Registry into module and remove Singleton class. Instead all methods are
defined as singleton methods on the module. This simplifies the Registry
interface and removes the distinction between class and instance methods
(everything is now a class method). When Registry is refactored to support
instances, this will be changed again.
* lib/yard/registry.rb, spec/registry_spec.rb: Change Registry.load* to
return self for chaining
* lib/yard/handlers/ruby/legacy/base.rb, lib/yard/serializers/base.rb,
lib/yard/serializers/file_system_serializer.rb: Fix broken references in
2010-08-15 Loren Segal <>
* lib/yard/cli/diff.rb: Make sure rubygems/package is loaded before running
Diff utility
2010-08-07 Loren Segal <>
* spec/templates/helpers/html_helper_spec.rb: Clean up Encoding specs to be
dependent on existence of Encoding class, not Ruby 1.9
* lib/yard/cli/yardoc.rb, lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Fix specs and Encoding related
calls under 1.8.x
* lib/yard/handlers/ruby/class_handler.rb,
spec/handlers/examples/class_handler_001.rb.txt: Fix struct handler to allow
inheriting of regular Struct (class A < Struct)
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: When parsing `{LINK}` syntax,
ignore `{|x| ...}` block syntax.
2010-08-06 Loren Segal <>
* lib/yard/cli/yardoc.rb, lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Graceful handling of encoding
errors in htmlify
2010-08-05 Loren Segal <>
* templates/default/fulldoc/html/js/app.js: Fix bug in TOC generator when
nesting headers. Closes gh-154
* lib/yard/templates/helpers/html_helper.rb,
.../templates/helpers/shared_signature_examples.rb: Call #uniq on return
types before formatting method signature Closes gh-155
* lib/yard/cli/diff.rb, lib/yard/cli/server.rb, lib/yard/cli/yri.rb,
spec/cli/diff_spec.rb, spec/cli/server_spec.rb, spec/cli/yardoc_spec.rb,
spec/templates/examples/class002.html: Fix various specs and make specs pass
under 1.8.6/1.9.2
* spec/templates/constant_spec.rb, spec/templates/examples/constant001.txt,
templates/default/constant/text/setup.rb: Add text template for constant
objects (yri) Closes gh-150
* lib/yard/cli/yri.rb, spec/cli/yri_spec.rb: Add `YRI::DEFAULT_SEARCH_PATHS`
to add extra search paths at runtime to be searched before all other paths.
Closes gh-151
* lib/yard/code_objects/base.rb,
spec/handlers/method_handler_spec.rb: Raise undocumentable error for methods
defined on object instances (def
* lib/yard/cli/yardoc.rb: Update docs for Yardoc
* lib/yard/cli/yardoc.rb: Revert Yardoc caching by default. Yardoc no longer
uses the .yardoc cache unless `--cache` is explicitly supplied. `--no-cache`
is not removed in this revert.
2010-07-27 Loren Segal <>
* lib/yard/templates/helpers/base_helper.rb,
lib/yard/templates/helpers/text_helper.rb: Add documentation for helpers
* lib/yard/templates/helpers/base_helper.rb,
lib/yard/templates/helpers/html_helper.rb: Add documentation for helpers
2010-07-26 Loren Segal <>
* lib/yard/handlers/ruby/base.rb: Update documentation for HandlesExtension
* lib/yard/handlers/ruby/base.rb: Update documentation for
* lib/yard/code_objects/base.rb, spec/code_objects/base_spec.rb: Make sure
CodeObjects::Base#files returns a unique list of file/line combinations
2010-07-24 Loren Segal <>
* lib/yard/handlers/ruby/visibility_handler.rb,
spec/handlers/visibility_handler_spec.rb: Ignore expressions in
public/private/protected statements Closes gh-153
2010-07-16 Loren Segal <>
* lib/yard/templates/engine.rb: Properly rescue NameError
* lib/yard/handlers/ruby/process_handler.rb: Add docstring for 'process'
* lib/yard/handlers/base.rb, lib/yard/handlers/ruby/base.rb,
lib/yard/parser/ruby/legacy/ruby_lex.rb, lib/yard/serializers/base.rb,
lib/yard/serializers/file_system_serializer.rb, lib/yard/tags/tag.rb,
lib/yard/templates/engine.rb, lib/yard/templates/helpers/base_helper.rb,
lib/yard/templates/helpers/uml_helper.rb: Update documentation in objects
* lib/yard/cli/yardoc.rb, lib/yard/serializers/base.rb,
lib/yard/serializers/file_system_serializer.rb: Cached generation will check
if the file does not exist on the filesystem, in addition to whether or not
it was changed. This change also adds Base#exists? that check whether the
endpoint exists on the system.
* lib/yard/templates/helpers/base_helper.rb, lib/yard/verifier.rb,
spec/templates/helpers/base_helper_spec.rb: Add Verifier#run to prune a list
of objects (similar to BaseHelper#run_verifier)
* lib/yard/code_objects/base.rb, lib/yard/docstring.rb,
spec/code_objects/base_spec.rb, spec/docstring_spec.rb: Add "(see PATH)"
syntax for Docstrings. Allows the ability to reference an entire docstrings
(including tags) using the following syntax: # (see OtherObject) class
Object; end # Real doctring here # @since 0.1 class OtherObject The above
example will use the docstring on OtherObject on both objects (including
tags). The (see ...) syntax must be at the start of the docstring, though
extra tags/info is allowed to be added afterwards. The following is valid: #
(see OtherObject) # extra info # @author Name This change also adds
Docstring#+ to add two docstrings together and maintain tag information.
2010-07-15 Loren Segal <>
* lib/yard/code_objects/base.rb, lib/yard/handlers/base.rb,
lib/yard/handlers/processor.rb, lib/yard/handlers/ruby/attribute_handler.rb,
lib/yard/parser/ruby/legacy/ruby_lex.rb, lib/yard/templates/engine.rb:
Add/update documentation for various handler classes, update
CodeObjects::Base constants, and document Templates::Engine
* templates/default/fulldoc/html/css/style.css: Update styling for notes in
constants docstrings
* lib/yard/handlers/ruby/attribute_handler.rb,
.../handlers/examples/attribute_handler_001.rb.txt: [bugfix] Maintain
visibility in attribute definitions
2010-07-14 Loren Segal <>
* lib/yard/templates/helpers/base_helper.rb,
templates/default/fulldoc/html/css/style.css: Add {include:ObjectName} syntax
to global YARD markup syntax. This allows the docstring from ObjectName to be
inserted in-place into an existing docstring. For instance: #
{include:OtherString} class String; end # The docstring is here class
OtherString; end The above example prints "The docstring is here" for both
classes. Note that this syntax does not copy over tags.
* lib/yard/handlers/ruby/legacy/mixin_handler.rb,
lib/yard/handlers/ruby/mixin_handler.rb: Make sure mixins are only added if
they have not been
* lib/yard/cli/yri.rb, lib/yard/code_objects/class_object.rb,
lib/yard/handlers/base.rb, lib/yard/handlers/ruby/alias_handler.rb,
lib/yard/templates/helpers/base_helper.rb: Update documentation for various
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Fix visibility verifier
specs (--no-public should only apply to methods)
* lib/yard/cli/yardoc.rb, lib/yard/server/commands/library_command.rb,
spec/cli/yardoc_spec.rb: Remove --incremental switch in yardoc. Incremental
output generation is now automatic when the cache is used
* lib/yard/cli/yardoc.rb: Update Yardoc documentation
* templates/default/fulldoc/html/css/style.css: Improve styling of
class/method/file list buttons
* lib/yard/autoload.rb: Add autoload for WebrickServlet
* lib/yard.rb, lib/yard/autoload.rb, lib/yard/cli/command_parser.rb,
lib/yard/cli/yardoc.rb: Add documentation for various classes
* lib/yard/cli/yardoc.rb, lib/yard/code_objects/base.rb: Simplify visibility
Verifier expression
* spec/templates/helpers/html_helper_spec.rb: Add spec for relative object
link titles
* spec/server/webrick_servlet_spec.rb: Add specs for WebrickServlet
2010-07-13 Loren Segal <>
* lib/yard/server/webrick_adapter.rb: Remove unnecessary code from
* spec/server/commands/static_file_command_spec.rb: Add specs for
* spec/server/commands/base_spec.rb: Clean up Commands::Base#cache specs
* templates/default/fulldoc/html/css/style.css,
templates/default/fulldoc/html/js/app.js: Add JavaScript generated TOC for
file documents
* lib/yard/server/commands/display_file_command.rb: Remove reference to
* lib/yard/server/commands/static_file_command.rb: Return an empty
favicon.ico for browsers that request it (if it does not exist in static
* lib/yard/server/commands/static_file_command.rb: Add mime type for
javascript (WEBrick does not have this defined)
* templates/default/fulldoc/html/css/style.css: Fix styling for constant
* lib/yard/cli/stats.rb: Add documentation for Stats::STATS_ORDER
* lib/yard/cli/stats.rb: Fix failing stats specs in 1.8
* lib/yard/autoload.rb, lib/yard/server/commands/base.rb,
spec/server/commands/base_spec.rb, spec/server/router_spec.rb,
spec/server/spec_helper.rb: Add specs for Commands::Base
* spec/server/adapter_spec.rb, spec/server/doc_server_serializer_spec.rb,
spec/server/router_spec.rb, spec/server/spec_helper.rb,
spec/server/static_caching_spec.rb: Add spec_helper.rb file and refactor
adapter mocking
* lib/yard/server/rack_adapter.rb: Unescape PATH_INFO in URLs coming in via
Rack adapter
* lib/yard/server/doc_server_helper.rb,
lib/yard/server/doc_server_serializer.rb: Escape URLs in DocServerSerializer
* lib/yard/server/commands/static_file_command.rb: Refactor static file mime
type handling to use WEBrick::HTTPUtils#mime_type
* lib/yard/server/commands/base.rb,
lib/yard/server/commands/display_object_command.rb: Update Commands::Base to
take error message in NotFoundError as body
* lib/yard/server/library_version.rb: Remove debugging message from
* spec/server/static_caching_spec.rb: Add specs for StaticCaching
* lib/yard/server/library_version.rb, spec/server/adapter_spec.rb,
spec/server/doc_server_serializer_spec.rb, spec/server/router_spec.rb: Add
Router specs and rewrite Adapter specs (routing moved to Router class)
* lib/yard/server/library_version.rb, spec/cli/server_spec.rb,
spec/server/adapter_spec.rb, spec/server/doc_server_serializer_spec.rb: Fix
broken specs
* templates/default/fulldoc/html/js/app.js: Add JS function to comb through
markup generated URLs and add target=_parent for those that link outside docs
for frames
* templates/default/layout/html/footer.erb: Add target=_parent for
link in footer
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Add target=_parent for URLs
including scheme (http://,...) for frames
* templates/default/fulldoc/html/js/app.js,
templates/default/fulldoc/html/js/full_list.js: Fix javascript to copy title
to frame parent in frames mode
* lib/yard/server/commands/frames_command.rb: Fix titles for File urls in
2010-07-12 Loren Segal <>
* .../templates/default/fulldoc/html/css/custom.css,
.../doc_server/processing/html/processing.erb: Much nicer 'processing' page
2010-07-10 Loren Segal <>
* .../templates/default/fulldoc/html/js/live.js: Fix javascript links to list
prefix path
* lib/yard/server/commands/library_command.rb,
.../templates/doc_server/processing/html/setup.rb: Add temporary 'processing'
page while library .yardoc is being generated
* lib/yard/server/commands/display_file_command.rb,
lib/yard/server/library_version.rb: Refactor LibraryVersion to support
alternate sources; add LibraryVersion#prepare! to load yardoc lazily for a
specific source type. Also add #source_path to list the location of the
library's sources for the specific source type
* lib/yard/server/commands/library_index_command.rb,