nutshell-crm 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +4 -1
- data/lib/nutshell-crm.rb +274 -6
- data/lib/nutshell-crm/version.rb +1 -1
- data/nutshell-crm.gemspec +1 -0
- data/spec/nutshell-crm_spec.rb +40 -167
- data/vendor/bundle/bin/yard +19 -0
- data/vendor/bundle/bin/yardoc +19 -0
- data/vendor/bundle/bin/yri +19 -0
- data/vendor/bundle/gems/yard-0.7.4/.yardopts +18 -0
- data/vendor/bundle/gems/yard-0.7.4/ChangeLog +10533 -0
- data/vendor/bundle/gems/yard-0.7.4/LEGAL +74 -0
- data/vendor/bundle/gems/yard-0.7.4/LICENSE +22 -0
- data/vendor/bundle/gems/yard-0.7.4/README.md +514 -0
- data/vendor/bundle/gems/yard-0.7.4/Rakefile +99 -0
- data/vendor/bundle/gems/yard-0.7.4/benchmarks/builtins_vs_eval.rb +23 -0
- data/vendor/bundle/gems/yard-0.7.4/benchmarks/concat_vs_join.rb +12 -0
- data/vendor/bundle/gems/yard-0.7.4/benchmarks/erb_vs_erubis.rb +53 -0
- data/vendor/bundle/gems/yard-0.7.4/benchmarks/format_args.rb +46 -0
- data/vendor/bundle/gems/yard-0.7.4/benchmarks/generation.rb +37 -0
- data/vendor/bundle/gems/yard-0.7.4/benchmarks/marshal_vs_dbm.rb +63 -0
- data/vendor/bundle/gems/yard-0.7.4/benchmarks/parsing.rb +46 -0
- data/vendor/bundle/gems/yard-0.7.4/benchmarks/pathname_vs_string.rb +50 -0
- data/vendor/bundle/gems/yard-0.7.4/benchmarks/rdoc_vs_yardoc.rb +10 -0
- data/vendor/bundle/gems/yard-0.7.4/benchmarks/ri_vs_yri.rb +18 -0
- data/vendor/bundle/gems/yard-0.7.4/benchmarks/ripper_parser.rb +12 -0
- data/vendor/bundle/gems/yard-0.7.4/benchmarks/splat_vs_flatten.rb +12 -0
- data/vendor/bundle/gems/yard-0.7.4/benchmarks/template_erb.rb +22 -0
- data/vendor/bundle/gems/yard-0.7.4/benchmarks/template_format.rb +6 -0
- data/vendor/bundle/gems/yard-0.7.4/benchmarks/template_profile.rb +17 -0
- data/vendor/bundle/gems/yard-0.7.4/benchmarks/yri_cache.rb +19 -0
- data/vendor/bundle/gems/yard-0.7.4/bin/yard +4 -0
- data/vendor/bundle/gems/yard-0.7.4/bin/yard-graph +4 -0
- data/vendor/bundle/gems/yard-0.7.4/bin/yard-server +4 -0
- data/vendor/bundle/gems/yard-0.7.4/bin/yardoc +4 -0
- data/vendor/bundle/gems/yard-0.7.4/bin/yri +4 -0
- data/vendor/bundle/gems/yard-0.7.4/docs/CodeObjects.md +115 -0
- data/vendor/bundle/gems/yard-0.7.4/docs/GettingStarted.md +590 -0
- data/vendor/bundle/gems/yard-0.7.4/docs/Glossary.md +12 -0
- data/vendor/bundle/gems/yard-0.7.4/docs/Handlers.md +152 -0
- data/vendor/bundle/gems/yard-0.7.4/docs/Overview.md +61 -0
- data/vendor/bundle/gems/yard-0.7.4/docs/Parser.md +191 -0
- data/vendor/bundle/gems/yard-0.7.4/docs/Tags.md +586 -0
- data/vendor/bundle/gems/yard-0.7.4/docs/Templates.md +518 -0
- data/vendor/bundle/gems/yard-0.7.4/docs/WhatsNew.md +887 -0
- data/vendor/bundle/gems/yard-0.7.4/docs/images/code-objects-class-diagram.png +0 -0
- data/vendor/bundle/gems/yard-0.7.4/docs/images/handlers-class-diagram.png +0 -0
- data/vendor/bundle/gems/yard-0.7.4/docs/images/overview-class-diagram.png +0 -0
- data/vendor/bundle/gems/yard-0.7.4/docs/images/parser-class-diagram.png +0 -0
- data/vendor/bundle/gems/yard-0.7.4/docs/images/tags-class-diagram.png +0 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/rubygems_plugin.rb +4 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard.rb +57 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/autoload.rb +233 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/command.rb +73 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/command_parser.rb +89 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/config.rb +136 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/diff.rb +201 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/gems.rb +83 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/graph.rb +103 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/help.rb +18 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/list.rb +22 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/server.rb +160 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/stats.rb +210 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/yardoc.rb +696 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/yri.rb +193 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/base.rb +513 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/class_object.rb +143 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/class_variable_object.rb +8 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/constant_object.rb +13 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/extended_method_object.rb +23 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/extra_file_object.rb +89 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/macro_object.rb +215 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/method_object.rb +153 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/module_object.rb +18 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/namespace_object.rb +200 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/proxy.rb +252 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/root_object.rb +16 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/config.rb +259 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/core_ext/array.rb +15 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/core_ext/file.rb +65 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/core_ext/hash.rb +15 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/core_ext/insertion.rb +60 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/core_ext/module.rb +19 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/core_ext/string.rb +67 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/core_ext/symbol_hash.rb +73 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/docstring.rb +331 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/globals.rb +18 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/base.rb +569 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/processor.rb +187 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/alias_handler.rb +43 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/attribute_handler.rb +83 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/base.rb +160 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/class_condition_handler.rb +84 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/class_handler.rb +122 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/class_variable_handler.rb +16 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/constant_handler.rb +45 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/exception_handler.rb +26 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/extend_handler.rb +21 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/alias_handler.rb +37 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/attribute_handler.rb +61 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/base.rb +228 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +81 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/class_handler.rb +110 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +14 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/constant_handler.rb +28 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/exception_handler.rb +12 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/extend_handler.rb +20 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/macro_handler.rb +39 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/method_handler.rb +78 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/mixin_handler.rb +41 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/module_handler.rb +11 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/private_constant_handler.rb +21 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/visibility_handler.rb +16 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/yield_handler.rb +28 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/macro_handler.rb +40 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/macro_handler_methods.rb +130 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/method_condition_handler.rb +8 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/method_handler.rb +94 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/mixin_handler.rb +36 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/module_handler.rb +11 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/private_constant_handler.rb +36 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/struct_handler_methods.rb +140 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/visibility_handler.rb +24 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/yield_handler.rb +30 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/logging.rb +77 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/base.rb +56 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/c_parser.rb +501 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/ruby/ast_node.rb +399 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/ruby/legacy/ruby_lex.rb +1376 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/ruby/legacy/ruby_parser.rb +30 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/ruby/legacy/statement.rb +60 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/ruby/legacy/statement_list.rb +390 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/ruby/legacy/token_list.rb +66 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/ruby/ruby_parser.rb +542 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/source_parser.rb +517 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/rake/yardoc_task.rb +75 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/registry.rb +400 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/registry_store.rb +252 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/rubygems/backports.rb +8 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/rubygems/backports/LICENSE.txt +57 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/rubygems/backports/MIT.txt +20 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/rubygems/backports/gem.rb +8 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/rubygems/backports/source_index.rb +353 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/rubygems/doc_manager.rb +75 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/rubygems/specification.rb +41 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/serializers/base.rb +80 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/serializers/file_system_serializer.rb +92 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/serializers/process_serializer.rb +24 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/serializers/stdout_serializer.rb +32 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/serializers/yardoc_serializer.rb +122 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server.rb +11 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/adapter.rb +100 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/base.rb +192 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/display_file_command.rb +24 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/display_object_command.rb +51 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/frames_command.rb +32 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/library_command.rb +100 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/library_index_command.rb +24 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/list_command.rb +48 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/search_command.rb +72 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/static_file_command.rb +50 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/doc_server_helper.rb +40 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/doc_server_serializer.rb +31 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/library_version.rb +227 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/rack_adapter.rb +83 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/router.rb +180 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/static_caching.rb +45 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/default/fulldoc/html/css/custom.css +78 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/default/fulldoc/html/images/processing.gif +0 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/default/fulldoc/html/js/autocomplete.js +12 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/default/fulldoc/html/js/live.js +32 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/default/layout/html/breadcrumb.erb +46 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/default/layout/html/headers.erb +16 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/default/layout/html/setup.rb +7 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/frames/html/frames.erb +13 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/frames/html/setup.rb +3 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/full_list/html/full_list.erb +34 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/full_list/html/setup.rb +20 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/library_list/html/contents.erb +13 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/library_list/html/headers.erb +26 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/library_list/html/library_list.erb +12 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/library_list/html/setup.rb +3 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/library_list/html/title.erb +2 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/processing/html/processing.erb +51 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/processing/html/setup.rb +3 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/search/html/search.erb +19 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/search/html/setup.rb +8 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/webrick_adapter.rb +42 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/default_factory.rb +141 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/default_tag.rb +12 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/library.rb +201 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/option_tag.rb +12 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/overload_tag.rb +65 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/ref_tag.rb +7 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/ref_tag_list.rb +27 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/tag.rb +57 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/tag_format_error.rb +6 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/engine.rb +173 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/erb_cache.rb +22 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/base_helper.rb +206 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/filter_helper.rb +26 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/html_helper.rb +520 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +59 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/markup/rdoc_markup.rb +85 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/markup_helper.rb +164 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/method_helper.rb +72 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/module_helper.rb +19 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/text_helper.rb +95 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/uml_helper.rb +46 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/section.rb +106 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/template.rb +366 -0
- data/vendor/bundle/gems/yard-0.7.4/lib/yard/verifier.rb +148 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/cli/command_parser_spec.rb +43 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/cli/command_spec.rb +36 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/cli/config_spec.rb +92 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/cli/diff_spec.rb +172 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/cli/gems_spec.rb +81 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/cli/help_spec.rb +22 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/cli/list_spec.rb +8 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/cli/server_spec.rb +171 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/cli/stats_spec.rb +90 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/cli/yardoc_spec.rb +628 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/cli/yri_spec.rb +87 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/base_spec.rb +334 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/class_object_spec.rb +225 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/code_object_list_spec.rb +33 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/constants_spec.rb +81 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/extra_file_object_spec.rb +132 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/macro_object_spec.rb +154 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/method_object_spec.rb +152 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/module_object_spec.rb +141 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/namespace_object_spec.rb +170 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/proxy_spec.rb +124 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/spec_helper.rb +3 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/config_spec.rb +167 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/core_ext/array_spec.rb +14 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/core_ext/file_spec.rb +68 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/core_ext/hash_spec.rb +14 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/core_ext/insertion_spec.rb +37 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/core_ext/module_spec.rb +15 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/core_ext/string_spec.rb +42 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/core_ext/symbol_hash_spec.rb +86 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/docstring_spec.rb +400 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/alias_handler_spec.rb +80 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/attribute_handler_spec.rb +94 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/base_spec.rb +197 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/class_condition_handler_spec.rb +62 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/class_handler_spec.rb +246 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/class_variable_handler_spec.rb +11 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/constant_handler_spec.rb +64 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/alias_handler_001.rb.txt +44 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/attribute_handler_001.rb.txt +32 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/class_condition_handler_001.rb.txt +61 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/class_handler_001.rb.txt +120 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/class_variable_handler_001.rb.txt +10 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/constant_handler_001.rb.txt +25 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/exception_handler_001.rb.txt +59 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/extend_handler_001.rb.txt +16 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/macro_handler_001.rb.txt +83 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/method_condition_handler_001.rb.txt +10 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/method_handler_001.rb.txt +122 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/mixin_handler_001.rb.txt +33 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/module_handler_001.rb.txt +29 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/private_constant_handler_001.rb.txt +8 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/process_handler_001.rb.txt +11 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/visibility_handler_001.rb.txt +27 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/yield_handler_001.rb.txt +55 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/exception_handler_spec.rb +48 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/extend_handler_spec.rb +23 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/legacy_base_spec.rb +128 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/macro_handler_spec.rb +157 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/method_condition_handler_spec.rb +14 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/method_handler_spec.rb +177 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/mixin_handler_spec.rb +50 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/module_handler_spec.rb +34 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/private_constant_handler_spec.rb +24 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/processor_spec.rb +23 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/ruby/base_spec.rb +90 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/ruby/legacy/base_spec.rb +78 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/spec_helper.rb +34 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/visibility_handler_spec.rb +34 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/handlers/yield_handler_spec.rb +51 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/logging_spec.rb +14 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/parser/base_spec.rb +24 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/parser/c_parser_spec.rb +231 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/parser/examples/array.c.txt +3887 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/parser/examples/example1.rb.txt +8 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/parser/examples/extrafile.c.txt +8 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/parser/examples/multifile.c.txt +6 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/parser/examples/override.c.txt +424 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/parser/examples/parse_in_order_001.rb.txt +2 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/parser/examples/parse_in_order_002.rb.txt +2 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/parser/examples/tag_handler_001.rb.txt +8 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/parser/ruby/ast_node_spec.rb +33 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/parser/ruby/legacy/statement_list_spec.rb +299 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/parser/ruby/legacy/token_list_spec.rb +69 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/parser/ruby/ruby_parser_spec.rb +257 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/parser/source_parser_spec.rb +595 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/parser/tag_parsing_spec.rb +18 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/rake/yardoc_task_spec.rb +90 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/registry_spec.rb +303 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/registry_store_spec.rb +255 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/serializers/data/serialized_yardoc/checksums +1 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/serializers/data/serialized_yardoc/objects/Foo.dat +0 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/serializers/data/serialized_yardoc/objects/Foo/bar_i.dat +0 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/serializers/data/serialized_yardoc/objects/Foo/baz_i.dat +0 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/serializers/data/serialized_yardoc/objects/root.dat +0 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/serializers/data/serialized_yardoc/proxy_types +2 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/serializers/file_system_serializer_spec.rb +124 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/serializers/spec_helper.rb +2 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/serializers/yardoc_serializer_spec.rb +46 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/server/adapter_spec.rb +38 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/server/commands/base_spec.rb +87 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/server/commands/library_command_spec.rb +39 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/server/commands/static_file_command_spec.rb +84 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/server/doc_server_serializer_spec.rb +58 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/server/rack_adapter_spec.rb +18 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/server/router_spec.rb +115 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/server/spec_helper.rb +17 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/server/static_caching_spec.rb +39 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/server/webrick_servlet_spec.rb +20 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/server_spec.rb +10 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/spec_helper.rb +105 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/tags/default_factory_spec.rb +138 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/tags/default_tag_spec.rb +11 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/tags/library_spec.rb +23 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/tags/overload_tag_spec.rb +53 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/tags/ref_tag_list_spec.rb +53 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/class_spec.rb +43 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/constant_spec.rb +40 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/engine_spec.rb +129 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/class001.html +280 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/class001.txt +36 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/class002.html +35 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/constant001.txt +25 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/constant002.txt +7 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/constant003.txt +11 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method001.html +130 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method001.txt +35 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method002.html +86 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method002.txt +20 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method003.html +159 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method003.txt +45 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method004.html +44 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method004.txt +10 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method005.html +99 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method005.txt +33 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/module001.dot +33 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/module001.html +795 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/module001.txt +33 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/module002.html +319 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/tag001.txt +82 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/helpers/base_helper_spec.rb +175 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/helpers/html_helper_spec.rb +541 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/helpers/html_syntax_highlight_helper_spec.rb +48 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/helpers/markup/rdoc_markup_spec.rb +84 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/helpers/markup_helper_spec.rb +132 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/helpers/method_helper_spec.rb +75 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/helpers/shared_signature_examples.rb +121 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/helpers/text_helper_spec.rb +44 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/method_spec.rb +102 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/module_spec.rb +109 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/onefile_spec.rb +47 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/section_spec.rb +146 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/spec_helper.rb +42 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/tag_spec.rb +39 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/templates/template_spec.rb +401 -0
- data/vendor/bundle/gems/yard-0.7.4/spec/verifier_spec.rb +86 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/class/dot/setup.rb +6 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/class/dot/superklass.erb +3 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/class/html/constructor_details.erb +8 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/class/html/setup.rb +1 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/class/html/subclasses.erb +4 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/class/setup.rb +36 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/class/text/setup.rb +11 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/class/text/subclasses.erb +5 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/constant/text/header.erb +11 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/constant/text/setup.rb +3 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/html/abstract.erb +4 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/html/deprecated.erb +1 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/html/index.erb +5 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/html/note.erb +6 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/html/private.erb +4 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/html/returns_void.erb +1 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/html/text.erb +1 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/html/todo.erb +6 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/setup.rb +49 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/text/abstract.erb +2 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/text/deprecated.erb +2 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/text/index.erb +2 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/text/note.erb +4 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/text/private.erb +2 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/text/returns_void.erb +1 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/text/text.erb +1 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/text/todo.erb +4 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/css/common.css +1 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/css/full_list.css +55 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/css/style.css +322 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/frames.erb +13 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/full_list.erb +37 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/full_list_class.erb +2 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/full_list_files.erb +5 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/full_list_methods.erb +12 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/js/app.js +205 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/js/full_list.js +167 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/js/jquery.js +16 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/setup.rb +198 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/dot/header.erb +6 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/dot/setup.rb +14 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/breadcrumb.erb +13 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/files.erb +11 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/footer.erb +5 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/headers.erb +17 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/index.erb +2 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/layout.erb +24 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/listing.erb +4 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/objects.erb +32 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/search.erb +5 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/setup.rb +71 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/method/html/header.erb +16 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/method/setup.rb +3 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/method/text/header.erb +1 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/method_details/html/header.erb +3 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/method_details/html/method_signature.erb +18 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/method_details/html/source.erb +10 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/method_details/setup.rb +9 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/method_details/text/header.erb +10 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/method_details/text/method_signature.erb +12 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/method_details/text/setup.rb +10 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/dot/child.erb +1 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/dot/dependencies.erb +3 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/dot/header.erb +6 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/dot/info.erb +14 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/dot/setup.rb +14 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/attribute_details.erb +11 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/attribute_summary.erb +8 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/box_info.erb +37 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/children.erb +8 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/constant_summary.erb +13 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/defines.erb +3 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/header.erb +5 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/inherited_attributes.erb +17 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/inherited_constants.erb +8 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/inherited_methods.erb +18 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/item_summary.erb +30 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/method_details_list.erb +9 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/method_summary.erb +14 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/methodmissing.erb +12 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/pre_docstring.erb +1 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/setup.rb +129 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/text/children.erb +10 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/text/class_meths_list.erb +8 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/text/extends.erb +8 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/text/header.erb +7 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/text/includes.erb +8 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/text/instance_meths_list.erb +8 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/module/text/setup.rb +12 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/onefile/html/files.erb +5 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/onefile/html/layout.erb +22 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/onefile/html/readme.erb +3 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/onefile/html/setup.rb +43 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/root/dot/child.erb +3 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/root/dot/setup.rb +5 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/root/html/setup.rb +1 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/html/example.erb +9 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/html/index.erb +3 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/html/option.erb +22 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/html/overload.erb +14 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/html/see.erb +8 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/html/tag.erb +20 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/setup.rb +50 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/text/example.erb +12 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/text/index.erb +1 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/text/option.erb +20 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/text/overload.erb +19 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/text/see.erb +11 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/text/tag.erb +13 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/guide/class/html/setup.rb +1 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/guide/docstring/html/setup.rb +1 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/guide/fulldoc/html/css/style.css +93 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/guide/fulldoc/html/js/app.js +33 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/guide/fulldoc/html/setup.rb +54 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/guide/layout/html/layout.erb +81 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/guide/layout/html/setup.rb +24 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/guide/method/html/header.erb +18 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/guide/method/html/setup.rb +21 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/guide/module/html/header.erb +7 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/guide/module/html/method_list.erb +5 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/guide/module/html/setup.rb +26 -0
- data/vendor/bundle/gems/yard-0.7.4/templates/guide/tags/html/setup.rb +8 -0
- data/vendor/bundle/specifications/yard-0.7.4.gemspec +28 -0
- metadata +505 -8
@@ -0,0 +1,887 @@
|
|
1
|
+
# @title What's New?
|
2
|
+
|
3
|
+
# What's New in 0.7.x?
|
4
|
+
|
5
|
+
1. **Macro support and detection of DSL methods** (0.7.0)
|
6
|
+
2. **Inherited attributes now show in HTML output** (0.7.0)
|
7
|
+
3. **The 'app' directory is now parsed by default** (0.7.0)
|
8
|
+
4. **Added support for metadata (@title, @markup) in extra files/readmes** (0.7.0)
|
9
|
+
5. **Added `yard list` command (alias for `yardoc --list`)** (0.7.0)
|
10
|
+
6. **Added Git support in `yard diff`** (0.7.0)
|
11
|
+
7. **Added `{include:file:FILENAME}` syntax** (0.7.0)
|
12
|
+
8. **Added `{render:OBJECT}` syntax to embed object docs in extra files** (0.7.0)
|
13
|
+
9. **Added improved templates API for custom CSS/JS/menus** (0.7.0)
|
14
|
+
10. **Added Ruby markup type (`-m ruby`)** (0.7.0)
|
15
|
+
11. **Added state tracking variables to Parser/Handler architecture** (0.7.0)
|
16
|
+
12. **Added before/after callbacks to SourceParser** (0.7.0)
|
17
|
+
13. **Can now use `--yardopts FILE` to specify a custom yardopts file** (0.7.0)
|
18
|
+
14. **Added new `-t guide` template for guide based docs** (0.7.0)
|
19
|
+
15. **Github Flavoured Markdown now works out-of-box** (0.7.4)
|
20
|
+
16. **Added `-m textile_strict` and `-m pre` markup types** (0.7.4)
|
21
|
+
17. **Reorganized markup types 'text' and 'none'** (0.7.4)
|
22
|
+
18. **Add support for `rb_define_alias`** (0.7.4)
|
23
|
+
|
24
|
+
## Macro support and detection of DSL methods (0.7.0)
|
25
|
+
|
26
|
+
YARD will now automatically detect class level method calls, similar to the
|
27
|
+
way it knows what an `attr_accessor` is. By simply adding documentation to
|
28
|
+
your class level declarations, YARD can automatically detect them as methods
|
29
|
+
or attributes in your class. Consider DataMapper's "property" declaration:
|
30
|
+
|
31
|
+
class Post
|
32
|
+
# @attribute
|
33
|
+
# @return [String] the title of the post
|
34
|
+
property :title, String
|
35
|
+
end
|
36
|
+
|
37
|
+
The above declaration would be created as the `Post#title`. The optional
|
38
|
+
`@attribute` tag tells YARD that the property is an "attribute", and not just
|
39
|
+
a regular method.
|
40
|
+
|
41
|
+
In addition to basic DSL method detection, YARD also supports macros to create
|
42
|
+
docstrings that can be copies to other objects; these macros can also be
|
43
|
+
"attached" to class level methods to create implicit documentation for macros.
|
44
|
+
|
45
|
+
Macros and DSL method detection are discussed in much more detail in the
|
46
|
+
{file:docs/GettingStarted.md}, so you should read about them there if you're
|
47
|
+
interested in this feature.
|
48
|
+
|
49
|
+
## Inherited attributes now show in HTML output (0.7.0)
|
50
|
+
|
51
|
+
Inherited attributes will now show up in HTML documentation using the default
|
52
|
+
template in the same manner that inherited methods do.
|
53
|
+
|
54
|
+
## The 'app' directory is now parsed by default (0.7.0)
|
55
|
+
|
56
|
+
YARD tries to follow the "It Just Works" attitude in writing developer tools,
|
57
|
+
and therefore has added `app/**/*.rb` to the default list of globs that it
|
58
|
+
searches for code in. You no longer need to create a `.yardopts` just to
|
59
|
+
list your app directory when documenting your code on rubydoc.info.
|
60
|
+
We should have done this a while ago! And don't worry, YARD still checks
|
61
|
+
lib and ext by default, too.
|
62
|
+
|
63
|
+
## Added support for metadata (@title, @markup) in extra files/readmes (0.7.0)
|
64
|
+
|
65
|
+
Extra files (READMEs, ChangeLogs, LICENSE files, and other guides) now support
|
66
|
+
metadata tags, just like docstrings in code comments. By adding @tag values
|
67
|
+
to the top of a file (no whitespace preceding it) inside of a `# comment` line,
|
68
|
+
YARD will detect and parse these tags and store it for later usage.
|
69
|
+
|
70
|
+
Tags can contain arbitrary data as well as arbitrary tag names, however the
|
71
|
+
tag names @title and @markup are reserved to specify the document title and
|
72
|
+
markup format respectively. The title will be used in the file list menu,
|
73
|
+
index page, as well as any linking of the file via the `{file:Filename}`
|
74
|
+
syntax. An example of a document with metadata would be:
|
75
|
+
|
76
|
+
# @title The Best Project Ever!
|
77
|
+
# @markup rdoc
|
78
|
+
# @author Foo Bar (custom tag, does not display in templates)
|
79
|
+
|
80
|
+
= This Project Rules
|
81
|
+
|
82
|
+
== Contents
|
83
|
+
|
84
|
+
...
|
85
|
+
|
86
|
+
Note that previous versions of YARD recommended specifying the markup of an
|
87
|
+
extra file with the `#!markup` shebang, but the `@markup` metadata tag is now
|
88
|
+
the "best practice" for specifying the markup format of an extra file.
|
89
|
+
|
90
|
+
## Added `yard list` command (alias for `yardoc --list`) (0.7.0)
|
91
|
+
|
92
|
+
The `yardoc --list` command is used to list objects that are parsed from
|
93
|
+
a codebase. This can be used to grep methods/classes in a codebase from the
|
94
|
+
command line. `yard list` now calls `yardoc --list` as a convenience command.
|
95
|
+
|
96
|
+
Note that the `yardoc --list` command may eventually be replaced by a more
|
97
|
+
feature-filled `yard list` command, so `yard list` should be used instead of
|
98
|
+
`yardoc --list` when possible.
|
99
|
+
|
100
|
+
## Added Git support in `yard diff` (0.7.0)
|
101
|
+
|
102
|
+
The `yard diff` command can now perform object diffing on git repositories.
|
103
|
+
Provide the `--git` switch to `yard diff` with 2 commit/branches like so:
|
104
|
+
|
105
|
+
$ yard diff --git HEAD~5 HEAD
|
106
|
+
Added objects:
|
107
|
+
|
108
|
+
YARD::Parser::SourceParser#contents
|
109
|
+
YARD::Parser::SourceParser#globals
|
110
|
+
...
|
111
|
+
|
112
|
+
## Added `{include:file:FILENAME}` syntax (0.7.0)
|
113
|
+
|
114
|
+
You can now use the `{include:file:FILENAME}` syntax to embed the contents
|
115
|
+
of an extra file marked up in its markup format. This syntax supports embedding
|
116
|
+
Ruby source files and performing syntax highlighting on the code.
|
117
|
+
|
118
|
+
## Added `{render:OBJECT}` syntax to embed object docs in extra files (0.7.0)
|
119
|
+
|
120
|
+
You can now use the `{render:Object}` syntax to embed the documentation
|
121
|
+
rendering of an entire object (method, class, module) inside of an extra file.
|
122
|
+
This is useful when writing non-API based guides that might require listing
|
123
|
+
a few helper methods or classes. The {file:docs/GettingStarted.md} discussed
|
124
|
+
this syntax in more detail (with example usage).
|
125
|
+
|
126
|
+
## Added improved templates API for custom CSS/JS/menus (0.7.0)
|
127
|
+
|
128
|
+
Plugin & template developers can now more easily insert custom stylesheet
|
129
|
+
or JavaScript files in their customized templates, thanks to an abstraction
|
130
|
+
of the template API. This is documented in the {docs/Templates.md} document.
|
131
|
+
In addition to custom CSS/JS, developers can also create custom menu tabs
|
132
|
+
in both the framed and non framed version of the default theme.
|
133
|
+
|
134
|
+
## Added Ruby markup type (`-m ruby`) (0.7.0)
|
135
|
+
|
136
|
+
The Ruby markup type (`-m ruby`) will now use syntax highlighting for all
|
137
|
+
formatting. This is probably not useful as a global switch, but can be used
|
138
|
+
on individual extra files using the metadata markup specification discussed
|
139
|
+
above.
|
140
|
+
|
141
|
+
## Added state tracking variables to Parser/Handler architecture (0.7.0)
|
142
|
+
|
143
|
+
The parser and handler architecture now contain state variables
|
144
|
+
{YARD::Handlers::Base#extra_state} and {YARD::Handlers::Processor#globals}
|
145
|
+
to share data across handlers and the entire processing phase. `#extra_state`
|
146
|
+
provided a place to store per-file data, while `#globals` gives the developer
|
147
|
+
access to inter-file state when parsing multiple files at once.
|
148
|
+
|
149
|
+
## Added before/after callbacks to SourceParser (0.7.0)
|
150
|
+
|
151
|
+
The {YARD::Parser::SourceParser} class can now register callbacks to execute
|
152
|
+
code before and after parsing of file globs, as well as before and after
|
153
|
+
parsing of individual files. This allows plugin developers to perform
|
154
|
+
setup/teardown (and set global state or update the {YARD::Registry}).
|
155
|
+
|
156
|
+
See the documentation for the following methods:
|
157
|
+
|
158
|
+
* {YARD::Parser::SourceParser.before_parse_list}
|
159
|
+
* {YARD::Parser::SourceParser.after_parse_list}
|
160
|
+
* {YARD::Parser::SourceParser.before_parse_file}
|
161
|
+
* {YARD::Parser::SourceParser.after_parse_file}
|
162
|
+
|
163
|
+
## Can now use `--yardopts FILE` to specify a custom yardopts file (0.7.0)
|
164
|
+
|
165
|
+
The `yardoc` command now supports `--yardopts FILE` to specify custom .yardopts
|
166
|
+
options files. This is useful if you have multiple documentation sets, such
|
167
|
+
as a guide documentation set and an API documentation set.
|
168
|
+
|
169
|
+
## Added new `-t guide` template for guide based docs (0.7.0)
|
170
|
+
|
171
|
+
You can now write guide style documentation using a new 'guide' template that
|
172
|
+
only generates documentation for extra files. You would use it in the form:
|
173
|
+
|
174
|
+
yardoc -t guide - README GettingStarted FAQ TroubleShooting LICENSE
|
175
|
+
|
176
|
+
This creates the sections for the readme, a getting started, frequently asked
|
177
|
+
questions, trouble shooting and license page.
|
178
|
+
|
179
|
+
If you need to refer to class / method documentation, you can embed API documentation
|
180
|
+
using the `{render:Object}` tag discussed above.
|
181
|
+
|
182
|
+
## Github Flavoured Markdown now works out-of-box (0.7.4)
|
183
|
+
|
184
|
+
Due to the growing popularity of Github-Flavoured-Markdown (GFM), YARD now uses
|
185
|
+
the Redcarpet library as the default Markdown formatting library with GFM fenced
|
186
|
+
code blocks enabled. This means that you can use fenced code blocks inside of
|
187
|
+
Markdown files with redcarpet installed without any extra code. Previously, users
|
188
|
+
who wanted GFM in their Markdown would have to specify `-m markdown -M redcarpet`,
|
189
|
+
but this is now the default behaviour for YARD.
|
190
|
+
|
191
|
+
Note that you can still specify language types in code blocks without GFM in YARD
|
192
|
+
by using the "!!!lang" prefix syntax. For example (plain means no markup):
|
193
|
+
|
194
|
+
!!!plain
|
195
|
+
!!!plain
|
196
|
+
Some code
|
197
|
+
block here.
|
198
|
+
|
199
|
+
The GFM version would be:
|
200
|
+
|
201
|
+
!!!plain
|
202
|
+
```plain
|
203
|
+
Some code
|
204
|
+
block here.
|
205
|
+
```
|
206
|
+
|
207
|
+
## Added `-m textile_strict` and `-m pre` markup types (0.7.4)
|
208
|
+
|
209
|
+
A new "textile_strict" markup type was added which behaves exactly like "textile"
|
210
|
+
except it enables hard breaks, so newlines behave as line breaks in the HTML
|
211
|
+
(using `<br>` tags). This option is added for users who want the classic textile
|
212
|
+
behaviour.
|
213
|
+
|
214
|
+
## Reorganized markup types 'text' and 'none' (0.7.4)
|
215
|
+
|
216
|
+
Due to the new pre markup type, the behaviour for text and none were slightly
|
217
|
+
reorganized to be more intuitive. The following behaviours now represent these
|
218
|
+
markup types:
|
219
|
+
|
220
|
+
* pre: Used to wrap text inside `<pre>` tags
|
221
|
+
* text: No formatting except for hard breaks (`<br>`) on newlines
|
222
|
+
* none: No formatting at all.
|
223
|
+
|
224
|
+
In all cases, HTML is escaped from input. If you want no HTML escaping, use the
|
225
|
+
html markup type.
|
226
|
+
|
227
|
+
## Add support for `rb_define_alias` (0.7.4)
|
228
|
+
|
229
|
+
CRuby code can now make use of the `rb_define_alias` function. Documentation
|
230
|
+
for aliases is not supported, however.
|
231
|
+
|
232
|
+
# What's New in 0.6.x?
|
233
|
+
|
234
|
+
1. **Local documentation server for RubyGems or projects (`yard server`)** (0.6.0)
|
235
|
+
2. **Groups support for method listing** (0.6.0)
|
236
|
+
3. **Single file template (`--one-file`) support** (0.6.0)
|
237
|
+
4. **`yard` CLI executable with pluggable commands** (0.6.0)
|
238
|
+
5. **`yard diff` command to object-diff two versions of a project** (0.6.0)
|
239
|
+
6. **Added `--asset` option to `yardoc`** (0.6.0)
|
240
|
+
7. **New template API** (0.6.0)
|
241
|
+
8. **HTML template now adds inline Table of Contents for extra files pages** (0.6.0)
|
242
|
+
9. **Removed `--incremental` in favour of `--use-cache`** (0.6.0)
|
243
|
+
10. **Ad-hoc tag registration via `yardoc` CLI (`--tag`, etc.)** (0.6.0)
|
244
|
+
11. **Added `--transitive-tags` to register transitive tags** (0.6.0)
|
245
|
+
12. **`yardoc` now displays RDoc-like statistics (`--no-stats` to hide)** (0.6.0)
|
246
|
+
13. **`yri` now works on constants** (0.6.0)
|
247
|
+
14. **Plugins are no longer auto-loaded (added `--plugin` switch)** (0.6.2)
|
248
|
+
15. **Added `YARD::Config` API and `~/.yard/config` configuration file** (0.6.2)
|
249
|
+
16. **Added `yard config` command to view/edit configuration** (0.6.2)
|
250
|
+
17. **Added `yard server -t` template path switch** (0.6.2)
|
251
|
+
18. **Added `YARD::Server.register_static_path` for static server assets** (0.6.2)
|
252
|
+
19. **YARD::Registry is now thread local** (0.6.5)
|
253
|
+
20. **Support for ripper gem in Ruby 1.8.7** (0.6.5)
|
254
|
+
|
255
|
+
## Local documentation server for RubyGems or projects (`yard server`) (0.6.0)
|
256
|
+
|
257
|
+
The new `yard server` command spawns a documentation server that can serve
|
258
|
+
either documentation for a local project or installed RubyGems. The server
|
259
|
+
will host (by default) on http://localhost:8808.
|
260
|
+
|
261
|
+
To serve documentation for the active project (in the current directory):
|
262
|
+
|
263
|
+
$ yard server
|
264
|
+
|
265
|
+
The server can also run in "incremental" mode for local projects. In this
|
266
|
+
situation, any modified sources will immediately be updated at each request,
|
267
|
+
ensuring that the server always serve the code exactly as it is on disk.
|
268
|
+
Documenting your code in this fashion essentially gives you an efficient a
|
269
|
+
live preview without running a separate command everytime you make a change.
|
270
|
+
To serve documentation for the active project in incremental mode:
|
271
|
+
|
272
|
+
$ yard server --reload
|
273
|
+
|
274
|
+
<span class="note">Note that in incremental mode, objects or method groupings
|
275
|
+
cannot be removed. If you have removed objects or modified groupings, you
|
276
|
+
will need to flush the cache by deleting `.yardoc` and (optionally)
|
277
|
+
restarting the server.</span>
|
278
|
+
|
279
|
+
The documentation server can also serve documentation for all installed gems
|
280
|
+
on your system, similar to `gem server`, but using YARD's functionality and
|
281
|
+
templates. To serve documentation for installed gems:
|
282
|
+
|
283
|
+
$ yard server --gems
|
284
|
+
|
285
|
+
<span class="note">Documentation for the gem need not be previously generated
|
286
|
+
at install-time. If documentation for the gem has not been generated, YARD
|
287
|
+
will do this for you on-the-fly. It is therefore possible to speed up your
|
288
|
+
gem installs by using `gem install GEMNAME --no-rdoc` without repercussion.
|
289
|
+
You can also add this switch to your `~/.gemrc` file so that you don't need
|
290
|
+
to re-type it each time. See [this link](http://stackoverflow.com/questions/1789376/how-do-i-make-no-ri-no-rdoc-the-default-for-gem-install)
|
291
|
+
for exact instructions.</span>
|
292
|
+
|
293
|
+
## Groups support for method listing (0.6.0)
|
294
|
+
|
295
|
+
You can now organize methods in a class/module into logical separated groups.
|
296
|
+
These groups apply lexically and are listed in the order they are defined.
|
297
|
+
For instance, to define a group:
|
298
|
+
|
299
|
+
# @group Rendering an Object
|
300
|
+
|
301
|
+
# Documentation here
|
302
|
+
def foo; end
|
303
|
+
|
304
|
+
# Extra documentation...
|
305
|
+
def bar; end
|
306
|
+
|
307
|
+
# @group Another Group
|
308
|
+
|
309
|
+
def aaa; end
|
310
|
+
|
311
|
+
<span class="note">Note that these `@group` and `@endgroup` declarations are
|
312
|
+
not "tags" and should always be separated with at least 1 line of whitespace
|
313
|
+
from any other documentation or code.</span>
|
314
|
+
|
315
|
+
In the above example, "Rendering an Object" will be listed with "foo" and
|
316
|
+
"bar" above "Another Group", even though "aaa" comes before the two other
|
317
|
+
methods, alphabetically. To end a group, use `@endgroup`. It is not necessary
|
318
|
+
to end a group to start a new one, only if there is an object following the
|
319
|
+
group that should not belong in any group.
|
320
|
+
|
321
|
+
# @group Group 1
|
322
|
+
|
323
|
+
def foo; end
|
324
|
+
|
325
|
+
# @endgroup
|
326
|
+
|
327
|
+
# This method should not be listed in any group
|
328
|
+
def bar; end
|
329
|
+
|
330
|
+
## Single file template (`--one-file`) support (0.6.0)
|
331
|
+
|
332
|
+
`yardoc` now has the `--one-file` option to generate a single-file template
|
333
|
+
for small scripts and libraries. In this case, any comments at the top of
|
334
|
+
the script file will be recognized as a README.
|
335
|
+
|
336
|
+
## `yard` CLI executable with pluggable commands (0.6.0)
|
337
|
+
|
338
|
+
<span class="note">The `yardoc` and `yri` commands are not deprecated and can
|
339
|
+
continue to be used. They are shortcuts for `yard doc` and `yard ri`
|
340
|
+
respectively. However, `yard-graph` has been removed.</span>
|
341
|
+
|
342
|
+
YARD now has a `yard` executable which combines all pre-existing and new
|
343
|
+
commands into a single pluggable command that is both easier to remember and
|
344
|
+
access. To get a list of commands, type `yard --help`.
|
345
|
+
|
346
|
+
If you are a plugin developer, you can create your own `yard` command by first
|
347
|
+
subclassing the {YARD::CLI::Command} class and then registering this class
|
348
|
+
with the {YARD::CLI::CommandParser.commands} list. For instance:
|
349
|
+
|
350
|
+
YARD::CLI::CommandParser.commands[:my_command] = MyCommandClass
|
351
|
+
|
352
|
+
The above line will enable the user to execute `yard my_command [options]`.
|
353
|
+
|
354
|
+
## `yard diff` command to object-diff two versions of a project (0.6.0)
|
355
|
+
|
356
|
+
One of the built-in commands that comes with the new `yard` executable is the
|
357
|
+
ability to do object-oriented diffing across multiple versions of the same
|
358
|
+
project, either by 2 versions of a gem, or 2 working copies. Just like
|
359
|
+
regular diffing tells you which lines have been added/removed in a file,
|
360
|
+
object diffing allows you to see what classes/methods/modules have been
|
361
|
+
added/removed between versions of a codebase.
|
362
|
+
|
363
|
+
For an overview of how to use `yard diff`, see [YARD Object Oriented Diffing](http://gnuu.org/2010/06/26/yard-object-oriented-diffing/).
|
364
|
+
|
365
|
+
## `yard stats` to display statistics and undocumented objects (0.6.0)
|
366
|
+
|
367
|
+
YARD now outputs the following statistics when `yard stats` is run:
|
368
|
+
|
369
|
+
Files: 125
|
370
|
+
Modules: 35 ( 4 undocumented)
|
371
|
+
Classes: 139 ( 29 undocumented)
|
372
|
+
Constants: 53 ( 20 undocumented)
|
373
|
+
Methods: 602 ( 70 undocumented)
|
374
|
+
85.16% documented
|
375
|
+
|
376
|
+
Note that these statistics are based on what you have set to show in your
|
377
|
+
documentation. If you use `@private` tags and/or do not display
|
378
|
+
private/protected methods in your documentation, these will not show up as
|
379
|
+
undocumented. Therefore this metric is contextual.
|
380
|
+
|
381
|
+
You can also specifically list all undocumented objects (and their file
|
382
|
+
locations) with the `--list-undoc` option.
|
383
|
+
|
384
|
+
## Added `--asset` option to `yardoc` (0.6.0)
|
385
|
+
|
386
|
+
The `yardoc` command can now take the `--asset` option to copy over
|
387
|
+
files/directories (recursively) to the output path after generating
|
388
|
+
documentation. The format of the argument is "from:to" where from is the
|
389
|
+
source path and to is the destination. For instance, YARD uses the following
|
390
|
+
syntax in the `.yardopts` file to copy over image assets from the
|
391
|
+
'docs/images' directory into the 'images' directory after generating HTML:
|
392
|
+
|
393
|
+
--asset docs/images:images
|
394
|
+
|
395
|
+
## New template API (0.6.0)
|
396
|
+
|
397
|
+
The new template API allows for easier insertion of sections within an
|
398
|
+
inherited template. You should no longer need to insert by index, an
|
399
|
+
error-prone process that could break when a template is updated. Instead of:
|
400
|
+
|
401
|
+
sections.last.place(:my_section).before(:another_section)
|
402
|
+
|
403
|
+
use:
|
404
|
+
|
405
|
+
sections.place(:my_section).before_any(:another_section)
|
406
|
+
|
407
|
+
You can see more in the {file:docs/Templates.md#Inserting_and_Traversing_Sections}
|
408
|
+
document.
|
409
|
+
|
410
|
+
## HTML template now adds inline Table of Contents for extra files pages (0.6.0)
|
411
|
+
|
412
|
+
A table of contents is now generated dynamically using JavaScript for extra
|
413
|
+
file pages (such as README's, or this document). It is generated based off the
|
414
|
+
headers (h1,h2,... tags) used in the document, and can be floated to the
|
415
|
+
right or listed inline on the page.
|
416
|
+
|
417
|
+
## Ad-hoc tag registration via `yardoc` CLI (`--tag`, etc.) (0.6.0)
|
418
|
+
|
419
|
+
Simple meta-data tags can now be added at the command-line and registered to
|
420
|
+
display in templates in a number of pre-defined ways. For instance, to create
|
421
|
+
a freeform text tag, use the following:
|
422
|
+
|
423
|
+
--tag my_tag_name:"My Tag Title"
|
424
|
+
|
425
|
+
You can also create a "typed" tag (similar to `@return`), a typed named tag
|
426
|
+
(similar to `@param`) as well as various combinations. The full list of
|
427
|
+
options are listed in `yardoc --help` under the "Tag Options" section.
|
428
|
+
|
429
|
+
If you wish to create a tag to store data but do not wish to show this data
|
430
|
+
in the templates, use the `--hide-tag` option to hide it from generated output:
|
431
|
+
|
432
|
+
--hide-tag my_tag_name
|
433
|
+
|
434
|
+
## Added `--transitive-tags` to register transitive tags (0.6.0)
|
435
|
+
|
436
|
+
Transitive tags are tags that apply to all descendants of a namespace (class
|
437
|
+
or module) when documented on that namespace. For instance, the `@since` tag
|
438
|
+
is a transitive tag. Applying `@since` to a class will automatically apply
|
439
|
+
`@since` to all methods in the class. Creating a `@since` tag directly on a
|
440
|
+
method will override the inherited value.
|
441
|
+
|
442
|
+
You can specify transitive tags on the command-line by using this option. Note
|
443
|
+
that the tags must already exist (built-in or created with the `--tag` option)
|
444
|
+
to be specified as transitive. If you wish to do this programmatically, see
|
445
|
+
the {YARD::Tags::Library.transitive_tags} attribute.
|
446
|
+
|
447
|
+
## `yardoc` now displays RDoc-like statistics (`--no-stats` to hide) (0.6.0)
|
448
|
+
|
449
|
+
As seen in the `yard stats` feature overview, `yardoc` displays RDoc-like
|
450
|
+
statistics when it is run. The output is equivalent to typing `yard stats`.
|
451
|
+
To hide this output when yardoc is run, use `--no-stats`.
|
452
|
+
|
453
|
+
## `yri` now works on constants (0.6.0)
|
454
|
+
|
455
|
+
Templates have now been added for text view of constants, which displays any
|
456
|
+
documentation and the constant value.
|
457
|
+
|
458
|
+
## Plugins are no longer auto-loaded (added `--plugin` switch) (0.6.2)
|
459
|
+
|
460
|
+
This is a backwards-incompatible change that disables plugins from automatically
|
461
|
+
loading when YARD starts up. From now on, you should manually declare which
|
462
|
+
plugins your project is using by adding `--plugin PLUGINNAME` to a `.yardopts`
|
463
|
+
file in the root of your project. You can also re-enable autoloaded plugins
|
464
|
+
by setting `load_plugins` to true in your configuration file (`yard config load_plugins true`,
|
465
|
+
see next item). You can also set `autoload_plugins` to a list of plugins
|
466
|
+
to be automatically loaded on start.
|
467
|
+
|
468
|
+
If you are a YARD plugin author, please make sure to inform your users of these
|
469
|
+
changes.
|
470
|
+
|
471
|
+
Note that `--plugin` switches passed on the commandline (not via `.yardopts`)
|
472
|
+
are parsed before commands are loaded, and therefore can add in new CLI commands.
|
473
|
+
|
474
|
+
## Added `YARD::Config` API and `~/.yard/config` configuration file (0.6.2)
|
475
|
+
|
476
|
+
There is a new global configuration API that can be accessed programmatically
|
477
|
+
and set via the `~/.yard/config` file. The file is encoded as a YAML file,
|
478
|
+
and looks like:
|
479
|
+
|
480
|
+
:load_plugins: false
|
481
|
+
:ignored_plugins:
|
482
|
+
- my_plugin
|
483
|
+
- my_other_plugin
|
484
|
+
:autoload_plugins:
|
485
|
+
- my_autoload_plugin
|
486
|
+
:safe_mode: false
|
487
|
+
|
488
|
+
You can also set configuration options via the command-line (see next item).
|
489
|
+
|
490
|
+
## Added `yard config` command to view/edit configuration (0.6.2)
|
491
|
+
|
492
|
+
A new `yard config` command was created to view or edit the configuration
|
493
|
+
file via the commandline.
|
494
|
+
|
495
|
+
* To view the current configuration use `yard config --list`.
|
496
|
+
* To view a specific item use `yard config ITEMNAME`
|
497
|
+
* To modify an item value use `yard config ITEMNAME VALUE`
|
498
|
+
|
499
|
+
## Added `yard server -t` template path switch (0.6.2)
|
500
|
+
|
501
|
+
The `yard server` command now accepts `-t` or `--template-path` to register
|
502
|
+
a new template path for template customization.
|
503
|
+
|
504
|
+
## Added `YARD::Server.register_static_path` for static server assets (0.6.2)
|
505
|
+
|
506
|
+
The server now supports a command to register static asset paths. If you are
|
507
|
+
extending the YARD::Server modules, make sure to register your asset paths
|
508
|
+
through this method.
|
509
|
+
|
510
|
+
## YARD::Registry is now thread local (0.6.5)
|
511
|
+
|
512
|
+
Creating a new thread will now implicitly load a new Registry that can be used
|
513
|
+
to parse and process new code objects independently of the other threads. Note
|
514
|
+
that this means you can no longer use the Registry across threads; you must
|
515
|
+
either access the threadlocal object directly, or synchronize threads to do
|
516
|
+
the processing in the initial registry's thread.
|
517
|
+
|
518
|
+
## Support for ripper gem in Ruby 1.8.7 (0.6.5)
|
519
|
+
|
520
|
+
YARD now supports the Ruby 1.8.7 port of the `ripper` gem to improve parsing
|
521
|
+
of source, both in terms of performance and functionality. When the `ripper`
|
522
|
+
gem is available, YARD will use the "new-style" handlers. You can take advantage
|
523
|
+
of this functionality by performing a `gem install ripper`.
|
524
|
+
|
525
|
+
|
526
|
+
What's New in 0.5.x?
|
527
|
+
====================
|
528
|
+
|
529
|
+
1. **Support for documenting native Ruby C code** (0.5.0)
|
530
|
+
2. **Incremental parsing and output generation with `yardoc -c`** (0.5.0, 0.5.3)
|
531
|
+
2. **Improved `yri` support to perform lookups on installed Gems** (0.5.0)
|
532
|
+
3. **Added `yardoc --default-return` and `yardoc --hide-void-return`** (0.5.0)
|
533
|
+
4. **Multiple syntax highlighting language support** (0.5.0)
|
534
|
+
5. **New .yardoc format** (0.5.0)
|
535
|
+
6. **Support for yard-doc-* gem packages as hosted .yardoc dbs** (0.5.1)
|
536
|
+
7. **Support for extra search paths in `yri`** (0.5.1)
|
537
|
+
8. **Generating HTML docs now adds frames view** (0.5.3)
|
538
|
+
9. **Tree view for class list** (0.5.3)
|
539
|
+
10. **Ability to specify markup format of extra files** (0.5.3)
|
540
|
+
11. **Keyboard shortcuts for default HTML template** (0.5.4)
|
541
|
+
|
542
|
+
Support for documenting native Ruby C code (0.5.0)
|
543
|
+
--------------------------------------------------
|
544
|
+
|
545
|
+
It is now possible to document native Ruby extensions with YARD with a new
|
546
|
+
C parser mostly borrowed from RDoc. This enables the ability to document
|
547
|
+
Ruby's core and stdlibs which will be hosted on http://yardoc.org/docs. In
|
548
|
+
addition, the .yardoc dump for the Ruby-core classes will become available
|
549
|
+
as an installable gem for yri support (see #3).
|
550
|
+
|
551
|
+
Incremental parsing and output generation with `yardoc -c` (0.5.0, 0.5.3)
|
552
|
+
-------------------------------------------------------------------------
|
553
|
+
|
554
|
+
<p class="note">Note: in 0.5.3 and above you must use <tt>--incremental</tt>
|
555
|
+
to incrementally generate HTML, otherwise only parsing will be done
|
556
|
+
incrementally but HTML will be generated with all objects. <tt>--incremental</tt>
|
557
|
+
implies <tt>-c</tt>, so no need to specify them both.</p>
|
558
|
+
|
559
|
+
YARD now compares file checksums before parsing when using `yardoc -c`
|
560
|
+
(aka `yardoc --use-cache`) to do incremental parsing of only the files that
|
561
|
+
have changed. HTML (or other output format) generation will also only be
|
562
|
+
done on the objects that were parsed from changed files (\*). This makes doing
|
563
|
+
a documentation development cycle much faster for quick HTML previews. Just
|
564
|
+
remember that when using incremental output generation, the index will not
|
565
|
+
be rebuilt and inter-file links might not hook up right, so it is best to
|
566
|
+
perform a full rebuild at the end of such previews.
|
567
|
+
|
568
|
+
(\*) Only for versions prior to 0.5.3. For 0.5.3+, use `--incremental` for
|
569
|
+
incremental HTML output.
|
570
|
+
|
571
|
+
Improved `yri` support to perform lookups on installed Gems (0.5.0)
|
572
|
+
-------------------------------------------------------------------
|
573
|
+
|
574
|
+
The `yri` executable can now perform lookups on gems that have been parsed
|
575
|
+
by yard. Therefore, to use this command you must first parse all gems with
|
576
|
+
YARD. To parse all gems, use the following command:
|
577
|
+
|
578
|
+
$ sudo yardoc --build-gems
|
579
|
+
|
580
|
+
The above command builds a .yardoc file for all installed gems in the
|
581
|
+
respective gem directory. If you do not have write access to the gem path,
|
582
|
+
YARD will write the yardoc file to `~/.yard/gem_index/NAME-VERSION.yardoc`.
|
583
|
+
|
584
|
+
Note: you can also use `--re-build-gems` to force re-parsing of all gems.
|
585
|
+
|
586
|
+
You can now do lookups with yri:
|
587
|
+
|
588
|
+
$ yri JSON
|
589
|
+
|
590
|
+
All lookups are cached to `~/.yard/yri_cache` for quicker lookups the second
|
591
|
+
time onward.
|
592
|
+
|
593
|
+
Added `yardoc --default-return` and `yardoc --hide-void-return` (0.5.0)
|
594
|
+
-----------------------------------------------------------------------
|
595
|
+
|
596
|
+
YARD defaults to displaying (Object) as the default return type of any
|
597
|
+
method that has not declared a @return tag. To customize the default
|
598
|
+
return type, you can specify:
|
599
|
+
|
600
|
+
$ yardoc --default-return 'MyDefaultType'
|
601
|
+
|
602
|
+
You can also use the empty string to list no return type.
|
603
|
+
|
604
|
+
In addition, you can use --hide-void-return to ignore any method that
|
605
|
+
defines itself as a void type by: `@return [void]`
|
606
|
+
|
607
|
+
Multiple syntax highlighting language support (0.5.0)
|
608
|
+
-----------------------------------------------------
|
609
|
+
|
610
|
+
YARD now supports the ability to specify a language type for code blocks in
|
611
|
+
docstrings. Although no actual highlighting support is added for any language
|
612
|
+
but Ruby, you can add your own support by writing your own helper method:
|
613
|
+
|
614
|
+
# Where LANGNAME is the language:
|
615
|
+
def html_syntax_highlight_LANGNAME(source)
|
616
|
+
# return highlighted HTML
|
617
|
+
end
|
618
|
+
|
619
|
+
To use this language in code blocks, prefix the block with `!!!LANGNAME`:
|
620
|
+
|
621
|
+
!!!plain
|
622
|
+
!!!python
|
623
|
+
def python_code(self):
|
624
|
+
return self
|
625
|
+
|
626
|
+
By the same token. you can now use `!!!plain` to ignore highlighting for
|
627
|
+
a specific code block.
|
628
|
+
|
629
|
+
New .yardoc format (0.5.0)
|
630
|
+
--------------------------
|
631
|
+
|
632
|
+
To make the above yri support possible, the .yardoc format was redesigned
|
633
|
+
to be a directory instead of a file. YARD can still load old .yardoc files,
|
634
|
+
but they will be automatically upgraded if re-saved. The new .yardoc format
|
635
|
+
does have a larger memory footprint, but this will hopefully be optimized
|
636
|
+
downward.
|
637
|
+
|
638
|
+
Support for yard-doc-* gem packages as hosted .yardoc dbs (0.5.1)
|
639
|
+
-----------------------------------------------------------------
|
640
|
+
|
641
|
+
You can now install special YARD plugin gems titled yard-doc-NAME to get
|
642
|
+
packaged a .yardoc database. This will enable yri lookups or building docs
|
643
|
+
for the gem without the code.
|
644
|
+
|
645
|
+
One main use for this is the `yard-doc-core` package, which enabled yri
|
646
|
+
support for Ruby core classes (stdlib coming soon as `yard-doc-stdlib`).
|
647
|
+
To install it, simply:
|
648
|
+
|
649
|
+
$ sudo gem install yard-doc-core
|
650
|
+
# now you can use:
|
651
|
+
$ yri String
|
652
|
+
|
653
|
+
This will by default install the 1.9.1 core library. To install a library
|
654
|
+
for a specific version of Ruby, use the `--version` switch on gem:
|
655
|
+
|
656
|
+
$ sudo gem install --version '= 1.8.6' yard-doc-core
|
657
|
+
|
658
|
+
Support for extra search paths in `yri` (0.5.1)
|
659
|
+
-----------------------------------------------
|
660
|
+
|
661
|
+
You can now add custom paths to non-gem .yardoc files
|
662
|
+
by adding them as newline separated paths in `~/.yard/yri_search_paths`.
|
663
|
+
|
664
|
+
Generating HTML docs now adds frames view (0.5.3)
|
665
|
+
-------------------------------------------------
|
666
|
+
|
667
|
+
`yardoc` will now create a `frames.html` file when generating HTML documents
|
668
|
+
which allows the user to view documentation inside frames, for those users who
|
669
|
+
still find frames beneficial.
|
670
|
+
|
671
|
+
Tree view for class list (0.5.3)
|
672
|
+
--------------------------------
|
673
|
+
|
674
|
+
The class list now displays as an expandable tree view to better organized an
|
675
|
+
otherwise cluttered namespace. If you properly namespace your less important
|
676
|
+
classes (like Rails timezone classes), they will not take up space in the
|
677
|
+
class list unless the user looks for them.
|
678
|
+
|
679
|
+
Ability to specify markup format of extra files (0.5.3)
|
680
|
+
-------------------------------------------------------
|
681
|
+
|
682
|
+
You can now specify the markup format of an extra file (like README) at the
|
683
|
+
top of the file with a shebang-like line:
|
684
|
+
|
685
|
+
#!textile
|
686
|
+
contents here
|
687
|
+
|
688
|
+
The above file contents will be rendered with a textile markup engine
|
689
|
+
(eg. RedCloth).
|
690
|
+
|
691
|
+
Keyboard shortcuts for default HTML template (0.5.4)
|
692
|
+
----------------------------------------------------
|
693
|
+
|
694
|
+
You can now access the "Class List", "Method List" and "File List" with the
|
695
|
+
'c', 'm' and 'f' keyboard shortcuts in the default HTML template, allowing
|
696
|
+
for keyboard-only navigation around YARD documentation.
|
697
|
+
|
698
|
+
API for registering custom parsers (0.5.6)
|
699
|
+
------------------------------------------
|
700
|
+
|
701
|
+
You can now register parsers for custom source languages by calling the
|
702
|
+
following method:
|
703
|
+
|
704
|
+
SourceParser.register_parser_type(:java, MyJavaParser, 'java')
|
705
|
+
|
706
|
+
The parser class MyJavaParser should be a subclass of {YARD::Parser::Base},
|
707
|
+
and the last argument is a set of extensions (string, array or regexp). You
|
708
|
+
can read more about registering parsers at the {YARD::Parser::SourceParser}
|
709
|
+
class documentation.
|
710
|
+
|
711
|
+
|
712
|
+
What's New in 0.4.x?
|
713
|
+
====================
|
714
|
+
|
715
|
+
1. **New templating engine and templates**
|
716
|
+
2. **yardoc `--query` argument**
|
717
|
+
3. **Greatly expanded API documentation**
|
718
|
+
4. **New plugin support**
|
719
|
+
5. **New tags (@abstract, @private)**
|
720
|
+
6. **Default rake task is now `rake yard`**
|
721
|
+
|
722
|
+
New templating engine and templates
|
723
|
+
-----------------------------------
|
724
|
+
|
725
|
+
The templates were redesigned, most notably removing the ugly frameset, adding
|
726
|
+
search to the class/method lists, simplifying the layout and making things
|
727
|
+
generally prettier. You should also notice that more tags are now visible in
|
728
|
+
the templates such as @todo, the new @abstract and @note tags and some others
|
729
|
+
that existed but were previously omitted from the generated documentation.
|
730
|
+
|
731
|
+
There is also a new templating engine (based on the tadpole templating library)
|
732
|
+
to allow for much more user customization. You can read about it in
|
733
|
+
{file:docs/Templates.md}.
|
734
|
+
|
735
|
+
yardoc `--query` argument
|
736
|
+
-------------------------
|
737
|
+
|
738
|
+
The yardoc command-line tool now supports queries to select which classes,
|
739
|
+
modules or methods to include in documentation based on their data or meta-data.
|
740
|
+
For instance, you can now generate documentation for your "public" API only by
|
741
|
+
adding "@api public" to each of your public API methods/classes and using
|
742
|
+
the following argument:
|
743
|
+
|
744
|
+
--query '@api.text == "public"'
|
745
|
+
|
746
|
+
More information on queries is in the {file:README.md}.
|
747
|
+
|
748
|
+
Greatly expanded API documentation
|
749
|
+
----------------------------------
|
750
|
+
|
751
|
+
Last release focused on many how-to and architecture documents to explain
|
752
|
+
the design of YARD, but many of the actual API classes/methods were still
|
753
|
+
left undocumented. This release marks a focus on getting YARD's own documentation
|
754
|
+
up to par so that it can serve as an official reference on the recommended
|
755
|
+
conventions to use when documenting code.
|
756
|
+
|
757
|
+
New plugin support
|
758
|
+
------------------
|
759
|
+
|
760
|
+
YARD now supports loading of plugins via RubyGems. Any gem named `yard-*` or
|
761
|
+
`yard_*` will now be loaded when YARD starts up. Note that the '-' separator
|
762
|
+
is the recommended naming scheme.
|
763
|
+
|
764
|
+
To ignore plugins, add the gem names to `~/.yard/ignored_plugins` on separate
|
765
|
+
lines (or separated by whitespace).
|
766
|
+
|
767
|
+
New tags (@abstract, @private)
|
768
|
+
------------------------------
|
769
|
+
|
770
|
+
Two new tags were added to the list of builtin meta-tags in YARD. `@abstract`
|
771
|
+
marks a class/module/method as abstract while `@private` marks an object
|
772
|
+
as "private". The latter tag is unsed in situations where an object is public
|
773
|
+
due to Ruby's own visibility limitations (constants, classes and modules
|
774
|
+
can never be private) but not actually part of your public API. You should
|
775
|
+
use this tag sparingly, as it is not meant to be an equivalent to RDoc's
|
776
|
+
`:nodoc:` tag. Remember, YARD recommends documenting private objects too.
|
777
|
+
This tag exists so that you can create a query (`--query !@private`) to
|
778
|
+
ignore all of these private objects in your documentation. You can also
|
779
|
+
use the new `--no-private` switch, which is a shortcut to the afformentioned
|
780
|
+
query. You can read more about the new tags in the {file:docs/GettingStarted.md}
|
781
|
+
guide.
|
782
|
+
|
783
|
+
Default rake task is now `rake yard`
|
784
|
+
------------------------------------
|
785
|
+
|
786
|
+
Not a big change, but anyone using the default "rake yardoc" task should
|
787
|
+
update their scripts:
|
788
|
+
|
789
|
+
[http://github.com/lsegal/yard/commit/ad38a68dd73898b06bd5d0a1912b7d815878fae0](http://github.com/lsegal/yard/commit/ad38a68dd73898b06bd5d0a1912b7d815878fae0)
|
790
|
+
|
791
|
+
|
792
|
+
What's New in 0.2.3.x?
|
793
|
+
======================
|
794
|
+
|
795
|
+
1. **Full Ruby 1.9 support**
|
796
|
+
2. **New parser code and handler API for 1.9**
|
797
|
+
3. **A new `@overload` tag**
|
798
|
+
4. **Better documentation**
|
799
|
+
5. **Template changes and bug fixes**
|
800
|
+
|
801
|
+
Full Ruby 1.9 support
|
802
|
+
---------------------
|
803
|
+
|
804
|
+
YARD's development actually focuses primarily on 1.9 from the get-go, so it is
|
805
|
+
not an afterthought. All features are first implemented for compatibility with
|
806
|
+
1.9, but of course all functionality is also tested in 1.8.x. YARD 0.2.2 was
|
807
|
+
mostly compatible with 1.9, but the new release improves and extends in certain
|
808
|
+
areas where compatibility was lacking. The new release should be fully functional
|
809
|
+
in Ruby 1.9.
|
810
|
+
|
811
|
+
New parser code and handler API for 1.9
|
812
|
+
---------------------------------------
|
813
|
+
|
814
|
+
Using Ruby 1.9 also gives YARD the advantage of using the new `ripper` library
|
815
|
+
which was added to stdlib. The ripper parser is Ruby's official answer to
|
816
|
+
projects like ParseTree and ruby2ruby. Ripper allows access to the AST as it
|
817
|
+
is parsed by the Ruby compiler. This has some large benefits over alternative
|
818
|
+
projects:
|
819
|
+
|
820
|
+
1. It is officially supported and maintained by the Ruby core team.
|
821
|
+
2. The AST is generated directly from the exact same code that drives the
|
822
|
+
compiler, meaning anything that compiles is guaranteed to generate the
|
823
|
+
equivalent AST.
|
824
|
+
3. It needs no hacks, gems or extra libs and works out of the box in 1.9.
|
825
|
+
4. It's *fast*.
|
826
|
+
|
827
|
+
Having the AST means that developers looking to extend YARD have much better
|
828
|
+
access to the parsed code than in previous versions. The only caveat is that
|
829
|
+
this library is not back-compatible to 1.8.x. Because of this, there are
|
830
|
+
subtle changes to the handler extension API that developers use to extend YARD.
|
831
|
+
Namely, there is now a standard API for 1.9 and a "legacy" API that can run in
|
832
|
+
both 1.8.x and 1.9 if needed. A developer can still use the legacy API to write
|
833
|
+
handlers that are compatible for both 1.8.x and 1.9 in one shot, or decide to
|
834
|
+
implement the handler using both APIs. Realize that the benefit of using the new
|
835
|
+
API means 1.9 users will get a 2.5x parsing speed increase over running the legacy
|
836
|
+
handlers (this is *in addition to* the ~1.8x speed increase of using YARV over MRI).
|
837
|
+
|
838
|
+
A new `@overload` tag
|
839
|
+
---------------------
|
840
|
+
|
841
|
+
The new `@overload` tag enables users to document methods that take multiple
|
842
|
+
parameters depending on context. This is basically equivalent to RDoc's call-seq,
|
843
|
+
but with a name that is more akin to the OOP concept of method overloading
|
844
|
+
that is actually being employed. Here's an example:
|
845
|
+
|
846
|
+
# @overload def to_html(html, autolink = true)
|
847
|
+
# This docstring describes the specific overload only.
|
848
|
+
# @param [String] html the HTML
|
849
|
+
# @param [Boolean] autolink whether or not to atuomatically link
|
850
|
+
# URL references
|
851
|
+
# @overload def to_html(html, opts = {})
|
852
|
+
# @param [String] html the HTML
|
853
|
+
# @param [Hash] opts any attributes to add to the root HTML node
|
854
|
+
def to_html(*args)
|
855
|
+
# split args depending on context
|
856
|
+
end
|
857
|
+
|
858
|
+
As you can see each overload takes its own nested tags (including a docstring)
|
859
|
+
as if it were its own method. This allows "virtual" overloading behaviour at
|
860
|
+
the API level to make Ruby look like overload-aware languages without caring
|
861
|
+
about the implementation details required to add the behaviour.
|
862
|
+
|
863
|
+
It is still recommended practice, however, to stay away from overloading when
|
864
|
+
possible and document the types of each method's real parameters. This allows
|
865
|
+
toolkits making use of YARD to get accurate type information for your methods,
|
866
|
+
for instance, allowing IDE autocompletion. There are, of course, situations
|
867
|
+
where overload just makes more sense.
|
868
|
+
|
869
|
+
Better documentation
|
870
|
+
--------------------
|
871
|
+
|
872
|
+
The first few iterations of YARD were very much a proof of concept. Few people
|
873
|
+
were paying attention and it was really just pieced together to see what was
|
874
|
+
feasible. Now that YARD is gaining interest, there are many developers that
|
875
|
+
want to take advantage of its extensibility support to do some really cool stuff.
|
876
|
+
Considerable time was spent for this release documenting, at a high level, what
|
877
|
+
YARD can do and how it can be done. Expect this documentation to be extended and
|
878
|
+
improved in future releases.
|
879
|
+
|
880
|
+
Template changes and bug fixes
|
881
|
+
------------------------------
|
882
|
+
|
883
|
+
Of course no new release would be complete without fixing the old broken code.
|
884
|
+
Some tags existed but were not present in generated documentation. The templates
|
885
|
+
were mostly fixed to add the major omitted tags. In addition to template adjustments,
|
886
|
+
many parsing bugs were ironed out to make YARD much more stable with existing projects
|
887
|
+
(Rails, HAML, Sinatra, Ramaze, etc.).
|