Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

10189 lines (7532 sloc) 424.899 kb
2011-06-14 Loren Segal <lsegal@soen.ca>
* ChangeLog, README.md, 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 <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* lib/yard/tags/library.rb: Fix typo in transitive_tags docs
2011-06-11 Michael S. Klishin <michael@novemberain.com>
* 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 <akzhan.abdulin@gmail.com>
* lib/yard/autoload.rb: __p method should not depend on / file path
separator. Actually it has only one parameter.
2011-06-06 Loren Segal <lsegal@soen.ca>
* 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 <nap@zerosum.org>
* 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 <lsegal@soen.ca>
* lib/yard/parser/ruby/legacy/statement_list.rb,
spec/handlers/examples/method_handler_001.rb.txt,
spec/handlers/method_handler_spec.rb: Properly handle 'def end' in legacy
parser Closes #343
2011-05-27 Loren Segal <lsegal@soen.ca>
* 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 <franklin.webber@gmail.com>
* 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 <jon@blankpad.net>
* README.md: Fix a type in the query documentation.
2011-05-23 Loren Segal <lsegal@soen.ca>
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.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/examples/macro_handler_001.rb.txt,
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
#330
* 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 <rob@flowof.info>
* lib/yard/cli/server.rb, spec/cli/server_spec.rb: Fix failing specs.
2011-05-22 Rob Gleeson <rob@flowof.info>
* lib/yard/cli/server.rb: Resolve relative links in daemon mode.
2011-05-22 Loren Segal <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* 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
commands
* 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 <lsegal@soen.ca>
* 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,
lib/yard/handlers/ruby/macro_handler.rb,
spec/handlers/examples/macro_handler_001.rb.txt,
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 <rob@flowof.info>
* 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 <lsegal@soen.ca>
* 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
* README.md: Bump to 0.7.1
* spec/code_objects/constants_spec.rb: Fix a spec
2011-05-18 Simone Carletti <weppos@weppos.net>
* docs/GettingStarted.md: Fixed broken links.
2011-05-17 Loren Segal <lsegal@soen.ca>
* templates/default/fulldoc/html/setup.rb: Oops, yard server sets @items
manually and does not fill options[:objects]
* ChangeLog, README.md: Release 0.7.0
* lib/yard.rb: Bump version to 0.7.0
* README.md: Update readme for release
2011-05-16 Loren Segal <lsegal@soen.ca>
* docs/WhatsNew.md: Discuss new -t guide template in WhatsNew
* lib/yard/templates/helpers/html_helper.rb: A little hack to avoid
{http://foo.com} from warning about invalid object when autolinking is turned
on in the markup provider
* docs/WhatsNew.md: Add documentation about new --yardopts flag
* templates/guide/fulldoc/html/css/style.css: Fix some tag stylings in guide
style
* 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/GettingStarted.md: Document the use of the @encoding extra file
metadata tag
* .yardopts_guide: Add guide yardopts
2011-05-15 Loren Segal <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* templates/guide/class/html/setup.rb,
templates/guide/docstring/html/setup.rb,
templates/guide/fulldoc/html/css/style.css,
templates/guide/fulldoc/html/js/app.js,
templates/guide/fulldoc/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/header.erb,
templates/guide/module/html/method_list.erb,
templates/guide/module/html/setup.rb, templates/guide/tags/html/setup.rb: Add
initial guide template
2011-05-16 Loren Segal <lsegal@soen.ca>
* docs/Templates.md: 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/files.erb,
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 <lsegal@soen.ca>
* 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/Tags.md: Fix formatting in Tags.md
* 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 <lsegal@soen.ca>
* docs/WhatsNew.md: 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/WhatsNew.md: 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 <lsegal@soen.ca>
* lib/yard/code_objects/macro_object.rb: Fix formatting of list in
MacroObject#expand
* docs/GettingStarted.md: Add `{render:}` sample tag in getting started guide
* docs/GettingStarted.md: Document new {render:FOO} syntax Closes #309
* docs/GettingStarted.md, docs/Tags.md: 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,
lib/yard/handlers/ruby/macro_handler_methods.rb,
spec/handlers/examples/macro_handler_001.rb.txt,
spec/handlers/macro_handler_spec.rb: Properly handle @overload tags and
create @overload tag when @method is used
2011-05-13 Franklin Webber <franklin.webber@gmail.com>
* 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 <lsegal@soen.ca>
* lib/yard/cli/yardoc.rb, lib/yard/parser/source_parser.rb,
spec/cli/yardoc_spec.rb: Add 'app/**/*.rb' to default parsing glob. Closes
#314
* templates/default/fulldoc/html/css/style.css: Make style more friendly to
{render} on extra files
2011-05-11 Loren Segal <lsegal@soen.ca>
* lib/yard/handlers/base.rb, lib/yard/handlers/ruby/base.rb,
lib/yard/handlers/ruby/legacy/base.rb,
lib/yard/handlers/ruby/legacy/macro_handler.rb,
lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/macro_handler.rb,
lib/yard/handlers/ruby/macro_handler_methods.rb,
lib/yard/handlers/ruby/method_handler.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 <tedwardo2@gmail.com>
* templates/default/fulldoc/html/js/app.js: ignore keyboard shortcuts when an
input is active use event.target since it's standard across all browsers,
event.originalTarget is mozilla-specific
2011-05-10 Loren Segal <lsegal@soen.ca>
* .yardopts: Ignore rubygems/ from docs (they're just backports)
2011-05-09 Loren Segal <lsegal@soen.ca>
* lib/yard.rb, lib/yard/rubygems/backports.rb,
lib/yard/rubygems/backports/LICENSE.txt, lib/yard/rubygems/backports/MIT.txt,
lib/yard/rubygems/backports/gem.rb,
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 <lsegal@soen.ca>
* templates/default/fulldoc/html/css/full_list.css: Remove '|' after content
for menus; it is now generated statically.
2011-05-08 Franklin Webber <franklin.webber@gmail.com>
* docs/Templates.md: 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/Templates.md: Template - Custom Javascript and Stylesheets Outlined
how to override and add a custom javascript and stylesheet file for plugin
authors
2011-05-07 Loren Segal <lsegal@soen.ca>
* lib/yard/handlers/processor.rb: Fix Processor spec, expects a globals
object to be created
* lib/yard/code_objects/base.rb: No longer support 'Foo.bar' or 'Foo#bar'
syntax as name argument to Base.new 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/attribute_handler.rb,
lib/yard/handlers/ruby/class_condition_handler.rb,
lib/yard/handlers/ruby/class_handler.rb,
lib/yard/handlers/ruby/class_variable_handler.rb,
lib/yard/handlers/ruby/constant_handler.rb,
lib/yard/handlers/ruby/extend_handler.rb,
lib/yard/handlers/ruby/legacy/alias_handler.rb,
lib/yard/handlers/ruby/legacy/attribute_handler.rb,
lib/yard/handlers/ruby/legacy/class_handler.rb,
.../handlers/ruby/legacy/class_variable_handler.rb,
lib/yard/handlers/ruby/legacy/constant_handler.rb,
lib/yard/handlers/ruby/legacy/extend_handler.rb,
lib/yard/handlers/ruby/legacy/mixin_handler.rb,
lib/yard/handlers/ruby/legacy/module_handler.rb,
.../ruby/legacy/private_constant_handler.rb,
.../handlers/ruby/legacy/visibility_handler.rb,
lib/yard/handlers/ruby/mixin_handler.rb,
lib/yard/handlers/ruby/module_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/legacy/method_handler.rb,
lib/yard/handlers/ruby/macro_handler.rb,
lib/yard/handlers/ruby/macro_handler_methods.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 <franklin.webber@gmail.com>
* templates/default/fulldoc/html/setup.rb: Fulldoc Template Updated to
contain information about the various helper methods specified.
2011-05-07 Loren Segal <lsegal@soen.ca>
* 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
#310
* lib/yard/handlers/ruby/macro_handler.rb, lib/yard/parser/ruby/ast_node.rb,
spec/handlers/examples/macro_handler_001.rb.txt,
spec/handlers/macro_handler_spec.rb: Properly handle macro calls with no
arguments
* 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,
lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/macro_handler.rb,
lib/yard/handlers/ruby/macro_handler_methods.rb,
spec/handlers/examples/macro_handler_001.rb.txt: Backport macros to legacy
parser/handlers
* spec/docstring_spec.rb: Remove silly useless spec.
* spec/spec_helper.rb: Only htmlify p() and puts() inside of TextMate (rspec
helpers)
* lib/yard/handlers/ruby/macro_handler.rb: Make attribute tag parser regex
1.8 compatible
* lib/yard/templates/helpers/html_helper.rb,
lib/yard/templates/helpers/markup_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 <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* lib/yard/handlers/ruby/macro_handler.rb,
spec/handlers/examples/macro_handler_001.rb.txt,
spec/handlers/macro_handler_spec.rb: Handle RDoc style ## hash flag
docstrings when recognizing DSL methods
2011-04-28 Loren Segal <lsegal@soen.ca>
* lib/yard/code_objects/macro_object.rb,
lib/yard/handlers/ruby/macro_handler.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,
lib/yard/handlers/ruby/macro_handler.rb,
lib/yard/handlers/ruby/method_handler.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,
lib/yard/handlers/ruby/legacy/process_handler.rb,
lib/yard/handlers/ruby/process_handler.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/examples/method_handler_001.rb.txt,
spec/handlers/method_handler_spec.rb: Add macro objects when creating class
methods
* 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/examples/macro_handler_001.rb.txt,
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 <lsegal@soen.ca>
* 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 <postmodern.mod3@gmail.com>
* lib/yard.rb: Catch all Exceptions raised by Rubinius or JRuby when testing
callcc.
2011-04-26 Loren Segal <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* 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/headers.erb,
templates/default/layout/html/search.erb,
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/server/doc_server_helper.rb,
lib/yard/templates/helpers/html_helper.rb: Fix yard server to work with
ExtraFileObjects
* .../templates/default/layout/html/headers.erb,
.../doc_server/full_list/html/full_list.erb,
.../doc_server/library_list/html/headers.erb,
templates/default/fulldoc/html/full_list.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 <franklin.webber@gmail.com>
* 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 <lsegal@soen.ca>
* 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 <sferik@gmail.com>
* 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/class_object.rb,
lib/yard/code_objects/constant_object.rb,
lib/yard/code_objects/extended_method_object.rb,
lib/yard/code_objects/extra_file_object.rb,
lib/yard/code_objects/method_object.rb,
lib/yard/code_objects/module_object.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/class_condition_handler.rb,
lib/yard/handlers/ruby/class_handler.rb,
lib/yard/handlers/ruby/class_variable_handler.rb,
lib/yard/handlers/ruby/constant_handler.rb,
lib/yard/handlers/ruby/exception_handler.rb,
lib/yard/handlers/ruby/legacy/alias_handler.rb,
lib/yard/handlers/ruby/legacy/attribute_handler.rb,
lib/yard/handlers/ruby/legacy/base.rb,
.../ruby/legacy/class_condition_handler.rb,
lib/yard/handlers/ruby/legacy/class_handler.rb,
.../handlers/ruby/legacy/class_variable_handler.rb,
lib/yard/handlers/ruby/legacy/constant_handler.rb,
lib/yard/handlers/ruby/legacy/exception_handler.rb,
lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/legacy/mixin_handler.rb,
lib/yard/handlers/ruby/legacy/module_handler.rb,
.../ruby/legacy/private_constant_handler.rb,
lib/yard/handlers/ruby/legacy/process_handler.rb,
.../handlers/ruby/legacy/visibility_handler.rb,
lib/yard/handlers/ruby/legacy/yield_handler.rb,
lib/yard/handlers/ruby/method_condition_handler.rb,
lib/yard/handlers/ruby/method_handler.rb,
lib/yard/handlers/ruby/mixin_handler.rb,
lib/yard/handlers/ruby/module_handler.rb,
lib/yard/handlers/ruby/private_constant_handler.rb,
lib/yard/handlers/ruby/process_handler.rb,
lib/yard/handlers/ruby/struct_handler_methods.rb,
lib/yard/handlers/ruby/visibility_handler.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/legacy/ruby_parser.rb,
lib/yard/parser/ruby/legacy/statement.rb,
lib/yard/parser/ruby/legacy/statement_list.rb,
lib/yard/parser/ruby/legacy/token_list.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/process_serializer.rb,
lib/yard/serializers/stdout_serializer.rb,
lib/yard/serializers/yardoc_serializer.rb, lib/yard/server/adapter.rb,
lib/yard/server/commands/base.rb,
lib/yard/server/commands/display_file_command.rb,
lib/yard/server/commands/display_object_command.rb,
lib/yard/server/commands/frames_command.rb,
lib/yard/server/commands/library_command.rb,
lib/yard/server/commands/library_index_command.rb,
lib/yard/server/commands/list_command.rb,
lib/yard/server/commands/search_command.rb,
lib/yard/server/commands/static_file_command.rb,
lib/yard/server/doc_server_helper.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,
.../templates/default/fulldoc/html/css/custom.css,
.../templates/default/fulldoc/html/js/live.js,
.../templates/default/layout/html/breadcrumb.erb,
.../doc_server/full_list/html/full_list.erb,
.../doc_server/library_list/html/contents.erb,
.../doc_server/library_list/html/headers.erb,
.../doc_server/processing/html/processing.erb,
.../templates/doc_server/search/html/search.erb,
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/base_helper.rb,
lib/yard/templates/helpers/filter_helper.rb,
lib/yard/templates/helpers/html_helper.rb,
.../helpers/html_syntax_highlight_helper.rb,
lib/yard/templates/helpers/markup/rdoc_markup.rb,
lib/yard/templates/helpers/markup_helper.rb,
lib/yard/templates/helpers/method_helper.rb,
lib/yard/templates/helpers/text_helper.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 <franklin.webber@gmail.com>
* templates/default/fulldoc/html/css/full_list.css,
templates/default/fulldoc/html/full_list.erb,
templates/default/fulldoc/html/setup.rb,
templates/default/layout/html/headers.erb,
templates/default/layout/html/search.erb,
templates/default/layout/html/setup.rb: Customizable JS, CSS, and menus
provided methods to override or add to Javascript, CSS, and the search
fields.
2011-04-14 Loren Segal <lsegal@soen.ca>
* ChangeLog, README.md, lib/yard.rb: 0.6.8 release
2011-04-13 Loren Segal <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* spec/cli/yardoc_spec.rb: Fix spec title
2011-04-12 Akzhan Abdulin <akzhan.abdulin@gmail.com>
* templates/default/fulldoc/html/js/app.js,
templates/default/fulldoc/html/js/full_list.js: Fix JSLint issues
2011-04-11 Loren Segal <lsegal@soen.ca>
* 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,
spec/templates/examples/method002.html,
spec/templates/examples/method003.html,
spec/templates/examples/method005.html,
spec/templates/examples/module001.html,
templates/default/tags/html/option.erb, templates/default/tags/html/tag.erb:
Render the option key and parameter name before type specifications. Closes
#240
* 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,
lib/yard/serializers/file_system_serializer.rb,
lib/yard/templates/helpers/base_helper.rb,
lib/yard/templates/helpers/html_helper.rb,
spec/serializers/file_system_serializer_spec.rb: Update ExtraFileObject and
use this object in FileSystemSerializer and template helpers (for linking)
* ChangeLog, docs/CodeObjects.md, docs/GettingStarted.md, docs/Glossary.md,
docs/Handlers.md, docs/Overview.md, docs/Parser.md, docs/Tags.md,
docs/Templates.md, docs/WhatsNew.md: 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
* README.md, docs/GettingStarted.md: 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,
lib/yard/code_objects/extra_file_object.rb,
lib/yard/templates/helpers/html_helper.rb,
templates/default/fulldoc/html/full_list_files.erb,
templates/default/fulldoc/html/setup.rb,
templates/default/layout/html/files.erb,
templates/default/layout/html/setup.rb: Add ExtraFileObject to abstract extra
(doc) files
2011-04-10 Loren Segal <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* 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 <akzhan.abdulin@gmail.com>
* templates/default/fulldoc/html/js/jquery.js: Upgrade jQuery from 1.5.1 to
1.5.2
2011-04-06 Loren Segal <lsegal@soen.ca>
* README.md: Fix tabs formatting in README
* ChangeLog: Update changelog for 0.6.7 release
* ChangeLog, README.md, lib/yard.rb, lib/yard/rubygems/specification.rb:
0.6.7 release (fix issue with gem plugin)
* yard.gemspec: Fix gemspec date
* ChangeLog, README.md, 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 <mike.smit@amentra.com>
* spec/templates/examples/module001.dot,
spec/templates/examples/module001.html,
spec/templates/examples/module001.txt, spec/templates/module_spec.rb,
.../default/module/html/inherited_attributes.erb,
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 <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* 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,
lib/yard/templates/helpers/markup_helper.rb,
spec/templates/helpers/html_helper_spec.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 <lsegal@soen.ca>
* 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 <akzhan.abdulin@gmail.com>
* 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 <lsegal@soen.ca>
* ChangeLog, LICENSE, README.md, docs/WhatsNew.md, lib/yard.rb, yard.gemspec:
Update to 0.6.5
2011-03-11 Loren Segal <lsegal@soen.ca>
* 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,
lib/yard/handlers/ruby/legacy/alias_handler.rb,
lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/method_handler.rb,
spec/handlers/alias_handler_spec.rb,
spec/handlers/examples/alias_handler_001.rb.txt,
spec/handlers/examples/method_handler_001.rb.txt,
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/code_objects/proxy_spec.rb,
spec/handlers/examples/module_handler_001.rb.txt,
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 <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* lib/yard/templates/helpers/markup_helper.rb: Print markup provider in error
message when it cannot be loaded.
2011-03-07 Loren Segal <lsegal@soen.ca>
* lib/yard/handlers/ruby/alias_handler.rb,
lib/yard/handlers/ruby/legacy/alias_handler.rb,
spec/handlers/alias_handler_spec.rb,
spec/handlers/examples/alias_handler_001.rb.txt: Support alias call with
quoted symbols Closes #262
2011-02-28 Akzhan Abdulin <akzhan.abdulin@gmail.com>
* templates/default/fulldoc/html/js/jquery.js: Upgrade jQuery from 1.4.2 to
1.5.1
2011-02-27 Loren Segal <lsegal@soen.ca>
* 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 <ywzhaifei@gmail.com>
* templates/default/fulldoc/html/css/style.css: changes css style on list
2011-02-27 Guten <ywzhaifei@gmail.com>
* templates/default/fulldoc/html/css/style.css: add css style to list
support <ul> <dl>
2011-02-26 Loren Segal <lsegal@soen.ca>
* 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/legacy/statement_list.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,
lib/yard/parser/source_parser.rb,
.../helpers/html_syntax_highlight_helper.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 <lsegal@soen.ca>
* Rakefile, lib/yard.rb, lib/yard/autoload.rb,
lib/yard/handlers/ruby/class_handler.rb,
lib/yard/handlers/ruby/method_condition_handler.rb,
lib/yard/handlers/ruby/private_constant_handler.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/class_condition_handler_spec.rb,
spec/handlers/class_handler_spec.rb,
spec/handlers/class_variable_handler_spec.rb,
spec/handlers/constant_handler_spec.rb,
spec/handlers/exception_handler_spec.rb,
spec/handlers/extend_handler_spec.rb,
spec/handlers/method_condition_handler_spec.rb,
spec/handlers/method_handler_spec.rb, spec/handlers/mixin_handler_spec.rb,
spec/handlers/module_handler_spec.rb,
spec/handlers/private_constant_handler_spec.rb,
spec/handlers/process_handler_spec.rb, spec/handlers/ruby/base_spec.rb,
spec/handlers/visibility_handler_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 <lsegal@soen.ca>
* lib/yard/templates/helpers/html_helper.rb,
lib/yard/templates/helpers/markup_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 <lsegal@soen.ca>
* lib/yard/templates/helpers/base_helper.rb,
spec/templates/helpers/base_helper_spec.rb: Add {include:file:FILENAME}
syntax
2011-02-25 Loren Segal <lsegal@soen.ca>
* 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 <postmodern.mod3@gmail.com>
* 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 <lsegal@soen.ca>
* 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 <bobaman@google.com>
* templates/default/layout/html/headers.erb: Fixed invalid meta element in
headers.
* spec/parser/source_parser_spec.rb: Added spec to verify docstrings on
metaclasses get parsed correctly.
2011-02-07 latentflip <phil@latentflip.com>
* lib/yard/cli/graph.rb: Fixed a typo in yard-graph help messages: Direclty
-> Directly
2011-01-26 Loren Segal <lsegal@soen.ca>
* lib/yard/code_objects/base.rb, lib/yard/serializers/process_serializer.rb,
lib/yard/templates/helpers/markup_helper.rb: More spelling corrections
* docs/WhatsNew.md, lib/yard/handlers/base.rb,
lib/yard/handlers/processor.rb, lib/yard/parser/ruby/ast_node.rb,
lib/yard/server/commands/display_object_command.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 <lsegal@soen.ca>
* docs/Tags.md: 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
exist
* 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 <postmodern.mod3@gmail.com>
* lib/yard/templates/helpers/markup_helper.rb: Prioritize the loading of
kramdown before maruku.
2011-01-19 Loren Segal <lsegal@soen.ca>
* templates/default/fulldoc/html/js/app.js: Generate better ids
2011-01-17 Akzhan Abdulin <akzhan.abdulin@gmail.com>
* spec/config_spec.rb: Specs should not broken when plugins installed in
system
* 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 <lsegal@soen.ca>
* 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/legacy/statement_list.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
formatting
2011-01-01 Dominik Honnef <dominikh@fork-bomb.org>
* 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 <lsegal@soen.ca>
* spec/cli/yardoc_spec.rb, spec/registry_store_spec.rb: Fix broken specs
* templates/default/layout/html/files.erb,
templates/default/layout/html/index.erb,
templates/default/layout/html/listing.erb,
templates/default/layout/html/objects.erb,
templates/default/layout/html/setup.rb: Split index/listing templates into
listing/files/objects
* lib/yard/templates/helpers/html_helper.rb: Add documentation to
simple_markup_html
* lib/yard/templates/helpers/html_helper.rb: Make SimpleMarkupHtml thread
local, remove constant
2010-12-29 Loren Segal <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* 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
implementation
2010-12-29 Loren Segal <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* lib/yard/autoload.rb, lib/yard/code_objects/base.rb,
lib/yard/code_objects/method_object.rb,
.../ruby/legacy/private_constant_handler.rb,
lib/yard/handlers/ruby/private_constant_handler.rb,
.../examples/private_constant_handler_001.rb.txt,
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 <lsegal@soen.ca>
* ChangeLog, README.md, 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/commands/base.rb,
lib/yard/server/commands/display_file_command.rb,
lib/yard/server/commands/display_object_command.rb,
lib/yard/server/commands/frames_command.rb,
lib/yard/server/commands/library_command.rb,
lib/yard/server/commands/list_command.rb,
lib/yard/server/doc_server_helper.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 <lsegal@soen.ca>
* docs/GettingStarted.md: Extra information about type specifications, fix
tools section
* docs/GettingStarted.md: 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 <lsegal@soen.ca>
* lib/yard/parser/ruby/ruby_parser.rb,
spec/parser/ruby/legacy/statement_list_spec.rb,
spec/parser/ruby/ruby_parser_spec.rb: Fix ordering of heredoc tokens Closes
gh-209
* 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/handlers/class_handler_spec.rb,
spec/handlers/examples/class_handler_001.rb.txt,
spec/parser/ruby/ruby_parser_spec.rb: Fix Derived < ::Base inheriting wrong
Base (not top level) Closes gh-216
2010-12-17 Loren Segal <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* spec/templates/spec_helper.rb: Can't use example() with rspec2
2010-12-12 Gioele Barabucci <gioele@svario.it>
* Rakefile, spec/spec_helper.rb: Minimal update to RSpec 2
2010-12-15 Loren Segal <lsegal@soen.ca>
* 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 <lee@jarvis.co>
* lib/yard/cli/yri.rb: prepend :: to adhere to rubys class lookup rules for
Config::CONFIG
2010-11-24 Loren Segal <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* 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
stack
2010-11-21 srawlins <sam.rawlins@gmail.com>
* 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 <lsegal@soen.ca>
* ChangeLog, README.md, 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 <franklin.webber@gmail.com>
* 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 <lsegal@soen.ca>
* ChangeLog, README.md, 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
* README.md, docs/GettingStarted.md: Tell users where to read information
about .yardopts
* ChangeLog, README.md: 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
* README.md: Add new contributors
2010-11-14 Loren Segal <lsegal@soen.ca>
* docs/GettingStarted.md, docs/WhatsNew.md: Document new YARD features in
0.6.2
* 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 YARD::Config.save for
serializing to CONFIG_FILE
2010-11-14 Robert Wahler <robert@gearheadforhire.com>
* 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 <lsegal@soen.ca>
* 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/search_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 <lsegal@soen.ca>
* lib/yard/handlers/ruby/extend_handler.rb,
lib/yard/handlers/ruby/legacy/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 <ajt@hyperlogic.org>
* lib/yard/parser/c_parser.rb: Fixed parsing of constants defined in c
extensions.
2010-11-10 Loren Segal <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* lib/yard/cli/server.rb: Fix documentation in yard server CLI usage
description
* lib/yard/server/commands/library_command.rb: Clean up class variable
declaration
* 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
gh-197
* 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/Tags.md: Document missing tags @api and @note Closes gh-196
* docs/Tags.md: 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 <lsegal@soen.ca>
* lib/yard/templates/helpers/html_helper.rb: Don't perform syntax
highlighting on plaintext extra files
2010-11-02 Mark Evans <mark@new-bamboo.co.uk>
* 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 <emuller@engineyard.com>
* lib/yard/server/commands/library_command.rb: we're already chrooted'
2010-10-29 freeformz <emuller@engineyard.com>
* lib/yard/server/commands/library_command.rb: stop the threads from trying
to chdir over each other
2010-10-22 David Turnbull <dturnbull@gmail.com>
* docs/GettingStarted.md: Expanded usage section. Getting Started has more
overview of the tools and directs to the readme for details.
2010-10-14 Loren Segal <lsegal@soen.ca>
* 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,
.../examples/visibility_handler_001.rb.txt,
spec/handlers/visibility_handler_spec.rb: Fix visibility statements using
constant symbol values (private :Foo)
2010-10-13 Loren Segal <lsegal@soen.ca>
* lib/yard/handlers/ruby/class_handler.rb,
lib/yard/handlers/ruby/legacy/class_handler.rb,
lib/yard/handlers/ruby/struct_handler_methods.rb,
spec/handlers/class_handler_spec.rb,
spec/handlers/examples/class_handler_001.rb.txt: Support @attr* on non-struct
classes
* 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 <lsegal@soen.ca>
* lib/yard/handlers/ruby/constant_handler.rb,
lib/yard/handlers/ruby/legacy/constant_handler.rb,
spec/handlers/constant_handler_spec.rb,
spec/handlers/examples/constant_handler_001.rb.txt: Support @attr
declarations in "Klass = Struct.new(:a, :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 <lsegal@soen.ca>
* lib/yard/autoload.rb, lib/yard/serializers/yardoc_serializer.rb: Refactor
StubProxy
* 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 <lsegal@soen.ca>
* 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,
lib/yard/handlers/ruby/legacy/class_handler.rb,
spec/handlers/class_handler_spec.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,
lib/yard/handlers/ruby/method_handler.rb,
spec/handlers/examples/method_handler_001.rb.txt,
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/handlers/alias_handler_spec.rb,
spec/handlers/examples/alias_handler_001.rb.txt,
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,
.../handlers/examples/exception_handler_001.rb.txt,
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 <sam.rawlins@gmail.com>
* 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 <lsegal@soen.ca>
* 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
compat
* lib/yard/cli/gems.rb: Replace #each_slice with 1.8.6 compatible iteration.
Closes gh-178
2010-09-27 srawlins <sam.rawlins@gmail.com>
* 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 <lsegal@soen.ca>
* .../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 <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* lib/yard/handlers/ruby/extend_handler.rb,
lib/yard/handlers/ruby/legacy/mixin_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 <lsegal@soen.ca>
* docs/Tags.md: Fix typo in Tags.md 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 <lsegal@soen.ca>
* lib/yard/cli/command.rb, lib/yard/config.rb: Add documentation for
YARD::Config and add --plugin option for commandline parsing so no warnings
display
* 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
file.
2010-09-14 Loren Segal <lsegal@soen.ca>
* 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
times
* 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
superclass)
2010-09-08 Loren Segal <lsegal@soen.ca>
* templates/default/tags/setup.rb: Refactor tag method generation code for
templates
2010-09-07 Loren Segal <lsegal@soen.ca>
* README.md, docs/WhatsNew.md: Fix some markdown formatting errors
2010-09-06 Loren Segal <lsegal@soen.ca>
* ChangeLog, README.md, 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
misformatted
2010-09-03 Loren Segal <lsegal@soen.ca>
* spec/templates/helpers/html_helper_spec.rb: Fix broken spec of #link_object
2010-09-03 Arthur Schreiber <schreiber.arthur@gmail.com>
* spec/registry_store_spec.rb: Update specs to match reading marshal data as
binary.
2010-09-02 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/source_parser.rb: Fix printing of debugging information
when displaying parser paths in 1.8.x
2010-09-02 Arthur Schreiber <schreiber.arthur@gmail.com>
* lib/yard/registry_store.rb: Fix remaining cases where Marshal data was not
read as binary.
2010-09-02 Loren Segal <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* 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 <schreiber.arthur@gmail.com>
* 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 <lsegal@soen.ca>
* 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
Base#name
2010-08-31 Loren Segal <lsegal@soen.ca>
* lib/yard/registry.rb, lib/yard/server/commands/search_command.rb: Avoid
exception when Registry.at(nil) 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 <lsegal@soen.ca>
* templates/default/fulldoc/html/css/style.css: Put class list above ToC
(take 2) Closes gh-164
2010-08-29 Loren Segal <lsegal@soen.ca>
* 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/Templates.md: Fix reference to YARD::Templates::Section
2010-08-28 Loren Segal <lsegal@soen.ca>
* README.md: Fix some typos in readme
* lib/yard.rb: Update version to 0.6.0
* README.md: Update README for 0.6.0 release
* docs/WhatsNew.md: Update WhatsNew.md with new features in 0.6.0
* docs/Templates.md: Update Templates.md to include documentation about new
Section API
* README.md, docs/GettingStarted.md, docs/Handlers.md, docs/Overview.md,
docs/Parser.md, docs/Tags.md, docs/WhatsNew.md: 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
* README.md: Update contributors list
2010-08-27 Pieter van de Bruggen <pvande@gmail.com>
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb,
.../helpers/html_syntax_highlight_helper_spec.rb,
templates/default/method_details/html/source.erb,
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 <lsegal@soen.ca>
* templates/default/fulldoc/html/css/style.css: Add margin around TOC
2010-08-25 Loren Segal <lsegal@soen.ca>
* 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
cache
2010-08-22 Pieter van de Bruggen <pvande@gmail.com>
* lib/yard/handlers/processor.rb: Providing a hook for registering new
handler namespaces. This should make setting up new language handlers more
accessible.
* templates/default/tags/html/example.erb: @example tags should be
highlighted in the language of their source object.
2010-08-22 Loren Segal <lsegal@soen.ca>
* 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
generation
2010-08-19 Loren Segal <lsegal@soen.ca>
* 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
documentation
2010-08-15 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/diff.rb: Make sure rubygems/package is loaded before running
Diff utility
2010-08-07 Loren Segal <lsegal@soen.ca>
* 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,
lib/yard/handlers/ruby/legacy/class_handler.rb,
spec/handlers/class_handler_spec.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 <lsegal@soen.ca>
* 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 <lsegal@soen.ca>
* 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,
lib/yard/templates/helpers/text_helper.rb,
spec/templates/helpers/html_helper_spec.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,
spec/templates/examples/constant002.txt,
spec/templates/examples/constant003.txt,
templates/default/constant/text/header.erb,
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,
lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/method_handler.rb,
spec/handlers/method_handler_spec.rb: Raise undocumentable error for methods
defined on object instances (def foo.bar)
* 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 <lsegal@soen.ca>
* lib/yard/templates/helpers/base_helper.rb,
lib/yard/templates/helpers/filter_helper.rb,
lib/yard/templates/helpers/html_helper.rb,
.../helpers/html_syntax_highlight_helper.rb,
lib/yard/templates/helpers/markup_helper.rb,
lib/yard/templates/helpers/method_helper.rb,
lib/yard/templates/helpers/module_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 <lsegal@soen.ca>
* lib/yard/handlers/ruby/base.rb: Update documentation for HandlesExtension
* lib/yard/handlers/ruby/base.rb: Update documentation for
Handlers::Ruby::Base
* 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 <lsegal@soen.ca>
* lib/yard/handlers/ruby/visibility_handler.rb,
.../examples/visibility_handler_001.rb.txt,
spec/handlers/visibility_handler_spec.rb: Ignore expressions in
public/private/protected statements Closes gh-153
2010-07-16 Loren Segal <lsegal@soen.ca>
* lib/yard/templates/engine.rb: Properly rescue NameError
* lib/yard/handlers/ruby/process_handler.rb: Add docstring for 'process'
methods
* lib/yard/handlers/base.rb, lib/yard/handlers/ruby/base.rb,
lib/yard/handlers/ruby/class_condition_handler.rb,
lib/yard/handlers/ruby/class_handler.rb,
lib/yard/handlers/ruby/class_variable_handler.rb,
lib/yard/handlers/ruby/constant_handler.rb,
lib/yard/handlers/ruby/exception_handler.rb,
lib/yard/handlers/ruby/extend_handler.rb,
lib/yard/handlers/ruby/legacy/alias_handler.rb,
lib/yard/handlers/ruby/legacy/attribute_handler.rb,
.../ruby/legacy/class_condition_handler.rb,
lib/yard/handlers/ruby/legacy/class_handler.rb,
.../handlers/ruby/legacy/class_variable_handler.rb,
lib/yard/handlers/ruby/legacy/constant_handler.rb,
lib/yard/handlers/ruby/legacy/exception_handler.rb,
lib/yard/handlers/ruby/legacy/extend_handler.rb,
lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/legacy/mixin_handler.rb,
lib/yard/handlers/ruby/legacy/module_handler.rb,
lib/yard/handlers/ruby/legacy/process_handler.rb,
.../handlers/ruby/legacy/visibility_handler.rb,
lib/yard/handlers/ruby/legacy/yield_handler.rb,
lib/yard/handlers/ruby/method_condition_handler.rb,
lib/yard/handlers/ruby/method_handler.rb,
lib/yard/handlers/ruby/mixin_handler.rb,
lib/yard/handlers/ruby/module_handler.rb,
lib/yard/handlers/ruby/process_handler.rb,
lib/yard/handlers/ruby/struct_handler_methods.rb,
lib/yard/handlers/ruby/visibility_handler.rb,
lib/yard/handlers/ruby/yield_handler.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 <lsegal@soen.ca>
* 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/handlers/ruby/base.rb,
lib/yard/handlers/ruby/legacy/alias_handler.rb,
lib/yard/handlers/ruby/legacy/attribute_handler.rb,
lib/yard/handlers/ruby/legacy/base.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,
lib/yard/handlers/ruby/legacy/attribute_handler.rb,
spec/handlers/attribute_handler_spec.rb,
.../handlers/examples/attribute_handler_001.rb.txt: [bugfix] Maintain
visibility in attribute definitions
2010-07-14 Loren Segal <lsegal@soen.ca>
* lib/yard/templates/helpers/base_helper.rb,
lib/yard/templates/helpers/html_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/handlers/ruby/legacy/alias_handler.rb,
lib/yard/templates/helpers/base_helper.rb: Update documentation for various
classes/methods
* 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 <lsegal@soen.ca>
* lib/yard/server/webrick_adapter.rb: Remove unnecessary code from
WebrickAdapter
* spec/server/commands/static_file_command_spec.rb: Add specs for
StaticFileCommand
* 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
MIME_TYPES
* 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
paths)
* 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
docstrings
* 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
LibraryVersion
* 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 yardoc.org
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
frames
2010-07-12 Loren Segal <lsegal@soen.ca>
* .../templates/default/fulldoc/html/css/custom.css,
.../default/fulldoc/html/images/loading.gif,
.../default/fulldoc/html/images/processing.gif,
.../doc_server/processing/html/processing.erb: Much nicer 'processing' page
2010-07-10 Loren Segal <lsegal@soen.ca>
* .../templates/default/fulldoc/html/js/live.js: Fix javascript links to list
prefix path
* lib/yard/server/commands/library_command.rb,
.../doc_server/processing/html/processing.erb,
.../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/commands/frames_command.rb,
lib/yard/server/commands/library_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,
lib/yard/server/commands/search_command.rb,
lib/yard/server/doc_server_helper.rb,
lib/yard/server/doc_server_serializer.rb, lib/yard/server/router.rb,
.../templates/default/layout/html/breadcrumb.erb,
.../templates/default/layout/html/headers.erb,
.../templates/doc_server/frames/html/frames.erb,
.../doc_server/full_list/html/full_list.erb,
.../doc_server/library_list/html/contents.erb: Replace command prefix
constants with methods that can be overridden, also use prefixes in templates
* lib/yard/server/commands/base.rb: Only show 404 page if no body contents
exist
* lib/yard/server/adapter.rb: Allow alternate Router class to be specified
with Adapter
* lib/yard/cli/server.rb, spec/cli/server_spec.rb,
spec/server/adapter_spec.rb: Change order of LibraryVersion constructor
arguments
2010-07-09 Loren Segal <lsegal@soen.ca>
* lib/yard/server/commands/frames_command.rb: Update frames command to
support /frames/Path/To/Object URL mapping.
* .../doc_server/library_list/html/contents.erb,
.../doc_server/library_list/html/headers.erb,
.../doc_server/library_list/html/library_list.erb,
.../doc_server/library_list/html/setup.rb,
.../doc_server/library_list/html/title.erb: Refactor library_list template
into multiple erb files
* .../templates/default/layout/html/breadcrumb.erb: Link to /docs, not / in
breadcrumb
* lib/yard/server/commands/frames_command.rb: Only list relative path for
filename in frames
* lib/yard/autoload.rb, lib/yard/cli/server.rb, lib/yard/server/adapter.rb,
lib/yard/server/commands/base.rb,
lib/yard/server/commands/display_object_command.rb,
lib/yard/server/commands/library_index_command.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: Refactor routing from adapter into Router
class and adjust some server functionality
* lib/yard/server/commands/static_file_command.rb: Check document root for
StaticFileCommand
* lib/yard/server/commands/library_command.rb: Reuse yardoc file over
multiple requests to same library
* lib/yard/server/commands/library_command.rb: Support libraries without
versions
* lib/yard/cli/gems.rb: Run yardoc without stats
2010-07-08 Loren Segal <lsegal@soen.ca>
* lib/yard/server/adapter.rb, lib/yard/server/commands/base.rb,
lib/yard/server/commands/frames_command.rb: Rename base_uri to base_path
2010-07-07 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/yard_graph.rb: Fix typo in YardGraph
2010-07-05 Loren Segal <lsegal@soen.ca>
* Rakefile: Add YARD_VERSION env to Rakefile. Allows installing as arbitrary
gem version with `rake install YARD_VERSION=x.y` Note that this does not
change YARD::VERSION in the installed gem itself.
2010-07-04 Jake Kerr <jkerr@bumptechnologies.com>
* bin/yard-graph, lib/yard/cli/graph.rb: Fix typos in yard-graph script and
graph command The bin/yard-graph script was referring to Yard::CLI::Graph by
it's old name YardGraph. There was a comment in the graph command that also
that referred to YardGraph
2010-06-30 Loren Segal <lsegal@soen.ca>
* spec/cli/diff_spec.rb, spec/cli/stats_spec.rb: Fix spec in 1.8 (block
handling)
* lib/yard/cli/diff.rb, lib/yard/cli/stats.rb, lib/yard/cli/yardoc.rb,
spec/cli/yardoc_spec.rb: Add --no-save to yardoc to parse files but without
saving registry
* lib/yard/cli/diff.rb: Documentation for Diff command
* lib/yard/cli/command_parser.rb, spec/cli/command_parser_spec.rb: Document
CommandParser, make CommandParser#commands private
2010-06-27 Gabriel Horner <gabriel.horner@gmail.com>
* lib/yard/templates/helpers/text_helper.rb,
spec/templates/helpers/text_helper_spec.rb: Truncate text in align_right that
is longer than allowed width Closes gh-147
2010-06-30 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/yardoc.rb: Only print statistics if not listing objects
2010-06-27 Loren Segal <lsegal@soen.ca>
* lib/rubygems_plugin.rb, lib/yard/autoload.rb, lib/yard/cli/command.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/method_object.rb,
lib/yard/code_objects/namespace_object.rb, lib/yard/core_ext/file.rb,
lib/yard/core_ext/insertion.rb, lib/yard/handlers/base.rb,
.../ruby/legacy/class_condition_handler.rb,
lib/yard/handlers/ruby/legacy/process_handler.rb,
lib/yard/handlers/ruby/process_handler.rb,
lib/yard/handlers/ruby/struct_handler_methods.rb, lib/yard/parser/base.rb,
lib/yard/parser/c_parser.rb, lib/yard/parser/ruby/legacy/ruby_parser.rb,
lib/yard/parser/ruby/legacy/statement.rb,
lib/yard/parser/ruby/ruby_parser.rb, lib/yard/parser/source_parser.rb,
lib/yard/registry.rb, lib/yard/registry_store.rb,
lib/yard/server/commands/library_command.rb, lib/yard/tags/library.rb,
lib/yard/templates/erb_cache.rb, lib/yard/templates/helpers/base_helper.rb,
lib/yard/templates/helpers/html_helper.rb,
lib/yard/templates/helpers/markup_helper.rb, lib/yard/templates/section.rb,
lib/yard/templates/template.rb, lib/yard/verifier.rb: Add @since tags for
objects between 0.5.0 and 0.6.0
* lib/yard/core_ext/file.rb, lib/yard/docstring.rb, lib/yard/globals.rb,
lib/yard/logging.rb, lib/yard/registry.rb, lib/yard/serializers/base.rb: Add
groups/docs
* lib/yard/cli/diff.rb: Change debug messages back to info
2010-06-26 Loren Segal <lsegal@soen.ca>
* lib/yard/handlers/base.rb: Make sure namespace is not a proxy
* lib/yard/cli/yardoc.rb, lib/yard/handlers/base.rb,
lib/yard/tags/library.rb, spec/cli/yardoc_spec.rb,
spec/handlers/base_spec.rb: Add transitive tags (and --transitive-tag).
Transitive tags allow a user to declare a tag on a namespace (like a module
or class) and have the tag be automatically applied to all methods and
objects inside the namespace. Consider declaring "@since" on a new class.
Instead of defining @since on every method inside the new class, a user can
simply declare it on the class itself and the tag will automatically be
applied to the methods inside. For example: # @since 1.1 class Foo def bar;
end end The Foo#bar method will have a @since tag defined as well.
* lib/yard/autoload.rb, lib/yard/cli/command_parser.rb, lib/yard/cli/diff.rb,
spec/cli/diff_spec.rb: Add yard diff command to compare two library versions
or gems
* spec/cli/yardoc_spec.rb, spec/templates/examples/module001.txt: Fix broken
specs
* lib/yard/templates/section.rb, spec/templates/section_spec.rb: Add
Section#unshift
2010-06-25 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/stats.rb: Ignore overridden methods from "undocumented" check,
they don't need documentation.
* lib/yard/code_objects/method_object.rb,
spec/code_objects/method_object_spec.rb: Add MethodObject#overridden_method
that returns the method the object overrides in a superclass/mixin, if any
* lib/yard/code_objects/class_object.rb,
lib/yard/code_objects/namespace_object.rb,
lib/yard/handlers/ruby/legacy/mixin_handler.rb,
lib/yard/handlers/ruby/mixin_handler.rb,
spec/code_objects/class_object_spec.rb,
spec/code_objects/namespace_object_spec.rb,
spec/handlers/examples/module_handler_001.rb.txt,
spec/handlers/module_handler_spec.rb: Fix mixin/inheritance tree ordering,
also add :all key for meths/inherited_meths/included_meths to return all
method objects, not just first one
* lib/yard/verifier.rb: Fix Object#type deprecated warning in 1.8 for
Verifier
* lib/yard/registry.rb: Docs: rename 'reload' argument in Registry.load to
'reparse' for clarity
* lib/yard/docstring.rb, lib/yard/handlers/ruby/legacy/base.rb: Docs: fix
name resolution errors
* lib/yard/autoload.rb, lib/yard/cli/command_parser.rb,
lib/yard/cli/stats.rb, lib/yard/cli/yardoc.rb, spec/cli/stats_spec.rb,
spec/cli/yardoc_spec.rb: Add 'yard stats' command to list
documented/undocumented methods
* benchmarks/parsing.rb: Fix parsing benchmark require clause
* lib/yard/cli/yardoc.rb: Refactor Yardoc option parsing methods
* lib/yard/cli/command.rb, lib/yard/cli/yardoc.rb: Move -e and --legacy to
Command class
* lib/yard/templates/template.rb: Fix bug causing specs to fail in 1.8
* lib/yard/code_objects/base.rb: Refactor CodeObjects::Base.new to use
instance #path method to get key name instead of using Base.key_for hack
2010-06-24 Loren Segal <lsegal@soen.ca>
* lib/yard/autoload.rb, lib/yard/core_ext/array.rb,
lib/yard/core_ext/insertion.rb, lib/yard/templates/section.rb,
lib/yard/templates/template.rb, spec/core_ext/array_spec.rb,
spec/core_ext/insertion_spec.rb, spec/templates/section_spec.rb,
spec/templates/template_spec.rb, templates/default/tags/setup.rb: Refactor
'sections' template command to take Section objects and build tree-like
structures instead of plain Arrays. This change replaces all sections with
Section objects, allowing subsections to be accessed with Section#[] by name:
def init sections :a, :b, :c, [:sub1, :sub2]
sections[:c].place(:sub3).after(:sub1) puts "(sections is now [:a, :b, :c,
[:sub1, :sub2, :sub3]])" end This removes the need to use indexes, which is
problematic when multiple plugins overload the same template (because the
numeric index is not guaranteed). This change also adds Insertion#before_any
and Insertion#after_any to insert an object before any section no matter how
deeply nested it is. [1,[2,[3]]].place(4).after_any(3) #=> [1, [2, [3, 4]]]
The above template could be refactored as: def init sections :a, :b, :c,
[:sub1, :sub2] sections.place(:sub3).after_any(:sub1) end Closes gh-58
* lib/yard/parser/ruby/legacy/statement_list.rb,
lib/yard/tags/default_factory.rb, lib/yard/tags/library.rb,
lib/yard/tags/tag.rb: Docstring formatting: remove '##' pre-docstring lines
* lib/yard/parser/ruby/ruby_parser.rb: Fix broken spec in 1.9 parser; groups
not handling attributes (and other dsl syntaxes)
* README.md: Fix server reloading docs, note no longer applies
* lib/yard/code_objects/base.rb, lib/yard/registry_store.rb: Remove
disable_identity_map hack to initialize RootObject
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Make sure --tag is only
added once and fix specs
* lib/yard/code_objects/base.rb, lib/yard/registry.rb,
lib/yard/registry_store.rb: Remove Registry.objects cache and rely on
RegistryStore as object cache only
* lib/yard/docstring.rb, spec/docstring_spec.rb: Fix tag parsing of indented
lines and allow tag names with numbers in them
* lib/yard/cli/yardoc.rb, lib/yard/tags/library.rb, spec/cli/yardoc_spec.rb:
Add yardoc switches: `--tag`, `--type-tag`, `--type-name-tag`, `--name-tag`,
`--title-tag` and `--hide-tag` Allows the creation of custom YARD tags at
the command line without requiring a YARD extension. Tags can be defined in
the following way: $ yardoc --tag tagname:"Title of Tag" Similarly a
"typed", "named" or "titled" tag (or a few combinations) can be added with
the respective switches. Note the ':' separating the tag's @tagname from the
title used in templates. The quotations is used to escape spaces in the shell
(quotations should not be used when done inside Ruby). Titles are optional
(omit the ":TITLE" part). Tags added in this way are automatically displayed
in templates in the order that they are defined with the title given. If a
given tag should not be displayed in the templates, use the `--hide-tag`
switch to hide it: $ yardoc --tag tagname --hide-tag tagname This changeset
also makes Library.visible_tags into an attribute.
2010-06-23 Loren Segal <lsegal@soen.ca>
* templates/default/tags/setup.rb: Remove tag_ prefix from sections
(backwards compat.)
* lib/yard/docstring.rb, lib/yard/tags/library.rb, spec/docstring_spec.rb,
templates/default/tags/setup.rb: Rename .show_tags to .visible_tags and make
Docstring#blank? only be blank if it has no visible tags (togglable)
* lib/yard/core_ext/array.rb, spec/core_ext/array_spec.rb,
templates/default/class/setup.rb: Fix bug with new Insertion behaviour
* lib/yard/tags/library.rb, templates/default/tags/setup.rb: Add
Tags::Library.show_tags to order tags for templates and redesign tags
template to use that method when deciding which tags to show. Also add
#factory_method_for to get tag type
* lib/yard/core_ext/array.rb, spec/core_ext/array_spec.rb: Fix bug in
Insertion#before/#after when inserting array objects
* lib/yard/server/commands/library_command.rb, lib/yard/templates/engine.rb,
lib/yard/templates/helpers/base_helper.rb, spec/templates/engine_spec.rb,
spec/templates/module_spec.rb, templates/default/class/setup.rb,
templates/default/module/setup.rb: Add #globals helper method to keep state
for a rendering process (including all templates and sub-templates)
* lib/yard/server/library_version.rb, spec/cli/server_spec.rb,
spec/server/adapter_spec.rb: Fix server specs
* spec/templates/examples/module002.html: Fix group listing spec
* lib/yard/server/doc_server_helper.rb: Protect against nil error in
DocServerHelper
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Fix warning for missing reference
inside an extra-file. Now properly displays the file name and line number
more accurately
2010-06-22 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/ruby/legacy/statement.rb: Fix displaying of first line in
legacy parser for undocumentable error
* lib/yard/parser/ruby/legacy/statement.rb: Fix displaying of first line in
legacy parser for undocumentable error
* lib/yard/cli/server.rb: Parse source and create .yardoc if does not exist
(with no args passed to server)
* README.md: Add info on yard server command
* README.md: Fix yardoc --build gems command
* README.md: Fix readme for yard graph command
* yard.gemspec: Add 'yard' binary to gemspec, remove 'yard-graph'
* spec/cli/yardoc_spec.rb: Add specs for --no-private Closes gh-146
* ChangeLog, README.md, lib/yard.rb, yard.gemspec: Bump to version 0.5.8
* spec/cli/yardoc_spec.rb: Add specs for --no-private Closes gh-146
2010-06-19 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/yardoc.rb: Fix verifier for --no-private
2010-06-22 Loren Segal <lsegal@soen.ca>
* templates/default/fulldoc/html/js/app.js: Add localStorage support for
remembering collapsed/expanded state of method summary listing.
2010-06-21 Loren Segal <lsegal@soen.ca>
* ChangeLog, README.md, lib/yard.rb, yard.gemspec: Bump to version 0.5.7
* lib/yard/server/rack_adapter.rb: Reset command on each request in Rack
adapter
* lib/yard/server/adapter.rb: Fix library loading for single library
* templates/default/layout/html/setup.rb: Don't print readme filename for
--one-file
* templates/default/layout/html/setup.rb: Ignore private and @private
classes/modules from alphabetic index
* lib/yard/autoload.rb, lib/yard/cli/server.rb, lib/yard/server/adapter.rb,
lib/yard/server/commands/base.rb,
lib/yard/server/commands/display_object_command.rb,
lib/yard/server/commands/library_command.rb, lib/yard/server/rack_adapter.rb,
lib/yard/server/static_caching.rb, lib/yard/server/webrick_adapter.rb: Add
static caching support to adapters
* lib/yard/server/doc_server_serializer.rb: Fix serialization for constants
* lib/yard/server/commands/library_command.rb,
.../templates/default/layout/html/breadcrumb.erb: 1.8 compatibility fixes
* .../templates/default/layout/html/breadcrumb.erb: Smaller autocomplete
window on right side
2010-06-20 Loren Segal <lsegal@soen.ca>
* lib/yard/server/commands/base.rb,
lib/yard/server/commands/search_command.rb, lib/yard/server/rack_adapter.rb,
lib/yard/server/webrick_adapter.rb: Move xhr? method into Request objects
* lib/yard/autoload.rb, lib/yard/cli/gems.rb, lib/yard/cli/server.rb,
lib/yard/server/adapter.rb,
lib/yard/server/commands/display_object_command.rb,
lib/yard/server/commands/frames_command.rb,
lib/yard/server/commands/library_command.rb,
lib/yard/server/library_version.rb,
.../templates/default/layout/html/breadcrumb.erb,
.../doc_server/library_list/html/library_list.erb: Add LibraryVersion and
list projects by version
* lib/yard/cli/server.rb, lib/yard/server/commands/library_command.rb: Add
all gems by version for yard server command
* .../doc_server/library_list/html/library_list.erb: Improve library listing
page
* lib/yard/server/commands/library_command.rb: Fix on-demand building of gems
* lib/yard/server/commands/frames_command.rb: Fix frames command failing if
no files are provided
* lib/yard/autoload.rb, lib/yard/cli/server.rb, lib/yard/server/adapter.rb,
lib/yard/server/commands/base.rb,
lib/yard/server/commands/display_file_command.rb,
lib/yard/server/commands/display_object_command.rb,
lib/yard/server/commands/frames_command.rb,
lib/yard/server/commands/library_command.rb,
lib/yard/server/commands/library_index_command.rb,
lib/yard/server/commands/list_command.rb,
lib/yard/server/commands/project_command.rb,
lib/yard/server/commands/project_index_command.rb,
lib/yard/server/commands/search_command.rb,
lib/yard/server/doc_server_helper.rb,
lib/yard/server/doc_server_serializer.rb, lib/yard/server/rack_adapter.rb,
.../templates/default/fulldoc/html/js/live.js,
.../templates/default/layout/html/breadcrumb.erb,
.../templates/default/layout/html/headers.erb,
.../doc_server/library_list/html/library_list.erb,
.../doc_server/library_list/html/setup.rb,
.../doc_server/project_list/html/project_list.erb,
.../doc_server/project_list/html/setup.rb,
lib/yard/server/webrick_adapter.rb, spec/cli/server_spec.rb,
spec/server/adapter_spec.rb, spec/server/doc_server_serializer_spec.rb:
Rename all references from 'projects' to 'libraries' in server
* lib/yard/cli/server.rb, lib/yard/server/commands/project_command.rb,
spec/cli/server_spec.rb: Add yard server --gems to serve gems on demand. If
the gem does not have a yardoc file, it will be built on demand (with a small
delay on the first load)
* lib/yard/cli/gems.rb: Add ability to build gem for single gem in command
* lib/yard/cli/server.rb, spec/cli/server_spec.rb: Add specs for CLI::Server
and fix some bugs
* lib/yard/server/adapter.rb, lib/yard/server/doc_server_serializer.rb,
spec/server/adapter_spec.rb, spec/server/doc_server_serializer_spec.rb: Add
specs for Server::Adapter, Server::DocServerSerializer
* spec/templates/examples/module002.html, spec/templates/module_spec.rb: Add
specs for @group
* spec/cli/command_parser_spec.rb, spec/cli/yardoc_spec.rb: Fix broken specs
2010-06-19 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/server.rb: Add --adapter to select rack/webrick adapter and
-s/--server to select server type (thin,mongrel,cgi,etc.)
* lib/yard/server/commands/base.rb: Add low-level link to server adapter in
command
* lib/yard/cli/server.rb: Change daemonize option
* lib/yard/autoload.rb, lib/yard/cli/server.rb, lib/yard/server/adapter.rb,
lib/yard/server/rack_adapter.rb, lib/yard/server/webrick_adapter.rb: Refactor
Webrick code into Adapter class and add RackAdapter
* lib/yard/cli/yardoc.rb: Fix verifier for --no-private
* lib/yard/autoload.rb, lib/yard/server/commands/project_index_command.rb,
lib/yard/server/commands/root_command.rb, lib/yard/server/webrick_adapter.rb:
Rename RootCommand to ProjectIndexCommand
* lib/yard/server/webrick_adapter.rb: Mount static paths and root separately
* .../templates/default/layout/html/breadcrumb.erb: Fix link to project list
* lib/yard/server/commands/root_command.rb: Fix RootCommand
* lib/yard/autoload.rb, lib/yard/server/commands/base.rb,
lib/yard/server/commands/display_file_command.rb,
lib/yard/server/commands/display_object_command.rb,
lib/yard/server/commands/list_command.rb,
lib/yard/server/commands/project_command.rb,
lib/yard/server/commands/root_command.rb,
lib/yard/server/commands/search_command.rb,
lib/yard/server/webrick_adapter.rb: Refactor project commands into
ProjectCommand and root commands as base, change Base initializer to accept
hash and set attributes matching hash keys
* lib/yard/cli/server.rb, lib/yard/cli/yardoc.rb,
lib/yard/server/commands/base.rb, lib/yard/server/doc_server.rb,
lib/yard/server/webrick_adapter.rb: Various server changes; add command line
options and reload parsing
* lib/yard/autoload.rb, lib/yard/cli/server.rb,
lib/yard/server/commands/base.rb,
lib/yard/server/commands/display_file_command.rb,
lib/yard/server/commands/display_object_command.rb,
lib/yard/server/commands/frames_command.rb,
lib/yard/server/commands/list_command.rb,
lib/yard/server/commands/root_command.rb,
lib/yard/server/commands/search_command.rb,
lib/yard/server/commands/static_file_command.rb,
lib/yard/server/doc_server_helper.rb,
lib/yard/server/doc_server_serializer.rb,
lib/yard/server/doc_server_url_helper.rb,
.../default/fulldoc/html/images/loading.gif,
.../templates/default/layout/html/breadcrumb.erb,
.../templates/default/layout/html/headers.erb,
.../templates/doc_server/frames/html/frames.erb,
.../doc_server/full_list/html/full_list.erb,
.../doc_server/project_list/html/project_list.erb,
lib/yard/server/webrick_adapter.rb: Refactor server into Command pattern for
each URL mapping
* .yardopts: Ignore templates from docs
* lib/yard/server/doc_server.rb, lib/yard/server/doc_server_serializer.rb,
.../default/fulldoc/html/js/autocomplete.js,
.../templates/doc_server/search/html/search.erb,
.../templates/doc_server/search/html/setup.rb: Add search support to doc
server
2010-06-17 Loren Segal <lsegal@soen.ca>
* lib/yard/templates/helpers/html_helper.rb,
lib/yard/templates/helpers/markup_helper.rb,
spec/templates/helpers/markup_helper_spec.rb,
templates/default/layout/html/setup.rb: Better support for file shebangs and
better markup support in general. Adds two new markup types "text" and "html"
which can be used in shebangs as well as a markup type (-m switch to yardoc).
Can now implement htmlify for custom markup types by implementing
YARD::Templates::Helpers::HtmlHelper#html_markup_MARKUPTYPE Where MARKUPTYPE
is the markup type name. A provider must also be added to
MarkupHelper::MARKUP_PROVIDERS, though it can be a blank list of libraries.
* lib/yard/autoload.rb, lib/yard/cli/command_parser.rb, lib/yard/cli/help.rb,
spec/cli/help_spec.rb: Add 'yard help' command for help on commands
* lib/yard/cli/gems.rb, lib/yard/cli/yardoc.rb: Refactor yardoc --build-gems
into `yard gems` command
* lib/yard/autoload.rb, lib/yard/cli/command_parser.rb, lib/yard/cli/gems.rb:
Add gems command
* lib/yard/cli/command_parser.rb, spec/cli/command_parser_spec.rb: Parse
default command if no command is passed or first argument is option, add
specs
* lib/yard/cli/yardoc.rb: Remove unnecessary code from old merge
* lib/yard/tags/library.rb: Add @group and @endgroup as reserved tags
* lib/yard/cli/yardoc.rb, templates/default/fulldoc/html/setup.rb,
templates/default/layout/html/setup.rb,
templates/default/onefile/html/files.erb,
templates/default/onefile/html/layout.erb,
templates/default/onefile/html/readme.erb,
templates/default/onefile/html/setup.rb,
templates/default/root/html/setup.rb: Add support for --one-file in Yardoc
command
* bin/yard, lib/yard/autoload.rb, lib/yard/cli/base.rb,
lib/yard/cli/command.rb, lib/yard/cli/command_parser.rb,
lib/yard/cli/graph.rb, lib/yard/cli/server.rb, lib/yard/cli/yard_graph.rb,
lib/yard/cli/yardoc.rb, lib/yard/cli/yri.rb: Refactor into new command scheme
Conflicts: lib/yard/autoload.rb lib/yard/cli/command.rb
lib/yard/cli/graph.rb lib/yard/cli/server.rb
2010-06-03 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/yard_graph.rb: Fix typo in yard graph command
2010-06-17 Loren Segal <lsegal@soen.ca>
* lib/yard/code_objects/base.rb, lib/yard/code_objects/namespace_object.rb,
lib/yard/handlers/base.rb, spec/parser/source_parser_spec.rb,
templates/default/module/setup.rb: Remove group as tag and make it standard
object property (so templates don't get confused about tags)
* lib/yard/parser/ruby/legacy/statement_list.rb: Fix @group parsing in 1.8
* templates/default/module/setup.rb: Add groups ordering to class
* lib/yard/handlers/base.rb, spec/parser/source_parser_spec.rb: Add groups
tag to namespace to maintain ordering
* .../default/module/html/attribute_summary.erb,
templates/default/module/html/method_summary.erb,
templates/default/module/setup.rb: Add template support for @groups
* lib/yard/handlers/base.rb, lib/yard/parser/ruby/ast_node.rb,
lib/yard/parser/ruby/legacy/statement.rb,
lib/yard/parser/ruby/legacy/statement_list.rb,
lib/yard/parser/ruby/ruby_parser.rb, spec/parser/source_parser_spec.rb: Add
support for @group and @endgroup Comments must be in the form # @group NAME
To end a group use "# @endgroup". A group does not need to be ended for
another to begin. If you want to start a new group, simply call a new @group.
Note that these tags are not treated as classical "tags" and cannot be
overridden.
* lib/yard/cli/yardoc.rb, lib/yard/serializers/file_system_serializer.rb,
spec/cli/yardoc_spec.rb: Clean up parsing of yardoc options and handle
.document files more effectively
* README.md: Add special installation instructions for some Ubuntu/Debian
installations. It is impossible to add rdoc as a dependency, since this will
force the RDoc gem to be installed rather than the Ruby stdlib package. It is
therefore preferable to install rdoc locally with apt-get on such an OS.
Closes gh-109
2010-06-16 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/ruby/ruby_parser.rb: Don't undef 'on_bodystmt'
* lib/yard/cli/yardoc.rb: Add Yardoc#parse_arguments method to perform all
argument parsing (from CLI,.yardopts,.document) at once
* lib/yard/registry_store.rb, lib/yard/serializers/yardoc_serializer.rb:
Improve StubProxy to implement #hash which removes need for TemporaryObject
hack
* spec/verifier_spec.rb: Add spec for Verifier
* lib/yard/verifier.rb: Force updating of Verifier
* templates/default/module/html/item_summary.erb: Show full method name with
"=" suffix in method summary listing
* lib/yard/parser/source_parser.rb: Add documentation for
SourceParser.parser_types
* docs/Parser.md, docs/images/parser-class-diagram.png: Update Parser
Architecture documentation Closes gh-137
* lib/yard/registry.rb: Update Registry documentation Closes gh-136
* lib/yard/parser/source_parser.rb, spec/parser/source_parser_spec.rb:
Support list of regex in registered file extensions for parser type (instead
of a single Regexp)
* lib/yard/parser/source_parser.rb: Document parser_type_extensions as
@private attr
2010-06-15 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Hide methods inside a
@private class if --no-private is used.
* templates/default/tags/text/example.erb: Don't wrap example code in yri.
Wrapping would just cause confusion. Closes gh-71
* lib/yard/cli/yardoc.rb, lib/yard/verifier.rb, spec/cli/yardoc_spec.rb,
spec/verifier_spec.rb: Fix --private and other visibility flags when
specified in .yardopts file. The following changes were made to make this
possible: - Generate verifier for visibilities after option parsing is
finished. - Add Verifier#add_expressions and Verifier#expressions to allow
manipulation of Verifier expressions after it is created. Modifying
expressions will recompile the verifier object. Closes gh-142
* lib/yard/cli/yard_graph.rb: Update default options documentation for
YardGraph
* lib/yard/code_objects/base.rb, lib/yard/code_objects/proxy.rb,
lib/yard/code_objects/root_object.rb, lib/yard/registry_store.rb,
spec/registry_spec.rb, spec/serializers/data/serialized_yardoc/checksums,
.../data/serialized_yardoc/objects/Foo.dat,
.../data/serialized_yardoc/objects/Foo/bar_i.dat,
.../data/serialized_yardoc/objects/Foo/baz_i.dat,
.../data/serialized_yardoc/objects/root.dat,
.../serializers/data/serialized_yardoc/proxy_types,
spec/serializers/yardoc_serializer_spec.rb: Improve equality checking on
CodeObjects and add #hash/#equal? methods Closes gh-119
* lib/yard/registry.rb, spec/registry_spec.rb: Fix "cannot resolve link"
warnings for --incremental Closes gh-70
2010-06-13 Loren Segal <lsegal@soen.ca>
* lib/yard/tags/overload_tag.rb: Only override #to_a in 1.9.x
* lib/yard/tags/overload_tag.rb: 1.9.2 compatibility fix: add #to_ary and
#to_a implementations for splatting a delegate class
* lib/yard/code_objects/proxy.rb: 1.9.2 compatibility fix: re-implement fix
for #to_ary in Proxy in a cleaner way
* spec/parser/c_parser_spec.rb: 1.9.2 compatibility fix: require
'continuation' for CParser spec, since it is not required anywhere else
* spec/handlers/ruby/legacy/base_spec.rb: 1.9.2 compatibility fix: workaround
for RSpec not removing metaprogrammed class after test
* lib/yard/code_objects/proxy.rb: 1.9.2 compatibility fix: add #to_str as
alias for #path
* lib/yard/code_objects/proxy.rb: 1.9.2 compatibility fix: handle #to_ary
calls on Proxy class for #flatten in 1.9.2
* spec/handlers/ruby/base_spec.rb: 1.9.2 compatibility fix: name resolution
behaves differently
* lib/yard/templates/helpers/html_helper.rb: Fix handling of "!!!lang" code
block prefix for RDoc markup
* lib/yard/parser/c_parser.rb: Fix parsing of call-seq in .c files Closes
gh-135
2010-06-12 Loren Segal <lsegal@soen.ca>
* ChangeLog, README.md, docs/WhatsNew.md, lib/yard.rb, yard.gemspec: Release
0.5.6
* lib/rubygems_plugin.rb: Don't generate yri index if has_rdoc == false
* lib/yard/handlers/ruby/class_condition_handler.rb,
spec/handlers/class_condition_handler_spec.rb: Fix failing class condition
handling case in 1.9
* lib/rubygems_plugin.rb, lib/yard/cli/yardoc.rb,
lib/yard/code_objects/base.rb, lib/yard/code_objects/class_object.rb,
lib/yard/code_objects/constant_object.rb,
lib/yard/code_objects/method_object.rb,
lib/yard/code_objects/namespace_object.rb, lib/yard/code_objects/proxy.rb,
lib/yard/docstring.rb, lib/yard/handlers/base.rb,
lib/yard/parser/ruby/ast_node.rb, lib/yard/parser/ruby/ruby_parser.rb,
lib/yard/serializers/file_system_serializer.rb,
lib/yard/tags/default_factory.rb, lib/yard/tags/library.rb,
lib/yard/templates/template.rb, templates/default/tags/html/option.erb: Fix a
boatload of Ruby warnings
* lib/rubygems_plugin.rb: Fix warnings in RubyGems plugin Closes gh-108
* spec/cli/yardoc_spec.rb: Fix Yardoc CLI specs for new read_binary encoding
fixes
* lib/yard/autoload.rb, lib/yard/parser/base.rb, lib/yard/parser/c_parser.rb,
lib/yard/parser/ruby/legacy/ruby_parser.rb,
lib/yard/parser/ruby/legacy/statement_list.rb,
lib/yard/parser/ruby/ruby_parser.rb, lib/yard/parser/source_parser.rb,
spec/parser/base_spec.rb, spec/parser/source_parser_spec.rb: Refactor
SourceParser and create API to extend YARD with custom source parsers using
YARD::Parser::SourceParser.register_parser_type Closes gh-101
2010-06-11 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/source_parser.rb: Add .cc as C source filename extension
* .../ruby/legacy/class_condition_handler.rb,
spec/handlers/class_condition_handler_spec.rb: Fixes handling of class
conditionals in the form "defined?(A) && defined?(B)"
2010-06-05 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/yardoc.rb, lib/yard/templates/erb_cache.rb,
lib/yard/templates/helpers/html_helper.rb,
templates/default/layout/html/setup.rb: Various encoding related template
fixes. Closes gh-131
2010-06-04 Loren Segal <lsegal@soen.ca>
* lib/yard/server/doc_server.rb: Add redirect method
* lib/yard/server/doc_server.rb: Only load yardopts once per project change
* lib/yard/server/doc_server.rb: Add search command stub
* lib/yard/server/doc_server.rb,
.../doc_server/project_list/html/project_list.erb,
.../doc_server/project_list/html/setup.rb: Add project listing
* lib/yard/server/doc_server.rb: Add render method, factor out caching
2010-06-02 Loren Segal <lsegal@soen.ca>
* lib/yard/server/doc_server.rb, lib/yard/server/doc_server_url_helper.rb,
.../templates/default/fulldoc/html/css/custom.css,
.../templates/default/fulldoc/html/js/live.js,
.../templates/default/layout/html/breadcrumb.erb,
.../templates/default/layout/html/headers.erb: Add support for modified
templates
2010-05-26 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/yri.rb: Don't use less on Windows (non-cygwin)
* lib/yard/cli/yri.rb: yri should fail gracefully when no arguments are
supplied
* Rakefile: Better rake support for windows
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/source_parser_spec.rb: Fix
handling of docstrings in 1.9 parser when there are comments before and on
the same line of a code object
* README.md, docs/GettingStarted.md, docs/Tags.md: Move tag list from
GettingStarted to Tags and document syntax
* README.md: Update README formatting
2010-05-25 Loren Segal <lsegal@soen.ca>
* lib/yard/autoload.rb, lib/yard/handlers/ruby/class_handler.rb,
lib/yard/handlers/ruby/legacy/class_handler.rb,
lib/yard/handlers/ruby/struct_handler_methods.rb: Various documentation and
style refactorings
2010-05-22 Loren Segal <lsegal@soen.ca>
* README.md: Fix release date/version in readme
* README.md: Fix contributors formatting in readme for github
* ChangeLog, README.md, lib/yard.rb, yard.gemspec: Bump version to 0.5.5
2010-05-21 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/source_parser.rb, spec/parser/source_parser_spec.rb: Clean
path names when parsing source files Closes gh-129
2010-05-10 Michael Edgar <michael.j.edgar@dartmouth.edu>
* lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/method_handler.rb,
spec/handlers/examples/method_handler_001.rb.txt,
spec/handlers/method_handler_spec.rb: Auto-generate parameters referred to by
@option tags. Closes gh-16
* lib/yard/docstring.rb, spec/docstring_spec.rb: Resolve reftags the same way
as normal references Closes gh-14
2010-05-21 Loren Segal <lsegal@soen.ca>
* lib/yard/code_objects/base.rb, lib/yard/code_objects/proxy.rb: Remove #hash
implementation due to weird Registry reloading side effects
* lib/yard/tags/default_factory.rb, spec/tags/default_factory_spec.rb: Type
list in tag text should only be listed at the beginning or after first token.
Closes gh-120
* templates/default/module/html/box_info.erb,
templates/default/module/text/extends.erb: Rename "Extends" to "Extended by"
for class mixins in templates. Closes gh-110
* lib/yard/templates/helpers/html_helper.rb: Revert automatic typewriter
textifying of links
* lib/yard/templates/helpers/base_helper.rb,
lib/yard/templates/helpers/html_helper.rb,
spec/templates/examples/class001.html,
spec/templates/helpers/base_helper_spec.rb,
spec/templates/helpers/html_helper_spec.rb,
templates/default/tags/html/see.erb: Refactor #resolve_links into #linkify to
handle 'file:' and URL links more consistently across templates. Closes
gh-121
* lib/yard/code_objects/module_object.rb,
spec/code_objects/module_object_spec.rb: Fix mixins listing twice for
#inheritance_tree on module objects
2010-05-21 wycats <wycats@gmail.com>
* lib/yard/code_objects/base.rb, lib/yard/code_objects/class_object.rb,
lib/yard/code_objects/proxy.rb, spec/code_objects/class_object_spec.rb: Fixes
an issue where mixins could appear twice in the class hierarchy
2010-05-18 Michael Edgar <michael.j.edgar@dartmouth.edu>
* lib/yard/handlers/ruby/struct_handler_methods.rb: Made struct handler
directly add tags. Technical faux pas.
2010-05-15 postmodern <postmodern.mod3@gmail.com>
* lib/yard.rb: Only glob .rb files from yard/core_ext and do not strip the
.rb file extension. * By globbing all files within yard/core_ext, this was
triggering a bug on Rubinius 1.0. Rubinius likes to store compiled Ruby files
(.rbc) along with the Ruby source files (.rb).
http://github.com/evanphx/rubinius/issues/#issue/305
2010-05-15 Loren Segal <lsegal@soen.ca>
* .../ruby/legacy/class_condition_handler.rb,
spec/handlers/class_condition_handler_spec.rb: Implement
ClassConditionHandler for legacy parser. Closes gh-114
* lib/yard/parser/ruby/legacy/statement_list.rb,
spec/parser/ruby/legacy/statement_list_spec.rb: Fill .block for 'else' and
'elsif' statements in legacy parser.
2010-05-09 Michael Edgar <michael.j.edgar@dartmouth.edu>
* lib/yard/handlers/ruby/legacy/class_handler.rb,
spec/handlers/class_handler_spec.rb,
spec/handlers/examples/class_handler_001.rb.txt: Added more specs for
attr_reader and attr_writer combinations.
* lib/yard/handlers/ruby/struct_handler_methods.rb,
spec/handlers/class_handler_spec.rb,
spec/handlers/examples/class_handler_001.rb.txt: Added some specs for the use
of attr_reader and attr_writer. Made them pass.
* lib/yard/handlers/ruby/struct_handler_methods.rb, lib/yard/tags/library.rb:
Added basic logic for the separation of reader/writer attributes. Specs pass,
but no new specs have been added.
* lib/yard/handlers/ruby/class_handler.rb,
lib/yard/handlers/ruby/legacy/class_handler.rb: Added support on the handler
side for defining constants for non-anonymous structs
* spec/handlers/class_handler_spec.rb: Added a spec to ensure that when a
non-anonymous struct is used, the appropriate constant is defined in
Struct::.
* lib/yard/handlers/ruby/class_handler.rb,
lib/yard/handlers/ruby/legacy/class_handler.rb: Added Ruby 1.8.x
compatibility, and fixed an error caused by OStruct.new (without parens).
* lib/yard/handlers/ruby/struct_handler_methods.rb, lib/yard/tags/library.rb,
spec/handlers/class_handler_spec.rb,
spec/handlers/examples/class_handler_001.rb.txt: Specifications added for the
@attr tag.
* lib/yard/handlers/ruby/class_handler.rb: Added basic support for
subclass-syntax with Structs. The newly-added specs pass.
* lib/yard/autoload.rb, lib/yard/handlers/ruby/struct_handler_methods.rb:
Added my struct_handler_methods.rb file from yard-struct, which will provide
shortcuts for adding attributes. This is a module (and not dropped into the
ClassHandler) because I want to reuse this code for the Constant-assignment
syntax as well.
* spec/handlers/class_handler_spec.rb,
spec/handlers/examples/class_handler_001.rb.txt: Added specs for the
superclass syntax for Struct usage.
2010-05-04 Denis Defreyne <denis.defreyne@stoneship.org>
* templates/default/docstring/html/private.erb,
templates/default/docstring/setup.rb,
templates/default/docstring/text/private.erb,
templates/default/fulldoc/html/css/style.css,
templates/default/module/html/header.erb,
templates/default/module/html/item_summary.erb: Show notification for "@api
private" usage in HTML/text templates. Closes gh-123
2010-04-21 Loren Segal <lsegal@soen.ca>
* LEGAL: Update LEGAL
* .yardopts, LEGAL, LICENSE, README.md, yard.gemspec: Add Ruby/RDoc license
information to YARD and update copyright years. Closes gh-122
2010-04-20 Nathan Weizenbaum <nex342@gmail.com>
* lib/yard/cli/yard_graph.rb, lib/yard/cli/yardoc.rb,
lib/yard/templates/helpers/module_helper.rb, spec/templates/module_spec.rb:
Replace the :visibilities option with compilation to a query. This allows
the visibility flags to be used with --list.
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Parse yardopts and manual
args at the same time. This means that e.g. --query arguments are merged,
rather than clobbered.
2010-04-19 Nathan Weizenbaum <nex342@gmail.com>
* lib/yard/cli/yardoc.rb: Add a --list option for listing all objects
matching the query.
2010-04-20 Nathan Weizenbaum <nex342@gmail.com>
* lib/yard/templates/helpers/method_helper.rb: Don't assume that method
parameter names will be strings. In the case of some overloads with default
values, at least, they'll be symbols.
2010-04-19 Nathan Weizenbaum <nex342@gmail.com>
* lib/yard/handlers/ruby/constant_handler.rb,
lib/yard/handlers/ruby/legacy/constant_handler.rb: Register MethodObjects
defined for structs. Otherwise, they don't get their file/line number set.
2010-04-01 Loren Segal <lsegal@soen.ca>
* spec/templates/examples/class001.html,
spec/templates/examples/method001.html,
spec/templates/examples/module001.html,
templates/default/docstring/html/abstract.erb,
templates/default/docstring/html/deprecated.erb,
templates/default/docstring/html/note.erb,
templates/default/docstring/html/todo.erb,
templates/default/fulldoc/html/css/style.css: Fix templates to not wrap
htmlify_line inside a <p> tag, since it itself is a <div>
2010-03-27 Loren Segal <lsegal@soen.ca>
* spec/templates/examples/class001.html,
spec/templates/examples/module001.html: Fix specs for summary toggle button
* templates/default/fulldoc/html/css/style.css,
templates/default/fulldoc/html/js/app.js,
.../default/module/html/attribute_summary.erb,
templates/default/module/html/method_summary.erb: Add method/attribute
summary collapse/expand
2010-03-24 Loren Segal <lsegal@soen.ca>
* templates/default/fulldoc/html/js/app.js: Don't enable keyboard shortcuts
in frames mode.
* templates/default/fulldoc/html/css/style.css: Move shadow over so it does
not force horizontal scrollbars to appear.
* templates/default/fulldoc/html/js/app.js: Ignore shortcut keypresses inside
form input fields
* templates/default/fulldoc/html/setup.rb: Make sure there are no nil
children
2010-03-22 Loren Segal <lsegal@soen.ca>
* ChangeLog, README.md, docs/WhatsNew.md, lib/yard.rb, yard.gemspec: Bump
version 0.5.4
* templates/default/fulldoc/html/setup.rb: Fix hiding of @private classes in
unresolved namespaces to use @items instead of objects directly
* spec/templates/module_spec.rb: Fix failing spec in 1.8.6
* spec/templates/module_spec.rb, templates/default/module/setup.rb: Fix
testability of mixin list
* spec/templates/examples/module001.html, spec/templates/module_spec.rb,
templates/default/module/html/box_info.erb,
templates/default/module/setup.rb: Simplify listing of class/modules used by
a module
2010-03-21 Benjamin Bock <bb--github.com@bock.be>
* templates/default/module/html/box_info.erb,
templates/default/module/setup.rb: add sections "Included in" and "Extending"
for Modules
2010-03-21 Loren Segal <lsegal@soen.ca>
* templates/default/layout/html/setup.rb: Add .mkd file extension for
Markdown
* lib/yard/core_ext/file.rb, spec/core_ext/file_spec.rb: Fix handling of
relative paths that go outside the "initial" directory
* lib/yard.rb: YARD::ROOT should be absolute in 1.8
* templates/default/fulldoc/html/css/style.css: Inline only the first
paragraph of inlined docstrings.
* lib/yard/code_objects/module_object.rb: Avoid listing self as mixin in
inheritance tree
* templates/default/fulldoc/html/js/app.js,
templates/default/fulldoc/html/js/full_list.js: Make keyboard shortcuts more
reliable
* templates/default/fulldoc/html/setup.rb: Ignore @private classes defined in
unresolved namespaces in class list. Closes gh-103
* templates/default/fulldoc/html/css/style.css: Fix breadcrumb link text size
* spec/templates/examples/class001.html,
spec/templates/examples/method001.html,
spec/templates/examples/method002.html,
spec/templates/examples/method003.html,
spec/templates/examples/method004.html,
spec/templates/examples/method005.html,
spec/templates/examples/module001.html: Fix spec expectations for
htmlify_line changes
* lib/yard/templates/helpers/html_helper.rb,
templates/default/fulldoc/html/css/style.css: Change how #htmlify_inline does
inlining
* lib/yard/code_objects/class_object.rb: Ensure default "Object" superclass
is "::Object" (same for BasicObject, Exception) Closes gh-72
* lib/yard/docstring.rb, spec/docstring_spec.rb: Remove only original
indentation from indented @tag text
* lib/yard/code_objects/class_object.rb,
lib/yard/code_objects/module_object.rb,
spec/code_objects/class_object_spec.rb,
spec/code_objects/module_object_spec.rb,
.../default/module/html/inherited_methods.erb: Show extended modules in
inherited methods list as class methods Closes gh-88
2010-03-20 Loren Segal <lsegal@soen.ca>
* templates/default/fulldoc/html/js/app.js: Don't activate shortcuts if a
modifier key is down
* lib/yard/docstring.rb, lib/yard/tags/default_factory.rb,
lib/yard/tags/library.rb, lib/yard/tags/overload_tag.rb,
spec/docstring_spec.rb, spec/tags/overload_tag_spec.rb: Remove distinction
between regular and "raw" tag text in the tags API. All tag text is now
delivered as a raw buffer with newlines intact. The API for creating factory
methods is now just `def parse_tag_NAME(tag_name, text)`. This change might
break existing plugins/extensions that add custom tags.
* spec/templates/class_spec.rb, spec/templates/examples/class002.html,
templates/default/class/setup.rb,
.../default/module/html/inherited_methods.erb,
templates/default/module/html/method_summary.erb: Respect @private for
constructors Closes gh-81
* lib/yard/parser/ruby/legacy/ruby_lex.rb: Graceful failure when multibyte
chars are tokenized Closes gh-94
* lib/yard/templates/helpers/method_helper.rb,
spec/templates/helpers/method_helper_spec.rb: Hide &block from argument list
for methods that yield. If a @param tag is specified for the block argument,
the argument will show. Closes gh-77
* spec/templates/examples/module001.html, spec/templates/module_spec.rb,
templates/default/fulldoc/html/css/style.css,
templates/default/module/html/constant_summary.erb,
templates/default/module/setup.rb: Show full docstrings for constants.
Closes gh-89 Closes gh-90
* lib/yard/docstring.rb, spec/docstring_spec.rb: Finish parsing @tag when
next line is de-dented. Closes gh-78
* spec/docstring_spec.rb: Refactor docstring specs
2010-03-16 Loren Segal <lsegal@soen.ca>
* lib/yard/templates/helpers/html_helper.rb: Escape HTML inside <tt>/++
typewriter blocks
* lib/yard/parser/ruby/legacy/statement_list.rb,
spec/parser/source_parser_spec.rb: Fix parsing of =begin/=end comments with
multiple consecutive newlines in 1.8
2010-03-14 Loren Segal <lsegal@soen.ca>
* lib/yard.rb: Don't treat 1.9.0 as a true "1.9" Closes gh-97
* templates/default/class/setup.rb: Show child namespaces in class
documentation. Closes gh-98
* templates/default/fulldoc/html/js/app.js,
templates/default/fulldoc/html/js/full_list.js: Add "C", "M" and "F" keyboard
shorcuts to bring up class/method/file menus in non-frame mode. Also can
press escape to close menu. Closes gh-69
* lib/yard/cli/yardoc.rb, lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb,
templates/default/fulldoc/html/frames.erb,
templates/default/fulldoc/html/full_list.erb,
templates/default/layout/html/headers.erb: Add --charset commandline option
for yardoc to generate HTML docs for a specific charset Closes gh-96
* lib/yard/code_objects/base.rb: Fix documentation for
CodeObjects::Base#method_missing
* lib/yard/templates/helpers/html_helper.rb: Fix method summary listing for
methods ending in =
* templates/default/module/html/method_summary.erb: Show method summary
heading when methods are inherited but none are defined in the class
* lib/yard/autoload.rb, lib/yard/handlers/ruby/legacy/process_handler.rb,
lib/yard/handlers/ruby/process_handler.rb,
spec/handlers/examples/process_handler_001.rb.txt,
spec/handlers/process_handler_spec.rb: Add handler for YARD process blocks
* lib/yard/autoload.rb, .../ruby/legacy/class_condition_handler.rb,
spec/handlers/class_condition_handler_spec.rb: Add class condition handler
for Ruby 1.8
* lib/yard/handlers/base.rb, lib/yard/handlers/ruby/alias_handler.rb,
lib/yard/handlers/ruby/attribute_handler.rb,
lib/yard/handlers/ruby/class_condition_handler.rb,
lib/yard/handlers/ruby/class_handler.rb,
lib/yard/handlers/ruby/class_variable_handler.rb,
lib/yard/handlers/ruby/constant_handler.rb,
lib/yard/handlers/ruby/exception_handler.rb,
lib/yard/handlers/ruby/legacy/alias_handler.rb,
lib/yard/handlers/ruby/legacy/attribute_handler.rb,
lib/yard/handlers/ruby/legacy/class_handler.rb,
.../handlers/ruby/legacy/class_variable_handler.rb,
lib/yard/handlers/ruby/legacy/constant_handler.rb,
lib/yard/handlers/ruby/legacy/exception_handler.rb,
lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/legacy/mixin_handler.rb,
lib/yard/handlers/ruby/legacy/module_handler.rb,
.../handlers/ruby/legacy/visibility_handler.rb,
lib/yard/handlers/ruby/legacy/yield_handler.rb,
lib/yard/handlers/ruby/method_condition_handler.rb,
lib/yard/handlers/ruby/method_handler.rb,
lib/yard/handlers/ruby/mixin_handler.rb,
lib/yard/handlers/ruby/module_handler.rb,
lib/yard/handlers/ruby/visibility_handler.rb,
lib/yard/handlers/ruby/yield_handler.rb: Add `process` directive to handlers
which defines the `process` method on the class inside an anonymous module to
make it easier to extend an existing handler with mixins.
* lib/yard/parser/ruby/legacy/statement.rb: Add line_range method
2010-01-29 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/base.rb, lib/yard/cli/yard_graph.rb, lib/yard/cli/yardoc.rb,
lib/yard/cli/yri.rb: Gracefully handle invalid CLI options passed to
yardoc/yri/yard-graph Closes gh-74
* lib/yard/parser/ruby/legacy/statement_list.rb,
lib/yard/parser/ruby/ruby_parser.rb, spec/parser/source_parser_spec.rb: Add
support for =begin/=end comment strings
2010-01-25 Nathan Weizenbaum <nex342@gmail.com>
* lib/yard/templates/template.rb: When dealing with many overloaded
templates, include them in reverse order. This is necessary due to the way
Ruby's module inclusion works with inheritance. Including a module puts it
at the base of the inheritance chain. For example, if a class hierarchy
looks like A->B->C, and C includes D, then it looks like A->B->D->C. This
means that the base template, which is last in the full_paths list, should
actually be included first, so that it ends up farthest back in the
inheritance chain.
2010-01-18 Nathan Weizenbaum <nex342@gmail.com>
* lib/yard/autoload.rb, lib/yard/templates/erb_cache.rb,
lib/yard/templates/template.rb, spec/templates/template_spec.rb: Cache the
compiled ERB methods to speed up rendering time.
2010-01-22 Nathan Weizenbaum <nex342@gmail.com>
* lib/yard/templates/helpers/html_helper.rb: Allow a broader variety of names
for syntax highlighting. This is necessary to support some names for
Pygments.
2010-01-18 Nathan Weizenbaum <nex342@gmail.com>
* lib/yard/templates/helpers/html_helper.rb: HTML-escape text that isn't
syntax highlighted due to --no-highlight.
2010-01-24 Nathan Weizenbaum <nex342@gmail.com>
* lib/yard/templates/template.rb: When dealing with many overloaded
templates, include them in reverse order. This is necessary due to the way
Ruby's module inclusion works with inheritance. Including a module puts it
at the base of the inheritance chain. For example, if a class hierarchy
looks like A->B->C, and C includes D, then it looks like A->B->D->C. This
means that the base template, which is last in the full_paths list, should
actually be included first, so that it ends up farthest back in the
inheritance chain.
2010-01-21 Nathan Weizenbaum <nex342@gmail.com>
* lib/yard/templates/helpers/html_helper.rb: Allow a broader variety of names
for syntax highlighting. This is necessary to support some names for
Pygments.
2010-01-17 Nathan Weizenbaum <nex342@gmail.com>
* lib/yard/templates/helpers/html_helper.rb: HTML-escape text that isn't
syntax highlighted due to --no-highlight.
* lib/yard/autoload.rb, lib/yard/templates/erb_cache.rb,
lib/yard/templates/template.rb, spec/templates/template_spec.rb: Cache the
compiled ERB methods to speed up rendering time.
2010-01-11 Loren Segal <lsegal@soen.ca>
* README.md: Fix links in README
* templates/default/layout/html/setup.rb: Fix encoding issues when reading
extra files
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Fix typewrite issues
* README.md: Add info to changelog
* docs/WhatsNew.md: Update what's new
* README.md, lib/yard.rb, yard.gemspec: Bump version to 0.5.3
2010-01-07 Loren Segal <lsegal@soen.ca>
* lib/yard/templates/helpers/html_helper.rb: Fix typewriter text after RDoc
markup is generated
* .gitignore, Rakefile: Remove gem package Rake tasks and use simplified gem
build functionality
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Fix +text+ RDoc markup showing
\004 characters inside code blocks
2010-01-05 Loren Segal <lsegal@soen.ca>
* templates/default/layout/html/setup.rb: Use default markup provider for
extra files. Also add ability to override markup provider for files with no
extension. Add #!MARKUP shebang to first line of file. Closes gh-64
* templates/default/layout/html/setup.rb: Use raw HTML for .html extra files
* lib/yard/core_ext/string.rb: Fix camelcase bug Closes gh-65
2009-12-31 Loren Segal <lsegal@soen.ca>
* lib/rubygems_plugin.rb: Fix yard gem plugin in 1.8.x with multiple versions
of yard installed Closes gh-62
* lib/rubygems_plugin.rb: Fix has_yardoc accessor
* lib/rubygems_plugin.rb: Don't build yard index if yardoc will run
2009-12-29 Loren Segal <lsegal@soen.ca>
* lib/yard/core_ext/hash.rb, spec/core_ext/hash_spec.rb: Fix another Hash.[]
related issue to make sure array can be passed in as a key
* lib/yard/core_ext/hash.rb: Fix improper Hash.[] implementation Closes
gh-61
2009-12-28 Loren Segal <lsegal@soen.ca>
* lib/yard/templates/template.rb: Remove unused private method call
* lib/yard/templates/template.rb, spec/templates/engine_spec.rb,
spec/templates/template_spec.rb: Fix inclusion of overridden template paths
above format directory. Closes gh-60
* templates/default/fulldoc/html/setup.rb: Remove unecessary line
2009-12-25 Loren Segal <lsegal@soen.ca>
* templates/default/fulldoc/html/css/full_list.css: Fix css for arrows
* lib/yard/parser/c_parser.rb: Fix showing entire source file as comment for
class/module
* lib/yard/parser/c_parser.rb: Better linking of variable names to
class/modules
* templates/default/layout/html/breadcrumb.erb: Show proxies namespaces in
small in breadcrumb
* templates/default/fulldoc/html/setup.rb: Show objects from proxies
namespaces
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Add --incremental to
generate only new objects parsed in changed files. Using yardoc -c alone will
now use the cached yardoc but will generate all objects
* yard.gemspec: Fix reloading of yard in Rakefile (1.8)
2009-12-24 Loren Segal <lsegal@soen.ca>
* lib/rubygems_plugin.rb: Improve Rubygems plugin behaviour and generate
.yardoc db for yri
* lib/yard/parser/ruby/legacy/statement_list.rb,
lib/yard/parser/ruby/ruby_parser.rb, spec/parser/source_parser_spec.rb: Unify
comment parsing behaviour between 1.8/1.9
* templates/default/fulldoc/html/js/full_list.js: Make any click to the left
of an arrow expand the tree rather than select the item
* templates/default/fulldoc/html/css/full_list.css,
templates/default/fulldoc/html/css/style.css,
templates/default/fulldoc/html/full_list.erb,
templates/default/fulldoc/html/full_list_class.erb,
templates/default/fulldoc/html/full_list_files.erb,
.../default/fulldoc/html/full_list_methods.erb,
templates/default/fulldoc/html/js/full_list.js,
templates/default/fulldoc/html/setup.rb: Add tree view implementation for
class list
* spec/code_objects/base_spec.rb, spec/templates/helpers/html_helper_spec.rb:
Fix specs (disable a broken one temporarily)
* templates/default/class/setup.rb: Don't show subclasses for Object
* lib/yard/templates/helpers/html_helper.rb: Use relative path for link
title. Also add more appropriate title tag
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Update #resolve_links to work
with ({Name}) syntax. Add specs
* lib/yard/code_objects/class_object.rb: Fix behaviour of
ClassObject#superclass=
* lib/yard/code_objects/base.rb, spec/code_objects/base_spec.rb: Add
Base#relative_path to return relative namespace path of two objects
* lib/yard/code_objects/base.rb, spec/code_objects/base_spec.rb: Add check
for creating objects with empty name
* lib/yard/parser/source_parser.rb: Force encoding to source file's encoding
(using # coding shebang line) to properly parse source
* benchmarks/parsing.rb, lib/yard/cli/yardoc.rb,
lib/yard/parser/source_parser.rb, spec/parser/source_parser_spec.rb,
spec/spec_helper.rb: Add --exclude REGEXP to yardoc to ignore paths with a
regexp match. yardoc --exclude '_spec\.rb$' will ignore any file ending in
_spec.rb
2009-12-23 Loren Segal <lsegal@soen.ca>
* spec/templates/examples/module001.html, spec/templates/module_spec.rb,
templates/default/module/html/constant_summary.erb: Fix anchor for constants
* spec/templates/examples/class001.html,
spec/templates/examples/class001.txt,
templates/default/class/html/subclasses.erb,
templates/default/class/setup.rb,
templates/default/class/text/subclasses.erb: Fix subclasses not showing in
documentation
2009-12-22 Loren Segal <lsegal@soen.ca>
* templates/default/fulldoc/html/full_list.erb: Move links below header
* templates/default/fulldoc/html/js/app.js: Make summary links work within
frames
* templates/default/fulldoc/html/full_list.erb,
templates/default/layout/html/layout.erb: Add frames class name immediately
(improves UI responsiveness)
* templates/default/fulldoc/html/css/full_list.css,
templates/default/fulldoc/html/css/style.css,
templates/default/fulldoc/html/frames.erb,
templates/default/fulldoc/html/full_list.erb,
templates/default/fulldoc/html/js/app.js,
templates/default/fulldoc/html/js/full_list.js,
templates/default/fulldoc/html/setup.rb,
templates/default/layout/html/breadcrumb.erb,
templates/default/layout/html/search.erb: Add classical frameset view to docs
as frames.html
2009-12-20 Loren Segal <lsegal@soen.ca>
* lib/yard/handlers/ruby/legacy/method_handler.rb: Fix bug in 1.8 handler
* lib/yard/core_ext/file.rb, lib/yard/parser/source_parser.rb,
spec/code_objects/base_spec.rb, spec/parser/source_parser_spec.rb: Add
File.read_binary to fix specs
* lib/yard/handlers/ruby/attribute_handler.rb,
lib/yard/handlers/ruby/legacy/attribute_handler.rb,
lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/method_handler.rb,
lib/yard/templates/helpers/html_helper.rb,
spec/handlers/attribute_handler_spec.rb,
.../handlers/examples/attribute_handler_001.rb.txt,
spec/handlers/examples/method_handler_001.rb.txt,
spec/handlers/method_handler_spec.rb, spec/templates/examples/module001.html,
templates/default/module/html/item_summary.erb: When a reader/writer method
is defined alongside an attribute, mark it as part of attribute
* lib/yard/cli/base.rb, lib/yard/cli/yard_graph.rb, lib/yard/cli/yardoc.rb,
lib/yard/cli/yri.rb, lib/yard/logging.rb: Show backtraces by default outside
of CLI classes
* lib/yard/code_objects/method_object.rb,
lib/yard/templates/helpers/html_helper.rb,
spec/code_objects/method_object_spec.rb,
spec/templates/examples/module001.dot,
spec/templates/examples/module001.html, spec/templates/module_spec.rb,
templates/default/module/dot/info.erb,
.../default/module/html/attribute_details.erb,
templates/default/module/html/item_summary.erb: Add MethodObject#attr_info
and do not show '=' in attribute's method summary signature
2009-12-17 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/source_parser.rb: Read source in binary mode to be encoding
safe
2009-12-16 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/yardoc.rb: Fix behaviour for --build-gems Closes gh-56
* lib/yard/cli/yardoc.rb: Don't build a gem if there is no yardoc path for
gem
* ChangeLog, lib/yard.rb, yard.gemspec: Bump version to 0.5.2
* lib/yard/cli/yri.rb, lib/yard/core_ext/file.rb, lib/yard/registry_store.rb,
lib/yard/serializers/file_system_serializer.rb, spec/core_ext/file_spec.rb:
Ensure '~/.yard' path is created before writing certain config files. - Adds
File.open! to ensure path exists before writing file Closes gh-57
* lib/yard/registry_store.rb: Return true/false in RegistryStore#load!
2009-12-15 Loren Segal <lsegal@soen.ca>
* docs/WhatsNew.md: Forgot to add version number for changes
* ChangeLog, README.md, lib/yard.rb, yard.gemspec: Bump version to 0.5.1
* docs/WhatsNew.md: Update What's New document
* lib/yard/cli/yri.rb, spec/cli/yri_spec.rb: Always put local directory's
.yardoc ahead of cache
* lib/yard/cli/yri.rb, spec/cli/yri_spec.rb: Allow user to specify
~/.yard/yri_search_paths file listing extra yardoc dbs to search. File
format should just be newline separated .yardoc files/directories:
/path/to/.yardoc /path/to/other.yardoc ...
* lib/yard/cli/yardoc.rb: Improve behaviour of re-generating changed objects
during incremental parsing
* lib/yard/registry.rb, lib/yard/registry_store.rb,
spec/registry_store_spec.rb: Change behaviour of RegistryStore loading cache.
Does not load cache on #keys/#values by default. Instead use #load! or
#load_all to load all contents explicitly
* lib/yard/parser/source_parser.rb, spec/parser/source_parser_spec.rb: Change
behaviour of SourceParser logging
* lib/yard/registry_store.rb: Add cache for failed lookups
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Fix RubyParser in 1.9.1p376 (ripper lib was changed)
* lib/yard/registry.rb, spec/registry_spec.rb: Add specs for
Registry.yardoc_file_for_gem
* lib/yard.rb, lib/yard/cli/yri.rb, lib/yard/registry.rb, spec/yard_spec.rb:
Add support for packages named yard-doc-* to be loaded by yri
* Rakefile: Should use RUBY_PLATFORM
2009-12-14 Loren Segal <lsegal@soen.ca>
* ChangeLog, README.md, docs/WhatsNew.md, lib/yard.rb, yard.gemspec: Bump
version to 0.5.0
* lib/yard/parser/c_parser.rb: Add auto-type support for Class in native code
2009-12-13 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/yardoc.rb, lib/yard/logging.rb, lib/yard/registry.rb: When
yardoc --use-cache is specified, generate only the objects parsed from
changed files
* lib/yard/cli/yardoc.rb, lib/yard/registry.rb: Update behaviour for
--build-gems, Registry.yardoc_file_for_gem, add --re-build-gems to force
building of all gems
* lib/yard/registry_store.rb: Document RegistryStore
* lib/yard/cli/base.rb: Document CLI::Base
* lib/rubygems_plugin.rb, lib/yard/core_ext/file.rb,
lib/yard/handlers/base.rb, lib/yard/parser/ruby/legacy/ruby_lex.rb,
lib/yard/parser/source_parser.rb: Fix various warnings in ruby -w Closes
gh-55
* lib/yard/core_ext/hash.rb, spec/core_ext/hash_spec.rb: Backport Hash[arr]
1.8.7+ behaviour to 1.8.6
* lib/yard/registry_store.rb, spec/registry_store_spec.rb: Add more specs to
RegistryStore
* lib/yard/parser/source_parser.rb, lib/yard/registry.rb,
spec/parser/source_parser_spec.rb: Move checksum code into
Registry#checksum_for
* lib/yard/cli/yri.rb, spec/cli/yri_spec.rb: Don't cache Registry.yardoc_file
in yri lookups
* lib/yard/parser/source_parser.rb, spec/parser/source_parser_spec.rb: Add
checking of checksum cache when parsing files
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Streamline merge/cache
options into -c (--use-cache) to reload existing yardoc db and merge the
results. Adding -c will also do incremental parsing on files using against a
SHA1 checksum of the file contents to speed up parse time. TODO: incremental
generation of HTML files.
* lib/yard/registry.rb, lib/yard/registry_store.rb,
lib/yard/serializers/yardoc_serializer.rb, spec/registry_store_spec.rb: Add
loading/saving of RegistryStore#checksums
* lib/yard/parser/c_parser.rb: Add extra types recognition for Array
* lib/yard/parser/c_parser.rb: Improve types recognition for C call-seqs
* spec/templates/examples/method003.html,
spec/templates/examples/method005.html,
spec/templates/examples/module001.html,
templates/default/method_details/setup.rb: Fix source not showing for
overloaded methods
* lib/yard/templates/helpers/html_helper.rb: Fix linking of default return
type in signature
* lib/yard/templates/helpers/html_helper.rb: Properly linkify default return
type
* lib/yard/tags/overload_tag.rb, spec/tags/overload_tag_spec.rb: Fix
OverloadTag when parsing signature starting with 'def'
* lib/yard/parser/c_parser.rb: Improve parsing of native call-seq
2009-12-12 Loren Segal <lsegal@soen.ca>
* spec/templates/examples/method001.html,
spec/templates/examples/method002.html,
spec/templates/examples/method003.html,
spec/templates/examples/method004.html,
spec/templates/examples/method005.html,
templates/default/method/html/header.erb: Fix view source link not showing
for individual method page
* lib/yard/code_objects/class_object.rb, lib/yard/parser/c_parser.rb,
spec/code_objects/class_object_spec.rb,
templates/default/module/html/box_info.erb: Add support for BasicObject class
as parent of Object
* lib/yard/templates/helpers/html_helper.rb,
templates/default/fulldoc/html/setup.rb,
templates/default/layout/html/index.erb,
templates/default/layout/html/setup.rb: Fix displaying of README filenames in
the form README.lang.ext
* lib/yard/serializers/yardoc_serializer.rb: Remove unique object
serialization tricks in YardocSerializer (marshal handles this)
* lib/yard/registry_store.rb, spec/registry_store_spec.rb: Add specs for
RegistryStore#load returning true/false
* lib/yard/registry_store.rb: Registry.load_yardoc should return true if
.yardoc loads
* lib/yard/registry_store.rb, spec/registry_store_spec.rb: Always load root
object first when loading .yardoc
* lib/yard/registry_store.rb: Treat :root and empty string as equivalent in
RegistryStore#get
* lib/yard/handlers/processor.rb, lib/yard/logging.rb,
templates/default/fulldoc/html/setup.rb: Add Logger#backtrace to show
backtraces only if Logger#show_backtraces is set. Enables --backtrace in CLI
classes.
* lib/yard/code_objects/base.rb, lib/yard/code_objects/proxy.rb,
lib/yard/code_objects/root_object.rb, lib/yard/handlers/base.rb,
lib/yard/parser/c_parser.rb, lib/yard/templates/helpers/html_helper.rb,
templates/default/fulldoc/html/full_list.erb,
templates/default/layout/dot/setup.rb,
templates/default/layout/html/breadcrumb.erb,
templates/default/layout/html/index.erb,
templates/default/layout/html/setup.rb,
templates/default/method_details/text/setup.rb,
templates/default/module/html/box_info.erb: Don't test against actual
Registry.root, instead check if object is a RootObject (through #root?)
* lib/yard/code_objects/method_object.rb: Make sure parent of method is a
namespace
* lib/yard/cli/yri.rb: Current path's .yardoc should be first in the search
path for yri
* lib/yard/autoload.rb, lib/yard/cli/base.rb, lib/yard/cli/yard_graph.rb,
lib/yard/cli/yardoc.rb, lib/yard/cli/yri.rb: Refactor CLI classes into
subclass of CLI::Base to get common options
2009-12-11 Loren Segal <lsegal@soen.ca>
* lib/yard/docstring.rb, lib/yard/tags/library.rb: Docstring object should
not keep tag factory instance in an instance variable
* lib/yard/serializers/yardoc_serializer.rb: Better dumping on a
StubProxy/CodeObject
* lib/yard/registry_store.rb, lib/yard/serializers/yardoc_serializer.rb: Load
entire yardoc db before calling keys/values
* lib/yard/registry.rb, lib/yard/registry_store.rb: get('') and get(:root)
should both get root object
* lib/yard/serializers/yardoc_serializer.rb: Cache object that StubProxy is
pointing to (saves a lookup) but don't serialize cached object.
* lib/yard/serializers/yardoc_serializer.rb: Minor refactoring
* benchmarks/yri_cache.rb, lib/yard/cli/yri.rb: Add caching to yri with a
benchmark to illustrate speedup results
* lib/yard/registry.rb, spec/registry_spec.rb, spec/registry_store_spec.rb:
Add specs for RegistryStore
* spec/registry_spec.rb: Refactor Registry specs
* lib/yard/templates/helpers/html_helper.rb,
.../helpers/html_syntax_highlight_helper.rb,
.../helpers/html_syntax_highlight_helper18.rb,
spec/templates/helpers/html_helper_spec.rb: Can now opt out of syntax
highlighting on an indented block by putting "!!!plain" alone on the first
line of the block. For example: !!!plain non-ruby code here Also allows
adding support for highlighting multiple languages. The prefix !!!NAME will
call the method "html_syntax_highlight_NAME" with the source. This is how
"!!!ruby" works, for instance. Thanks lriesterer for the initial patch.
2009-12-10 Loren Segal <lsegal@soen.ca>
* lib/yard/handlers/ruby/attribute_handler.rb,
spec/handlers/attribute_handler_spec.rb: Handle attr* call with no arguments
* lib/yard/code_objects/class_object.rb: Fix handling of
ClassObject#superclass
* lib/yard/code_objects/class_object.rb: Fix handling of
ClassObject#superclass
* lib/yard/handlers/ruby/attribute_handler.rb,
spec/handlers/attribute_handler_spec.rb: Handle attr* call with no arguments
* lib/yard/cli/yardoc.rb: Change message for --build-gems
* lib/yard/cli/yri.rb: yri can now use the new .yardoc format for index
* lib/yard/cli/yardoc.rb, lib/yard/registry.rb: Fix --build-gem to use new
.yardoc format for index
2009-12-09 Loren Segal <lsegal@soen.ca>
* spec/parser/source_parser_spec.rb: Fix specs for YARD.parse and directories
* spec/parser/source_parser_spec.rb: Fix specs for YARD.parse and directories
2009-12-08 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/yardoc.rb, lib/yard/cli/yri.rb, lib/yard/registry.rb: Add
implementation to write index for YRI. Should be merged into .yardoc /
Registry
* lib/yard.rb, spec/yard_spec.rb: Only load latest version of any Gem plugin
* lib/yard/cli/yri.rb: Add debugging messages to YRI
* lib/yard/cli/yardoc.rb: Add --merge to merge parsed data into existing
.yardoc file (specified with -b)
* lib/yard/cli/yardoc.rb: Add --build-gems to build .yardoc file for gems
* lib/yard/cli/yri.rb, lib/yard/registry.rb: Add Registry.yardoc_file_for_gem
* bin/yri, lib/yard/autoload.rb, lib/yard/cli/yri.rb: Refactor yri bin into
CLI::YRI
* templates/default/fulldoc/html/setup.rb: Handle errors during HTML
generation
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Fix call-seq
handling
* lib/yard/code_objects/base.rb: Fix exception being thrown for source with
no spaces
* lib/yard/cli/yardoc.rb: Ignore comments in .document file
* lib/yard/code_objects/base.rb, lib/yard/parser/c_parser.rb,
.../helpers/html_syntax_highlight_helper.rb,
.../helpers/html_syntax_highlight_helper18.rb,
spec/code_objects/base_spec.rb,
templates/default/method_details/html/source.erb: Add
CodeObjects::Base#source_type to set source type (:ruby or :c), only
highlight for Ruby code
2009-12-07 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/c_parser.rb: Add support for one-line call-seq:
* lib/yard/cli/yardoc.rb, lib/yard/parser/source_parser.rb,
spec/cli/yardoc_spec.rb: Add ext/**/*.c to default parse glob
* spec/parser/source_parser_spec.rb: Remove warning spec for C/C++ files
* lib/yard/autoload.rb, lib/yard/parser/c_parser.rb,
lib/yard/parser/source_parser.rb, spec/parser/c_parser_spec.rb,
spec/parser/examples/array.c.txt, spec/spec_helper.rb: Initial C parser
implementation
2009-12-08 Loren Segal <lsegal@soen.ca>
* lib/yard/cli/yardoc.rb, lib/yard/cli/yri.rb, lib/yard/registry.rb: Add
implementation to write index for YRI. Should be merged into .yardoc /
Registry
* lib/yard.rb, spec/yard_spec.rb: Only load latest version of any Gem plugin
* lib/yard/cli/yri.rb: Add debugging messages to YRI
* lib/yard/cli/yardoc.rb: Add --merge to merge parsed data into existing
.yardoc file (specified with -b)
* lib/yard/cli/yardoc.rb: Add --build-gems to build .yardoc file for gems
* lib/yard/cli/yri.rb, lib/yard/registry.rb: Add Registry.yardoc_file_for_gem
* bin/yri, lib/yard/autoload.rb, lib/yard/cli/yri.rb: Refactor yri bin into
CLI::YRI
* templates/default/fulldoc/html/setup.rb: Handle errors during HTML
generation
* lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Fix call-seq
handling
* lib/yard/code_objects/base.rb: Fix exception being thrown for source with
no spaces
* lib/yard/cli/yardoc.rb: Ignore comments in .document file
* lib/yard/code_objects/base.rb, lib/yard/parser/c_parser.rb,
.../helpers/html_syntax_highlight_helper.rb,
.../helpers/html_syntax_highlight_helper18.rb,
spec/code_objects/base_spec.rb,
templates/default/method_details/html/source.erb: Add
CodeObjects::Base#source_type to set source type (:ruby or :c), only
highlight for Ruby code
2009-12-07 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/c_parser.rb: Add support for one-line call-seq:
* lib/yard/cli/yardoc.rb, lib/yard/parser/source_parser.rb,
spec/cli/yardoc_spec.rb: Add ext/**/*.c to default parse glob
* spec/parser/source_parser_spec.rb: Remove warning spec for C/C++ files
* lib/yard/autoload.rb, lib/yard/parser/c_parser.rb,
lib/yard/parser/source_parser.rb, spec/parser/c_parser_spec.rb,
spec/parser/examples/array.c.txt, spec/spec_helper.rb: Initial C parser
implementation
2009-12-08 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/source_parser.rb: If a directory is given to YARD.parse,
make it a file glob instead.
* lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Add better tokenization
support in .yardoc file (support quoted multi-space tokens) You should now
be able to set a long title with: --title "Foo Bar"
* lib/yard/core_ext/string.rb, spec/core_ext/string_spec.rb: Add
String#shell_split to split text into tokens like a shell does (respecting
quoted tokens)
* spec/core_ext/string_spec.rb: Refactor string specifications
2009-12-07 Loren Segal <lsegal@soen.ca>
* spec/templates/examples/class001.html,
spec/templates/examples/method004.html,
spec/templates/examples/method004.txt,
spec/templates/examples/method005.html,
spec/templates/examples/method005.txt, spec/templates/examples/module001.dot,
spec/templates/examples/module001.html,
spec/templates/examples/module001.txt, spec/templates/module_spec.rb: Correct
all template specs
* lib/yard/templates/helpers/html_helper.rb: Only show overload as signature
if there is one overload
* lib/yard/tags/overload_tag.rb: Improve robustness of OverloadTag signature
parsing
* templates/default/tags/html/overload.erb: Don't show empty overload
sections
* lib/yard/templates/helpers/method_helper.rb,
spec/templates/helpers/method_helper_spec.rb: Show yield block in signature
for method with no params
* lib/yard/templates/helpers/method_helper.rb,
templates/default/method_details/setup.rb: Add extra robustness for method
with no source attached
* lib/yard/templates/helpers/html_helper.rb: htmlify method names in
signature
* lib/yard/templates/helpers/html_helper.rb: Fix typewriter text for
unmatched ++
* lib/yard/cli/yardoc.rb, lib/yard/templates/helpers/html_helper.rb,
lib/yard/templates/helpers/text_helper.rb, spec/cli/yardoc_spec.rb,
spec/templates/helpers/html_helper_spec.rb,
.../templates/helpers/shared_signature_examples.rb,
spec/templates/helpers/text_helper_spec.rb: Revert hiding of (Object) and
(void) return types in signature by default, but add switches to re-enable
the behaviour. New switches are --default-return and --hide-void-return.
--default-return can take the empty string to show no return type. Also port
behaviour over to text_helper.rb and refactor specs to test both helpers at
the same time.
* lib/yard/code_objects/method_object.rb: Better handling of methods in proxy
namespaces.
* lib/yard/code_objects/base.rb: Fix method match for #<=>
2009-12-06 Loren Segal <lsegal@soen.ca>
* lib/yard/tags/overload_tag.rb: Fix OverloadTag#name for instance methods
* lib/yard/tags/overload_tag.rb,
spec/serializers/file_system_serializer_spec.rb,
spec/tags/overload_tag_spec.rb, spec/templates/examples/module001.html,
spec/templates/helpers/html_helper_spec.rb: Fix the way object lookups are
done inside overload tags. Closes gh-51
* lib/yard/code_objects/base.rb, spec/templates/helpers/base_helper_spec.rb:
Change the way Base#=== tests equality (call #is_a? on other)
* spec/serializers/file_system_serializer_spec.rb: Refactor
FileSystemSerializer specs
2009-12-05 Loren Segal <lsegal@soen.ca>
* templates/default/module/setup.rb: Fix sort_listing for Ruby1.8
* templates/default/module/setup.rb: Refactor method listing behaviour for
special methods
* templates/default/module/html/item_summary.erb: Only show constructor note
inside a class
* lib/yard/code_objects/method_object.rb,
spec/code_objects/method_object_spec.rb: Only show #initialize as constructor
if defined in a class
* templates/default/module/setup.rb: Only sort method summary by scope/name,
not visibility
* lib/yard/code_objects/method_object.rb,
spec/code_objects/method_object_spec.rb: Add MethodObject#constructor? to
return if method is #initialize
* lib/yard/templates/helpers/html_helper.rb,
lib/yard/templates/helpers/method_helper.rb,
spec/templates/helpers/html_helper_spec.rb,
spec/templates/helpers/method_helper_spec.rb: Show multiple types in
signature return types and add heuristics for nullable/splat returns Summary
of the new heuristics are as follows: * Single return type: (Type) * Two
return types: (TypeA, TypeB) * More than two: (TypeA, ...) * @return [Type,
nil]: (Type?) [? is superscripted] * @return [Type, Array<Type>]: (Type+) [+
is superscripted] * @return [void]: no return type shown Closes gh-49
* spec/templates/examples/method003.html,
templates/default/tags/html/overload.erb: Don't show extra text in overload
signatures
* templates/default/fulldoc/html/css/style.css: Display paragraphs as block
elements in overload tags Closes gh-50
2009-12-04 Loren Segal <lsegal@soen.ca>
* lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/method_handler.rb, lib/yard/tags/tag.rb,
spec/handlers/examples/method_handler_001.rb.txt,
spec/handlers/method_handler_spec.rb: Add @return [Boolean] to methods ending
in '?' unless they have a return type set
* spec/templates/examples/class001.html,
spec/templates/examples/method001.html,
spec/templates/examples/method002.html,
spec/templates/examples/method002.txt,
spec/templates/examples/method003.html,
spec/templates/examples/method003.txt,
spec/templates/examples/method004.html,
spec/templates/examples/method004.txt,
spec/templates/examples/method005.html,
spec/templates/examples/method005.txt, spec/templates/examples/module001.dot,
spec/templates/examples/module001.html,
spec/templates/examples/module001.txt, spec/templates/method_spec.rb,
spec/templates/module_spec.rb, spec/templates/spec_helper.rb: Add tests for
void return types and overloaded attributes
* lib/yard/templates/helpers/text_helper.rb: Fix signature for text helper
(don't show return for void/undocumented meths)
* templates/default/fulldoc/html/css/style.css,
templates/default/module/html/item_summary.erb: Add constructor button next
to #initialize method in summary
* templates/default/docstring/html/returns_void.erb,
templates/default/docstring/setup.rb,
templates/default/docstring/text/returns_void.erb,
templates/default/fulldoc/html/css/style.css,
templates/default/tags/setup.rb: Don't show @return for void, but show note
in a void method
* lib/yard/cli/yardoc.rb, lib/yard/code_objects/base.rb,
lib/yard/code_objects/class_object.rb, lib/yard/code_objects/proxy.rb,
lib/yard/core_ext/symbol_hash.rb, lib/yard/handlers/base.rb,
lib/yard/handlers/processor.rb, lib/yard/parser/ruby/ast_node.rb,
lib/yard/parser/source_parser.rb, lib/yard/rake/yardoc_task.rb,
lib/yard/registry.rb, lib/yard/serializers/base.rb,
lib/yard/templates/engine.rb, lib/yard/verifier.rb: Documentation: change to
@return [void] instead of [nil]
* lib/yard/templates/helpers/html_helper.rb: Don't show return type if none
specified or void
* lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/method_handler.rb,
spec/handlers/method_handler_spec.rb: #initialize should return [void]
* lib/yard/templates/helpers/html_helper.rb: Use first @overload tag for
return type in signature if no other return tag is present
* templates/default/fulldoc/html/setup.rb: Add attributes to method listing
* lib/yard/tags/overload_tag.rb, spec/handlers/method_handler_spec.rb: Allow
@overload to change name in signature
* lib/yard/code_objects/method_object.rb,
spec/code_objects/method_object_spec.rb: Fix MethodObject#is_attribute? when
attr exists but not for both read/write Closes gh-48
* spec/templates/examples/class001.html,
spec/templates/examples/module001.html,
.../default/class/html/constructor_details.erb,
templates/default/fulldoc/html/js/app.js,
.../default/module/html/attribute_details.erb,
.../default/module/html/attribute_summary.erb,
.../default/module/html/method_details_list.erb,
templates/default/module/html/method_summary.erb,
templates/default/module/html/methodmissing.erb,
templates/default/module/setup.rb: Split attr/method summary/details by into
separate class/instance sections
2009-12-01 Loren Segal <lsegal@soen.ca>
* lib/yard/templates/helpers/html_helper.rb: Sort tag attributes so tests can
pass across 1.8/1.9 without modification
* lib/yard.rb: Remove Encoding declaration (breaks in 1.9 and isn't
necessary)
* lib/yard/tags/overload_tag.rb, spec/templates/examples/module001.dot,
spec/templates/examples/module001.html,
spec/templates/examples/module001.txt, spec/templates/module_spec.rb,
templates/default/docstring/setup.rb,
templates/default/module/html/item_summary.erb: Fix duplicate docstring for
single @overload tag. Also add overloaded signature to method summary listing
in this case. Closes gh-39
2009-12-01 postmodern <postmodern.mod3@gmail.com>
* templates/default/fulldoc/html/css/style.css: Used a unicode hex-escape
sequence in the CSS instead.
2009-12-01 Loren Segal <lsegal@soen.ca>
* lib/yard.rb: Force UTF-8 encoding for templates and files. Closes gh-47
* templates/default/method/html/header.erb,
templates/default/module/html/defines.erb: Fix 1.8.6 incompatibility issue
(missing Symbol#to_proc)
* spec/templates/examples/method001.html,
spec/templates/examples/module001.html,
.../method_details/html/method_signature.erb: Permalink aliases Closes gh-44
* spec/templates/examples/module001.html, spec/templates/module_spec.rb,
.../default/module/html/inherited_constants.erb,
.../default/module/html/inherited_methods.erb: Hide private inherited
methods/constants. Closes gh-43
* lib/yard/handlers/ruby/attribute_handler.rb,
lib/yard/handlers/ruby/legacy/attribute_handler.rb,
lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/method_handler.rb,
spec/handlers/method_handler_spec.rb, spec/templates/examples/class001.html,
spec/templates/examples/module001.html: Remove RDoc specific markup for
auto-generated meta-tags. Closes gh-45
2009-11-29 Loren Segal <lsegal@soen.ca>
* templates/default/fulldoc/html/setup.rb, templates/default/module/setup.rb:
Ignore @private classes/modules. Closes gh-46
2009-11-26 Loren Segal <lsegal@soen.ca>
* lib/yard/handlers/base.rb: Add no-continuation warning for Rubinius and
only warn once
2009-11-21 Loren Segal <lsegal@soen.ca>
* lib/yard/core_ext/module.rb, spec/core_ext/module_spec.rb: Resolve
collision with Module#namespace and Rake, renamed to #namespace_name Closes
gh-42
2009-11-17 Loren Segal <lsegal@soen.ca>
* templates/default/layout/html/index.erb: Sort index listing in 1.8
2009-11-16 Loren Segal <lsegal@soen.ca>
* templates/default/module/dot/info.erb: Fix broken dot template in Ruby1.8
(due to hash ordering)
* lib/yard/parser/ruby/legacy/statement_list.rb,
spec/parser/source_parser_spec.rb: Legacy parser should prioritize prepended
comments over appended ones. Closes gh-38
2009-11-15 Loren Segal <lsegal@soen.ca>
* .../helpers/html_syntax_highlight_helper.rb,
.../helpers/html_syntax_highlight_helper18.rb: Add sanity checks for methods
with no source
* lib/yard/templates/helpers/method_helper.rb: Sanity check for methods with
no source
* ChangeLog, lib/yard.rb, yard.gemspec: Bump version to 0.4.0
* ChangeLog: Update changelog
* lib/yard/handlers/ruby/legacy/constant_handler.rb: Fix constant missing
error
* lib/yard/templates/helpers/module_helper.rb: Fix prune_method_listing to
work more gracefully with methods in proxy namespaces
* spec/templates/helpers/base_helper_spec.rb,
templates/default/layout/html/footer.erb, yard.gemspec: Change URL to
yardoc.org
2009-11-14 Loren Segal <lsegal@soen.ca>
* lib/yard/templates/template.rb: Allow superb to specify a section name
2009-11-13 Loren Segal <lsegal@soen.ca>
* Rakefile: Only build .gem for install
* Rakefile: Allow rake to function without RSpec
* spec/templates/examples/class001.html,
spec/templates/examples/class001.txt, spec/templates/examples/module001.dot,
spec/templates/examples/module001.html: Update template specs
2009-11-12 Loren Segal <lsegal@soen.ca>
* lib/yard/handlers/ruby/constant_handler.rb: Remove unneeded Registry check
in constant handler
* README.md: Document new features in changelog section
* lib/yard.rb, spec/yard_spec.rb: Use Gem.source_index.entries instead of
all_gems (Rails compatibility) Closes gh-36
* lib/yard/core_ext/string.rb, spec/core_ext/string_spec.rb: Make
String#underscore behave like activesupport's (Rails compatibility) Closes
gh-35
2009-11-11 Loren Segal <lsegal@soen.ca>
* lib/yard/handlers/ruby/class_handler.rb,
lib/yard/handlers/ruby/constant_handler.rb,
lib/yard/handlers/ruby/legacy/constant_handler.rb,
lib/yard/parser/ruby/ast_node.rb, spec/handlers/constant_handler_spec.rb,
spec/handlers/examples/class_handler_001.rb.txt,
spec/handlers/examples/constant_handler_001.rb.txt,
spec/parser/ruby/ruby_parser_spec.rb: Add support for X =
Struct.new(:attrname, ...) class declaration syntax
2009-11-07 Loren Segal <lsegal@soen.ca>
* templates/default/fulldoc/html/css/full_list.css,
templates/default/fulldoc/html/css/style.css: IE7 compatibility fixes
* lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
Fix AstNode handling for source of array references and if/unless/while
statements
* bin/view_generator: Remove old view_generator test binary
2009-11-06 Loren Segal <lsegal@soen.ca>
* lib/yard/parser/ruby/legacy/statement_list.rb,
spec/parser/ruby/legacy/statement_list_spec.rb: Another fix for comments not
registering as docstrings in 1.8 parser
* lib/yard/parser/ruby/legacy/statement_list.rb,
spec/parser/ruby/legacy/statement_list_spec.rb: Fix behaviour in legacy
parser for which comments should be associated with a statement
* lib/yard/handlers/ruby/class_handler.rb,
spec/handlers/class_handler_spec.rb,
spec/handlers/examples/class_handler_001.rb.txt: Fix docstring being
destroyed in 1.9 parser when a class is redefined without comments
2009-11-05 Loren Segal <lsegal@soen.ca>
* docs/GettingStarted.md: Add plugin info to getting started guide
* lib/yard/code_objects/base.rb, lib/yard/code_objects/method_object.rb,
spec/code_objects/method_object_spec.rb,
templates/default/fulldoc/html/full_list.erb,
templates/default/layout/html/breadcrumb.erb,
templates/default/module/setup.rb: Add name(prefix=false) to
CodeObjects::Base to simplify API for calling methobj.name(true)
* lib/yard/templates/helpers/html_helper.rb: Add special title for link in
signature
* yard.gemspec: Add changelog to gemspec
* lib/yard/code_objects/class_variable_object.rb,
lib/yard/handlers/ruby/class_variable_handler.rb,
.../handlers/ruby/legacy/class_variable_handler.rb,
lib/yard/templates/helpers/html_helper.rb,
spec/handlers/class_variable_handler_spec.rb, spec/templates/module_spec.rb,
templates/default/module/setup.rb: Add class variables to templates along
with constants
* lib/yard/parser/source_parser.rb, spec/parser/source_parser_spec.rb: Try to
parse toplevel files first
* templates/default/fulldoc/html/setup.rb: Make title more obvious that it's
YARD parsing the docs, not YARD's docs.
* .../handlers/ruby/legacy/class_variable_handler.rb,
.../examples/class_variable_handler_001.rb.txt: Parse class variable name
properly in 1.8 parser
* lib/yard/handlers/ruby/exception_handler.rb,
.../handlers/examples/exception_handler_001.rb.txt,
spec/handlers/exception_handler_spec.rb: Ignore 'raise' called on target
receivers in 1.9 parser
2009-11-04 Loren Segal <lsegal@soen.ca>
* templates/default/class/setup.rb,
templates/default/module/html/box_info.erb,
.../default/module/html/inherited_constants.erb,
.../default/module/html/inherited_methods.erb,
templates/default/module/setup.rb: Sort various method/child/subclass lists
* .yardopts, ChangeLog: Update changelog, put it in docs
* docs/GettingStarted.md, docs/WhatsNew.md: Fix some broken links to old
README.markdown
2009-11-03 Loren Segal <lsegal@soen.ca>
* benchmarks/template_profile.rb: Don't use perftools
* lib/yard/templates/template.rb: Make example more realistic
* benchmarks/concat_vs_join.rb, benchmarks/erb_vs_erubis.rb,
benchmarks/pathname_vs_string.rb, benchmarks/template_erb.rb,
benchmarks/template_format.rb, benchmarks/template_profile.rb: Add/update
benchmarks for templates
* lib/yard/core_ext/file.rb, lib/yard/templates/engine.rb,
lib/yard/templates/template.rb, spec/core_ext/file_spec.rb,
spec/templates/engine_spec.rb, spec/templates/template_spec.rb: Remove
Pathname from code, it is too slow.
* lib/yard/templates/template.rb: Refactor erb to use erb_with and only trim
newlines if format == text (performance)
* templates/default/fulldoc/html/css/style.css: Fix constant colour in syntax
highlighting
* templates/default/fulldoc/html/css/full_list.css: Make search box in
namespace list rounded, collapse border
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: format_types should work for
composite paths (A::B)
2009-11-02 Loren Segal <lsegal@soen.ca>
* README.md: Update readme
* lib/yard/code_objects/class_object.rb: Fix broken @see reference
* docs/WhatsNew.md: Add more info on updated templates
* lib/yard/tags/library.rb, templates/default/docstring/html/note.erb,
templates/default/docstring/html/todo.erb,
templates/default/docstring/setup.rb,
templates/default/docstring/text/note.erb,
templates/default/docstring/text/todo.erb,
templates/default/fulldoc/html/css/style.css: Add @note, add @note and @todo
into templates
* lib/yard/code_objects/base.rb: Explain how to modify
CodeObjects::Base#files
* lib/yard/docstring.rb, spec/docstring_spec.rb: Don't end summary in the
middle of a decimal (like 1.5)
* templates/default/layout/html/footer.erb,
templates/default/layout/html/header.erb,
templates/default/layout/html/headers.erb,
templates/default/layout/html/layout.erb,
templates/default/layout/html/search.erb,
templates/default/layout/html/setup.rb: Split layout template into sections
* lib/yard.rb: Remove modification
* docs/WhatsNew.md: Document new plugin ignore behaviour
* lib/yard.rb, spec/yard_spec.rb: Add mechanism to ignore plugins by name
(add names to ~/.yard/ignored_plugins)
* lib/yard.rb: Debug needs to be modified or debugging message does not show
* lib/yard.rb: Documentation for a few helper methods
* lib/yard.rb, spec/yard_spec.rb: Add plugin support. Name your gems
'yard-myplugin' or 'yard_myplugin'. Plugins are loaded automatically when
YARD loads. The '-' separator is the recommended naming scheme.
* docs/WhatsNew.md: Document the plugin behaviour
* lib/yard.rb, spec/yard_spec.rb: Add plugin support. Name your gems
'yard-myplugin' or 'yard_myplugin'. Plugins are loaded automatically when
YARD loads. The '-' separator is the recommended naming scheme.
* lib/yard/handlers/base.rb, lib/yard/templates/template.rb: Remove a few
debugging messages (too much info)
* lib/yard/code_objects/constant_object.rb,
lib/yard/handlers/ruby/legacy/constant_handler.rb,
spec/handlers/constant_handler_spec.rb,
spec/handlers/examples/constant_handler_001.rb.txt: Fix constants removing
newlines from value in 1.8
2009-11-01 Loren Segal <lsegal@soen.ca>
* lib/yard/templates/helpers/html_helper.rb,
spec/templates/helpers/html_helper_spec.rb: Fix format_types to link all
words
* templates/default/class/setup.rb: Improve rendering speed of subclasses
section
* lib/yard/handlers/ruby/legacy/method_handler.rb,
lib/yard/handlers/ruby/method_handler.rb,
spec/handlers/examples/method_handler_001.rb.txt,
spec/handlers/method_handler_spec.rb: Add Class.inherited to privatized
method list
* templates/default/fulldoc/html/setup.rb: Refactor logic to generate
index.html file, do so for readme or table of contents
* lib/yard/code_objects/base.rb: Document CodeObjects::Base as abstract
* docs/GettingStarted.md, docs/Templates.md, docs/WhatsNew.md,
templates/default/fulldoc/html/css/style.css: Update documentation, discuss
new features
* templates/default/fulldoc/html/css/style.css: Use the same font family as
signature
* templates/default/fulldoc/html/css/style.css: Alias name should be smaller
in signature
* lib/yard/templates/engine.rb, lib/yard/templates/template.rb,
spec/templates/engine_spec.rb: Fix inclusion order of overriden templates
* spec/templates/examples/class001.html,
spec/templates/examples/method001.html,
spec/templates/examples/method002.html,
spec/templates/examples/method003.html,
spec/templates/examples/module001.html, spec/templates/examples/tag001.txt,
spec/templates/helpers/html_helper_spec.rb: Update specs
* spec/cli/yardoc_spec.rb: Fix broken spec due to README being renamed
* lib/yard/handlers/ruby/legacy/yield_handler.rb,
lib/yard/handlers/ruby/yield_handler.rb, spec/handlers/yield_handler_spec.rb,
templates/default/tags/html/tag.erb, templates/default/tags/setup.rb: Show
yield types iff there are types present
* templates/default/fulldoc/html/css/style.css: Update css
* lib/yard/code_objects/base.rb, lib/yard/docstring.rb,
lib/yard/handlers/ruby/legacy/base.rb: Fix broken reference links
* lib/yard/templates/helpers/html_helper.rb,
templates/default/fulldoc/html/css/style.css,
templates/default/module/html/item_summary.erb: Add info bubbles to summaries
* .yardopts, Rakefile: Move some options to yardopts
* templates/default/fulldoc/html/css/style.css,
templates/default/layout/html/header.erb,
.../default/module/html/attribute_summary.erb,
templates/default/module/html/header.erb,
templates/default/module/html/item_summary.erb,
templates/default/module/html/method_summary.erb,
templates/default/module/setup.rb: Add abstract/deprecated info bubbles
* templates/default/fulldoc/html/css/style.css: Links in summary descriptions
should be smaller
* templates/default/fulldoc/html/css/full_list.css,
templates/default/fulldoc/html/css/style.css,
templates/default/fulldoc/html/js/app.js,
.../default/module/html/attribute_summary.erb,
templates/default/module/html/method_summary.erb: Update css, make
method/attr summaries more apparent
* templates/default/docstring/html/abstract.erb,
templates/default/docstring/html/deprecated.erb,