deg-yard 0.8.7.1
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/.travis.yml +39 -0
- data/.yardopts +25 -0
- data/.yardopts_guide +19 -0
- data/.yardopts_i18n +22 -0
- data/Gemfile +35 -0
- data/LEGAL +66 -0
- data/LICENSE +22 -0
- data/README.md +609 -0
- data/Rakefile +66 -0
- data/benchmarks/builtins_vs_eval.rb +23 -0
- data/benchmarks/concat_vs_join.rb +12 -0
- data/benchmarks/erb_vs_erubis.rb +53 -0
- data/benchmarks/format_args.rb +46 -0
- data/benchmarks/generation.rb +37 -0
- data/benchmarks/marshal_vs_dbm.rb +63 -0
- data/benchmarks/parsing.rb +46 -0
- data/benchmarks/pathname_vs_string.rb +50 -0
- data/benchmarks/rdoc_vs_yardoc.rb +10 -0
- data/benchmarks/registry_store_types.rb +48 -0
- data/benchmarks/ri_vs_yri.rb +18 -0
- data/benchmarks/ripper_parser.rb +12 -0
- data/benchmarks/splat_vs_flatten.rb +12 -0
- data/benchmarks/template_erb.rb +22 -0
- data/benchmarks/template_format.rb +6 -0
- data/benchmarks/template_profile.rb +17 -0
- data/benchmarks/yri_cache.rb +19 -0
- data/bin/yard +12 -0
- data/bin/yardoc +12 -0
- data/bin/yri +12 -0
- data/docs/CodeObjects.md +115 -0
- data/docs/GettingStarted.md +592 -0
- data/docs/Handlers.md +152 -0
- data/docs/Overview.md +61 -0
- data/docs/Parser.md +191 -0
- data/docs/Tags.md +282 -0
- data/docs/TagsArch.md +123 -0
- data/docs/Templates.md +496 -0
- data/docs/WhatsNew.md +1244 -0
- data/docs/images/code-objects-class-diagram.png +0 -0
- data/docs/images/handlers-class-diagram.png +0 -0
- data/docs/images/overview-class-diagram.png +0 -0
- data/docs/images/parser-class-diagram.png +0 -0
- data/docs/images/tags-class-diagram.png +0 -0
- data/docs/templates/default/fulldoc/html/full_list_tag.erb +7 -0
- data/docs/templates/default/fulldoc/html/setup.rb +6 -0
- data/docs/templates/default/layout/html/setup.rb +8 -0
- data/docs/templates/default/layout/html/tag_list.erb +11 -0
- data/docs/templates/default/yard_tags/html/list.erb +18 -0
- data/docs/templates/default/yard_tags/html/setup.rb +27 -0
- data/docs/templates/plugin.rb +65 -0
- data/lib/rubygems_plugin.rb +4 -0
- data/lib/yard/autoload.rb +290 -0
- data/lib/yard/cli/command.rb +84 -0
- data/lib/yard/cli/command_parser.rb +92 -0
- data/lib/yard/cli/config.rb +136 -0
- data/lib/yard/cli/diff.rb +270 -0
- data/lib/yard/cli/display.rb +68 -0
- data/lib/yard/cli/gems.rb +83 -0
- data/lib/yard/cli/graph.rb +126 -0
- data/lib/yard/cli/help.rb +18 -0
- data/lib/yard/cli/i18n.rb +69 -0
- data/lib/yard/cli/list.rb +22 -0
- data/lib/yard/cli/markup_types.rb +33 -0
- data/lib/yard/cli/server.rb +253 -0
- data/lib/yard/cli/stats.rb +213 -0
- data/lib/yard/cli/yardoc.rb +752 -0
- data/lib/yard/cli/yardopts_command.rb +109 -0
- data/lib/yard/cli/yri.rb +214 -0
- data/lib/yard/code_objects/base.rb +585 -0
- data/lib/yard/code_objects/class_object.rb +143 -0
- data/lib/yard/code_objects/class_variable_object.rb +8 -0
- data/lib/yard/code_objects/constant_object.rb +13 -0
- data/lib/yard/code_objects/extended_method_object.rb +23 -0
- data/lib/yard/code_objects/extra_file_object.rb +128 -0
- data/lib/yard/code_objects/macro_object.rb +172 -0
- data/lib/yard/code_objects/method_object.rb +191 -0
- data/lib/yard/code_objects/module_object.rb +18 -0
- data/lib/yard/code_objects/namespace_object.rb +200 -0
- data/lib/yard/code_objects/proxy.rb +258 -0
- data/lib/yard/code_objects/root_object.rb +17 -0
- data/lib/yard/config.rb +269 -0
- data/lib/yard/core_ext/array.rb +15 -0
- data/lib/yard/core_ext/file.rb +65 -0
- data/lib/yard/core_ext/hash.rb +15 -0
- data/lib/yard/core_ext/insertion.rb +60 -0
- data/lib/yard/core_ext/module.rb +19 -0
- data/lib/yard/core_ext/string.rb +67 -0
- data/lib/yard/core_ext/symbol_hash.rb +73 -0
- data/lib/yard/docstring.rb +362 -0
- data/lib/yard/docstring_parser.rb +321 -0
- data/lib/yard/globals.rb +18 -0
- data/lib/yard/handlers/base.rb +597 -0
- data/lib/yard/handlers/c/alias_handler.rb +15 -0
- data/lib/yard/handlers/c/attribute_handler.rb +13 -0
- data/lib/yard/handlers/c/base.rb +110 -0
- data/lib/yard/handlers/c/class_handler.rb +26 -0
- data/lib/yard/handlers/c/constant_handler.rb +12 -0
- data/lib/yard/handlers/c/handler_methods.rb +166 -0
- data/lib/yard/handlers/c/init_handler.rb +18 -0
- data/lib/yard/handlers/c/method_handler.rb +35 -0
- data/lib/yard/handlers/c/mixin_handler.rb +13 -0
- data/lib/yard/handlers/c/module_handler.rb +16 -0
- data/lib/yard/handlers/c/override_comment_handler.rb +30 -0
- data/lib/yard/handlers/c/path_handler.rb +10 -0
- data/lib/yard/handlers/c/struct_handler.rb +12 -0
- data/lib/yard/handlers/c/symbol_handler.rb +7 -0
- data/lib/yard/handlers/processor.rb +201 -0
- data/lib/yard/handlers/ruby/alias_handler.rb +41 -0
- data/lib/yard/handlers/ruby/attribute_handler.rb +82 -0
- data/lib/yard/handlers/ruby/base.rb +164 -0
- data/lib/yard/handlers/ruby/class_condition_handler.rb +86 -0
- data/lib/yard/handlers/ruby/class_handler.rb +121 -0
- data/lib/yard/handlers/ruby/class_variable_handler.rb +16 -0
- data/lib/yard/handlers/ruby/comment_handler.rb +9 -0
- data/lib/yard/handlers/ruby/constant_handler.rb +45 -0
- data/lib/yard/handlers/ruby/dsl_handler.rb +14 -0
- data/lib/yard/handlers/ruby/dsl_handler_methods.rb +77 -0
- data/lib/yard/handlers/ruby/exception_handler.rb +26 -0
- data/lib/yard/handlers/ruby/extend_handler.rb +21 -0
- data/lib/yard/handlers/ruby/legacy/alias_handler.rb +34 -0
- data/lib/yard/handlers/ruby/legacy/attribute_handler.rb +60 -0
- data/lib/yard/handlers/ruby/legacy/base.rb +250 -0
- data/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +83 -0
- data/lib/yard/handlers/ruby/legacy/class_handler.rb +111 -0
- data/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +14 -0
- data/lib/yard/handlers/ruby/legacy/comment_handler.rb +9 -0
- data/lib/yard/handlers/ruby/legacy/constant_handler.rb +28 -0
- data/lib/yard/handlers/ruby/legacy/dsl_handler.rb +16 -0
- data/lib/yard/handlers/ruby/legacy/exception_handler.rb +12 -0
- data/lib/yard/handlers/ruby/legacy/extend_handler.rb +20 -0
- data/lib/yard/handlers/ruby/legacy/method_handler.rb +85 -0
- data/lib/yard/handlers/ruby/legacy/mixin_handler.rb +39 -0
- data/lib/yard/handlers/ruby/legacy/module_function_handler.rb +18 -0
- data/lib/yard/handlers/ruby/legacy/module_handler.rb +11 -0
- data/lib/yard/handlers/ruby/legacy/private_constant_handler.rb +21 -0
- data/lib/yard/handlers/ruby/legacy/visibility_handler.rb +16 -0
- data/lib/yard/handlers/ruby/legacy/yield_handler.rb +28 -0
- data/lib/yard/handlers/ruby/method_condition_handler.rb +8 -0
- data/lib/yard/handlers/ruby/method_handler.rb +92 -0
- data/lib/yard/handlers/ruby/mixin_handler.rb +36 -0
- data/lib/yard/handlers/ruby/module_function_handler.rb +26 -0
- data/lib/yard/handlers/ruby/module_handler.rb +11 -0
- data/lib/yard/handlers/ruby/private_constant_handler.rb +36 -0
- data/lib/yard/handlers/ruby/struct_handler_methods.rb +141 -0
- data/lib/yard/handlers/ruby/visibility_handler.rb +24 -0
- data/lib/yard/handlers/ruby/yield_handler.rb +30 -0
- data/lib/yard/i18n/locale.rb +74 -0
- data/lib/yard/i18n/message.rb +56 -0
- data/lib/yard/i18n/messages.rb +55 -0
- data/lib/yard/i18n/pot_generator.rb +280 -0
- data/lib/yard/i18n/text.rb +173 -0
- data/lib/yard/logging.rb +190 -0
- data/lib/yard/options.rb +216 -0
- data/lib/yard/parser/base.rb +56 -0
- data/lib/yard/parser/c/c_parser.rb +231 -0
- data/lib/yard/parser/c/comment_parser.rb +131 -0
- data/lib/yard/parser/c/statement.rb +63 -0
- data/lib/yard/parser/ruby/ast_node.rb +496 -0
- data/lib/yard/parser/ruby/legacy/ruby_lex.rb +1378 -0
- data/lib/yard/parser/ruby/legacy/ruby_parser.rb +31 -0
- data/lib/yard/parser/ruby/legacy/statement.rb +65 -0
- data/lib/yard/parser/ruby/legacy/statement_list.rb +384 -0
- data/lib/yard/parser/ruby/legacy/token_list.rb +71 -0
- data/lib/yard/parser/ruby/ruby_parser.rb +625 -0
- data/lib/yard/parser/source_parser.rb +517 -0
- data/lib/yard/rake/yardoc_task.rb +74 -0
- data/lib/yard/registry.rb +438 -0
- data/lib/yard/registry_store.rb +319 -0
- data/lib/yard/rubygems/backports/LICENSE.txt +57 -0
- data/lib/yard/rubygems/backports/MIT.txt +20 -0
- data/lib/yard/rubygems/backports/gem.rb +9 -0
- data/lib/yard/rubygems/backports/source_index.rb +370 -0
- data/lib/yard/rubygems/backports.rb +8 -0
- data/lib/yard/rubygems/doc_manager.rb +88 -0
- data/lib/yard/rubygems/specification.rb +41 -0
- data/lib/yard/serializers/base.rb +80 -0
- data/lib/yard/serializers/file_system_serializer.rb +90 -0
- data/lib/yard/serializers/process_serializer.rb +24 -0
- data/lib/yard/serializers/stdout_serializer.rb +32 -0
- data/lib/yard/serializers/yardoc_serializer.rb +124 -0
- data/lib/yard/server/adapter.rb +100 -0
- data/lib/yard/server/commands/base.rb +192 -0
- data/lib/yard/server/commands/display_file_command.rb +24 -0
- data/lib/yard/server/commands/display_object_command.rb +58 -0
- data/lib/yard/server/commands/frames_command.rb +15 -0
- data/lib/yard/server/commands/library_command.rb +148 -0
- data/lib/yard/server/commands/library_index_command.rb +24 -0
- data/lib/yard/server/commands/list_command.rb +24 -0
- data/lib/yard/server/commands/search_command.rb +78 -0
- data/lib/yard/server/commands/static_file_command.rb +57 -0
- data/lib/yard/server/doc_server_helper.rb +76 -0
- data/lib/yard/server/doc_server_serializer.rb +33 -0
- data/lib/yard/server/library_version.rb +227 -0
- data/lib/yard/server/rack_adapter.rb +88 -0
- data/lib/yard/server/router.rb +176 -0
- data/lib/yard/server/static_caching.rb +45 -0
- data/lib/yard/server/templates/default/fulldoc/html/css/custom.css +78 -0
- data/lib/yard/server/templates/default/fulldoc/html/images/processing.gif +0 -0
- data/lib/yard/server/templates/default/fulldoc/html/js/autocomplete.js +12 -0
- data/lib/yard/server/templates/default/layout/html/breadcrumb.erb +46 -0
- data/lib/yard/server/templates/default/layout/html/script_setup.erb +8 -0
- data/lib/yard/server/templates/default/layout/html/setup.rb +7 -0
- data/lib/yard/server/templates/default/method_details/html/permalink.erb +4 -0
- data/lib/yard/server/templates/default/method_details/html/setup.rb +4 -0
- data/lib/yard/server/templates/doc_server/library_list/html/contents.erb +13 -0
- data/lib/yard/server/templates/doc_server/library_list/html/headers.erb +26 -0
- data/lib/yard/server/templates/doc_server/library_list/html/library_list.erb +12 -0
- data/lib/yard/server/templates/doc_server/library_list/html/setup.rb +3 -0
- data/lib/yard/server/templates/doc_server/library_list/html/title.erb +2 -0
- data/lib/yard/server/templates/doc_server/processing/html/processing.erb +51 -0
- data/lib/yard/server/templates/doc_server/processing/html/setup.rb +3 -0
- data/lib/yard/server/templates/doc_server/search/html/search.erb +18 -0
- data/lib/yard/server/templates/doc_server/search/html/setup.rb +8 -0
- data/lib/yard/server/webrick_adapter.rb +43 -0
- data/lib/yard/server.rb +11 -0
- data/lib/yard/tags/default_factory.rb +176 -0
- data/lib/yard/tags/default_tag.rb +12 -0
- data/lib/yard/tags/directives.rb +599 -0
- data/lib/yard/tags/library.rb +630 -0
- data/lib/yard/tags/option_tag.rb +12 -0
- data/lib/yard/tags/overload_tag.rb +66 -0
- data/lib/yard/tags/ref_tag.rb +7 -0
- data/lib/yard/tags/ref_tag_list.rb +27 -0
- data/lib/yard/tags/tag.rb +57 -0
- data/lib/yard/tags/tag_format_error.rb +6 -0
- data/lib/yard/templates/engine.rb +185 -0
- data/lib/yard/templates/erb_cache.rb +22 -0
- data/lib/yard/templates/helpers/base_helper.rb +212 -0
- data/lib/yard/templates/helpers/filter_helper.rb +26 -0
- data/lib/yard/templates/helpers/html_helper.rb +599 -0
- data/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +59 -0
- data/lib/yard/templates/helpers/markup/rdoc_markdown.rb +22 -0
- data/lib/yard/templates/helpers/markup/rdoc_markup.rb +106 -0
- data/lib/yard/templates/helpers/markup_helper.rb +169 -0
- data/lib/yard/templates/helpers/method_helper.rb +74 -0
- data/lib/yard/templates/helpers/module_helper.rb +19 -0
- data/lib/yard/templates/helpers/text_helper.rb +95 -0
- data/lib/yard/templates/helpers/uml_helper.rb +46 -0
- data/lib/yard/templates/section.rb +106 -0
- data/lib/yard/templates/template.rb +407 -0
- data/lib/yard/templates/template_options.rb +88 -0
- data/lib/yard/verifier.rb +148 -0
- data/lib/yard/version.rb +3 -0
- data/lib/yard.rb +71 -0
- data/po/ja.po +31118 -0
- data/spec/cli/command_parser_spec.rb +43 -0
- data/spec/cli/command_spec.rb +36 -0
- data/spec/cli/config_spec.rb +92 -0
- data/spec/cli/diff_spec.rb +260 -0
- data/spec/cli/display_spec.rb +30 -0
- data/spec/cli/gems_spec.rb +81 -0
- data/spec/cli/graph_spec.rb +17 -0
- data/spec/cli/help_spec.rb +22 -0
- data/spec/cli/i18n_spec.rb +111 -0
- data/spec/cli/list_spec.rb +8 -0
- data/spec/cli/markup_types_spec.rb +22 -0
- data/spec/cli/server_spec.rb +327 -0
- data/spec/cli/stats_spec.rb +90 -0
- data/spec/cli/yardoc_spec.rb +804 -0
- data/spec/cli/yri_spec.rb +99 -0
- data/spec/code_objects/base_spec.rb +438 -0
- data/spec/code_objects/class_object_spec.rb +225 -0
- data/spec/code_objects/code_object_list_spec.rb +33 -0
- data/spec/code_objects/constants_spec.rb +82 -0
- data/spec/code_objects/extra_file_object_spec.rb +147 -0
- data/spec/code_objects/macro_object_spec.rb +148 -0
- data/spec/code_objects/method_object_spec.rb +175 -0
- data/spec/code_objects/module_object_spec.rb +141 -0
- data/spec/code_objects/namespace_object_spec.rb +170 -0
- data/spec/code_objects/proxy_spec.rb +140 -0
- data/spec/code_objects/spec_helper.rb +3 -0
- data/spec/config_spec.rb +176 -0
- data/spec/core_ext/array_spec.rb +14 -0
- data/spec/core_ext/file_spec.rb +68 -0
- data/spec/core_ext/hash_spec.rb +14 -0
- data/spec/core_ext/insertion_spec.rb +37 -0
- data/spec/core_ext/module_spec.rb +15 -0
- data/spec/core_ext/string_spec.rb +42 -0
- data/spec/core_ext/symbol_hash_spec.rb +86 -0
- data/spec/docstring_parser_spec.rb +228 -0
- data/spec/docstring_spec.rb +335 -0
- data/spec/handlers/alias_handler_spec.rb +80 -0
- data/spec/handlers/attribute_handler_spec.rb +94 -0
- data/spec/handlers/base_spec.rb +206 -0
- data/spec/handlers/c/alias_handler_spec.rb +33 -0
- data/spec/handlers/c/attribute_handler_spec.rb +40 -0
- data/spec/handlers/c/class_handler_spec.rb +63 -0
- data/spec/handlers/c/constant_handler_spec.rb +68 -0
- data/spec/handlers/c/init_handler_spec.rb +47 -0
- data/spec/handlers/c/method_handler_spec.rb +229 -0
- data/spec/handlers/c/mixin_handler_spec.rb +27 -0
- data/spec/handlers/c/module_handler_spec.rb +38 -0
- data/spec/handlers/c/override_comment_handler_spec.rb +46 -0
- data/spec/handlers/c/path_handler_spec.rb +35 -0
- data/spec/handlers/c/spec_helper.rb +13 -0
- data/spec/handlers/c/struct_handler_spec.rb +15 -0
- data/spec/handlers/class_condition_handler_spec.rb +67 -0
- data/spec/handlers/class_handler_spec.rb +246 -0
- data/spec/handlers/class_variable_handler_spec.rb +11 -0
- data/spec/handlers/constant_handler_spec.rb +64 -0
- data/spec/handlers/dsl_handler_spec.rb +197 -0
- data/spec/handlers/examples/alias_handler_001.rb.txt +44 -0
- data/spec/handlers/examples/attribute_handler_001.rb.txt +32 -0
- data/spec/handlers/examples/class_condition_handler_001.rb.txt +69 -0
- data/spec/handlers/examples/class_handler_001.rb.txt +120 -0
- data/spec/handlers/examples/class_variable_handler_001.rb.txt +10 -0
- data/spec/handlers/examples/constant_handler_001.rb.txt +25 -0
- data/spec/handlers/examples/dsl_handler_001.rb.txt +125 -0
- data/spec/handlers/examples/exception_handler_001.rb.txt +59 -0
- data/spec/handlers/examples/extend_handler_001.rb.txt +16 -0
- data/spec/handlers/examples/method_condition_handler_001.rb.txt +10 -0
- data/spec/handlers/examples/method_handler_001.rb.txt +126 -0
- data/spec/handlers/examples/mixin_handler_001.rb.txt +37 -0
- data/spec/handlers/examples/module_handler_001.rb.txt +29 -0
- data/spec/handlers/examples/private_constant_handler_001.rb.txt +8 -0
- data/spec/handlers/examples/process_handler_001.rb.txt +11 -0
- data/spec/handlers/examples/visibility_handler_001.rb.txt +32 -0
- data/spec/handlers/examples/yield_handler_001.rb.txt +54 -0
- data/spec/handlers/exception_handler_spec.rb +48 -0
- data/spec/handlers/extend_handler_spec.rb +23 -0
- data/spec/handlers/legacy_base_spec.rb +128 -0
- data/spec/handlers/method_condition_handler_spec.rb +14 -0
- data/spec/handlers/method_handler_spec.rb +184 -0
- data/spec/handlers/mixin_handler_spec.rb +55 -0
- data/spec/handlers/module_function_handler_spec.rb +105 -0
- data/spec/handlers/module_handler_spec.rb +34 -0
- data/spec/handlers/private_constant_handler_spec.rb +24 -0
- data/spec/handlers/processor_spec.rb +34 -0
- data/spec/handlers/ruby/base_spec.rb +94 -0
- data/spec/handlers/ruby/legacy/base_spec.rb +82 -0
- data/spec/handlers/spec_helper.rb +33 -0
- data/spec/handlers/visibility_handler_spec.rb +39 -0
- data/spec/handlers/yield_handler_spec.rb +51 -0
- data/spec/i18n/locale_spec.rb +68 -0
- data/spec/i18n/message_spec.rb +52 -0
- data/spec/i18n/messages_spec.rb +67 -0
- data/spec/i18n/pot_generator_spec.rb +262 -0
- data/spec/i18n/text_spec.rb +180 -0
- data/spec/logging_spec.rb +35 -0
- data/spec/options_spec.rb +171 -0
- data/spec/parser/base_spec.rb +24 -0
- data/spec/parser/c_parser_spec.rb +171 -0
- data/spec/parser/examples/array.c.txt +3887 -0
- data/spec/parser/examples/example1.rb.txt +8 -0
- data/spec/parser/examples/extrafile.c.txt +8 -0
- data/spec/parser/examples/multifile.c.txt +22 -0
- data/spec/parser/examples/override.c.txt +424 -0
- data/spec/parser/examples/parse_in_order_001.rb.txt +2 -0
- data/spec/parser/examples/parse_in_order_002.rb.txt +2 -0
- data/spec/parser/examples/tag_handler_001.rb.txt +8 -0
- data/spec/parser/ruby/ast_node_spec.rb +33 -0
- data/spec/parser/ruby/legacy/statement_list_spec.rb +299 -0
- data/spec/parser/ruby/legacy/token_list_spec.rb +77 -0
- data/spec/parser/ruby/ruby_parser_spec.rb +334 -0
- data/spec/parser/source_parser_spec.rb +717 -0
- data/spec/parser/tag_parsing_spec.rb +18 -0
- data/spec/rake/yardoc_task_spec.rb +101 -0
- data/spec/registry_spec.rb +393 -0
- data/spec/registry_store_spec.rb +315 -0
- data/spec/rubygems/doc_manager_spec.rb +112 -0
- data/spec/serializers/data/serialized_yardoc/checksums +1 -0
- data/spec/serializers/data/serialized_yardoc/objects/Foo/bar_i.dat +0 -0
- data/spec/serializers/data/serialized_yardoc/objects/Foo/baz_i.dat +0 -0
- data/spec/serializers/data/serialized_yardoc/objects/Foo.dat +0 -0
- data/spec/serializers/data/serialized_yardoc/objects/root.dat +0 -0
- data/spec/serializers/data/serialized_yardoc/proxy_types +2 -0
- data/spec/serializers/file_system_serializer_spec.rb +124 -0
- data/spec/serializers/spec_helper.rb +2 -0
- data/spec/serializers/yardoc_serializer_spec.rb +46 -0
- data/spec/server/adapter_spec.rb +38 -0
- data/spec/server/commands/base_spec.rb +87 -0
- data/spec/server/commands/library_command_spec.rb +39 -0
- data/spec/server/commands/static_file_command_spec.rb +84 -0
- data/spec/server/doc_server_helper_spec.rb +53 -0
- data/spec/server/doc_server_serializer_spec.rb +45 -0
- data/spec/server/rack_adapter_spec.rb +20 -0
- data/spec/server/router_spec.rb +122 -0
- data/spec/server/spec_helper.rb +17 -0
- data/spec/server/static_caching_spec.rb +39 -0
- data/spec/server/webrick_servlet_spec.rb +20 -0
- data/spec/server_spec.rb +10 -0
- data/spec/spec_helper.rb +128 -0
- data/spec/tags/default_factory_spec.rb +152 -0
- data/spec/tags/default_tag_spec.rb +11 -0
- data/spec/tags/directives_spec.rb +453 -0
- data/spec/tags/library_spec.rb +34 -0
- data/spec/tags/overload_tag_spec.rb +53 -0
- data/spec/tags/ref_tag_list_spec.rb +53 -0
- data/spec/templates/class_spec.rb +44 -0
- data/spec/templates/constant_spec.rb +40 -0
- data/spec/templates/engine_spec.rb +121 -0
- data/spec/templates/examples/class001.html +280 -0
- data/spec/templates/examples/class001.txt +36 -0
- data/spec/templates/examples/class002.html +35 -0
- data/spec/templates/examples/constant001.txt +25 -0
- data/spec/templates/examples/constant002.txt +7 -0
- data/spec/templates/examples/constant003.txt +11 -0
- data/spec/templates/examples/method001.html +130 -0
- data/spec/templates/examples/method001.txt +35 -0
- data/spec/templates/examples/method002.html +86 -0
- data/spec/templates/examples/method002.txt +20 -0
- data/spec/templates/examples/method003.html +159 -0
- data/spec/templates/examples/method003.txt +45 -0
- data/spec/templates/examples/method004.html +44 -0
- data/spec/templates/examples/method004.txt +10 -0
- data/spec/templates/examples/method005.html +99 -0
- data/spec/templates/examples/method005.txt +33 -0
- data/spec/templates/examples/module001.dot +33 -0
- data/spec/templates/examples/module001.html +825 -0
- data/spec/templates/examples/module001.txt +33 -0
- data/spec/templates/examples/module002.html +318 -0
- data/spec/templates/examples/module003.html +185 -0
- data/spec/templates/examples/module004.html +387 -0
- data/spec/templates/examples/tag001.txt +82 -0
- data/spec/templates/helpers/base_helper_spec.rb +175 -0
- data/spec/templates/helpers/html_helper_spec.rb +612 -0
- data/spec/templates/helpers/html_syntax_highlight_helper_spec.rb +48 -0
- data/spec/templates/helpers/markup/rdoc_markup_spec.rb +93 -0
- data/spec/templates/helpers/markup_helper_spec.rb +135 -0
- data/spec/templates/helpers/method_helper_spec.rb +82 -0
- data/spec/templates/helpers/shared_signature_examples.rb +123 -0
- data/spec/templates/helpers/text_helper_spec.rb +44 -0
- data/spec/templates/method_spec.rb +102 -0
- data/spec/templates/module_spec.rb +181 -0
- data/spec/templates/onefile_spec.rb +64 -0
- data/spec/templates/section_spec.rb +146 -0
- data/spec/templates/spec_helper.rb +73 -0
- data/spec/templates/tag_spec.rb +51 -0
- data/spec/templates/template_spec.rb +409 -0
- data/spec/verifier_spec.rb +106 -0
- data/templates/default/class/dot/setup.rb +6 -0
- data/templates/default/class/dot/superklass.erb +3 -0
- data/templates/default/class/html/constructor_details.erb +8 -0
- data/templates/default/class/html/setup.rb +1 -0
- data/templates/default/class/html/subclasses.erb +4 -0
- data/templates/default/class/setup.rb +36 -0
- data/templates/default/class/text/setup.rb +11 -0
- data/templates/default/class/text/subclasses.erb +5 -0
- data/templates/default/constant/text/header.erb +11 -0
- data/templates/default/constant/text/setup.rb +3 -0
- data/templates/default/docstring/html/abstract.erb +4 -0
- data/templates/default/docstring/html/deprecated.erb +1 -0
- data/templates/default/docstring/html/index.erb +5 -0
- data/templates/default/docstring/html/note.erb +6 -0
- data/templates/default/docstring/html/private.erb +4 -0
- data/templates/default/docstring/html/returns_void.erb +1 -0
- data/templates/default/docstring/html/text.erb +1 -0
- data/templates/default/docstring/html/todo.erb +6 -0
- data/templates/default/docstring/setup.rb +51 -0
- data/templates/default/docstring/text/abstract.erb +2 -0
- data/templates/default/docstring/text/deprecated.erb +2 -0
- data/templates/default/docstring/text/index.erb +2 -0
- data/templates/default/docstring/text/note.erb +4 -0
- data/templates/default/docstring/text/private.erb +2 -0
- data/templates/default/docstring/text/returns_void.erb +1 -0
- data/templates/default/docstring/text/text.erb +1 -0
- data/templates/default/docstring/text/todo.erb +4 -0
- data/templates/default/fulldoc/html/css/common.css +1 -0
- data/templates/default/fulldoc/html/css/full_list.css +57 -0
- data/templates/default/fulldoc/html/css/style.css +338 -0
- data/templates/default/fulldoc/html/frames.erb +28 -0
- data/templates/default/fulldoc/html/full_list.erb +40 -0
- data/templates/default/fulldoc/html/full_list_class.erb +2 -0
- data/templates/default/fulldoc/html/full_list_file.erb +5 -0
- data/templates/default/fulldoc/html/full_list_method.erb +8 -0
- data/templates/default/fulldoc/html/js/app.js +214 -0
- data/templates/default/fulldoc/html/js/full_list.js +178 -0
- data/templates/default/fulldoc/html/js/jquery.js +4 -0
- data/templates/default/fulldoc/html/setup.rb +199 -0
- data/templates/default/layout/dot/header.erb +6 -0
- data/templates/default/layout/dot/setup.rb +14 -0
- data/templates/default/layout/html/breadcrumb.erb +13 -0
- data/templates/default/layout/html/files.erb +11 -0
- data/templates/default/layout/html/footer.erb +5 -0
- data/templates/default/layout/html/headers.erb +14 -0
- data/templates/default/layout/html/index.erb +2 -0
- data/templates/default/layout/html/layout.erb +20 -0
- data/templates/default/layout/html/listing.erb +4 -0
- data/templates/default/layout/html/objects.erb +32 -0
- data/templates/default/layout/html/script_setup.erb +5 -0
- data/templates/default/layout/html/search.erb +8 -0
- data/templates/default/layout/html/setup.rb +71 -0
- data/templates/default/method/html/header.erb +16 -0
- data/templates/default/method/setup.rb +3 -0
- data/templates/default/method/text/header.erb +1 -0
- data/templates/default/method_details/html/header.erb +3 -0
- data/templates/default/method_details/html/method_signature.erb +25 -0
- data/templates/default/method_details/html/source.erb +10 -0
- data/templates/default/method_details/setup.rb +10 -0
- data/templates/default/method_details/text/header.erb +10 -0
- data/templates/default/method_details/text/method_signature.erb +12 -0
- data/templates/default/method_details/text/setup.rb +10 -0
- data/templates/default/module/dot/child.erb +1 -0
- data/templates/default/module/dot/dependencies.erb +3 -0
- data/templates/default/module/dot/header.erb +6 -0
- data/templates/default/module/dot/info.erb +14 -0
- data/templates/default/module/dot/setup.rb +14 -0
- data/templates/default/module/html/attribute_details.erb +10 -0
- data/templates/default/module/html/attribute_summary.erb +8 -0
- data/templates/default/module/html/box_info.erb +37 -0
- data/templates/default/module/html/children.erb +8 -0
- data/templates/default/module/html/constant_summary.erb +13 -0
- data/templates/default/module/html/defines.erb +3 -0
- data/templates/default/module/html/header.erb +5 -0
- data/templates/default/module/html/inherited_attributes.erb +14 -0
- data/templates/default/module/html/inherited_constants.erb +8 -0
- data/templates/default/module/html/inherited_methods.erb +19 -0
- data/templates/default/module/html/item_summary.erb +40 -0
- data/templates/default/module/html/method_details_list.erb +9 -0
- data/templates/default/module/html/method_summary.erb +14 -0
- data/templates/default/module/html/methodmissing.erb +12 -0
- data/templates/default/module/html/pre_docstring.erb +1 -0
- data/templates/default/module/setup.rb +164 -0
- data/templates/default/module/text/children.erb +10 -0
- data/templates/default/module/text/class_meths_list.erb +8 -0
- data/templates/default/module/text/extends.erb +8 -0
- data/templates/default/module/text/header.erb +7 -0
- data/templates/default/module/text/includes.erb +8 -0
- data/templates/default/module/text/instance_meths_list.erb +8 -0
- data/templates/default/module/text/setup.rb +12 -0
- data/templates/default/onefile/html/files.erb +5 -0
- data/templates/default/onefile/html/headers.erb +6 -0
- data/templates/default/onefile/html/layout.erb +17 -0
- data/templates/default/onefile/html/readme.erb +3 -0
- data/templates/default/onefile/html/setup.rb +61 -0
- data/templates/default/root/dot/child.erb +3 -0
- data/templates/default/root/dot/setup.rb +5 -0
- data/templates/default/root/html/setup.rb +1 -0
- data/templates/default/tags/html/example.erb +11 -0
- data/templates/default/tags/html/index.erb +3 -0
- data/templates/default/tags/html/option.erb +24 -0
- data/templates/default/tags/html/overload.erb +14 -0
- data/templates/default/tags/html/see.erb +8 -0
- data/templates/default/tags/html/tag.erb +20 -0
- data/templates/default/tags/setup.rb +55 -0
- data/templates/default/tags/text/example.erb +12 -0
- data/templates/default/tags/text/index.erb +1 -0
- data/templates/default/tags/text/option.erb +20 -0
- data/templates/default/tags/text/overload.erb +19 -0
- data/templates/default/tags/text/see.erb +11 -0
- data/templates/default/tags/text/tag.erb +13 -0
- data/templates/guide/class/html/setup.rb +1 -0
- data/templates/guide/docstring/html/setup.rb +1 -0
- data/templates/guide/fulldoc/html/css/style.css +108 -0
- data/templates/guide/fulldoc/html/js/app.js +33 -0
- data/templates/guide/fulldoc/html/setup.rb +73 -0
- data/templates/guide/layout/html/layout.erb +81 -0
- data/templates/guide/layout/html/setup.rb +28 -0
- data/templates/guide/method/html/header.erb +18 -0
- data/templates/guide/method/html/setup.rb +21 -0
- data/templates/guide/module/html/header.erb +7 -0
- data/templates/guide/module/html/method_list.erb +5 -0
- data/templates/guide/module/html/setup.rb +26 -0
- data/templates/guide/onefile/html/files.erb +4 -0
- data/templates/guide/onefile/html/setup.rb +5 -0
- data/templates/guide/onefile/html/toc.erb +3 -0
- data/templates/guide/tags/html/setup.rb +8 -0
- metadata +689 -0
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
|
2
|
+
require 'ostruct'
|
|
3
|
+
|
|
4
|
+
describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}DSLHandler" do
|
|
5
|
+
before(:all) { parse_file :dsl_handler_001, __FILE__ }
|
|
6
|
+
|
|
7
|
+
it "should create a readable attribute when @!attribute r is found" do
|
|
8
|
+
obj = Registry.at('Foo#attr1')
|
|
9
|
+
obj.should_not be_nil
|
|
10
|
+
obj.should be_reader
|
|
11
|
+
obj.tag(:return).types.should == ['Numeric']
|
|
12
|
+
Registry.at('Foo#attr1=').should be_nil
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it "should create a writable attribute when @!attribute w is found" do
|
|
16
|
+
obj = Registry.at('Foo#attr2=')
|
|
17
|
+
obj.should_not be_nil
|
|
18
|
+
obj.should be_writer
|
|
19
|
+
Registry.at('Foo#attr2').should be_nil
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it "should default to readwrite @!attribute" do
|
|
23
|
+
obj = Registry.at('Foo#attr3')
|
|
24
|
+
obj.should_not be_nil
|
|
25
|
+
obj.should be_reader
|
|
26
|
+
obj = Registry.at('Foo#attr3=')
|
|
27
|
+
obj.should_not be_nil
|
|
28
|
+
obj.should be_writer
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
it "should allow @!attribute to define alternate method name" do
|
|
32
|
+
Registry.at('Foo#attr4').should be_nil
|
|
33
|
+
Registry.at('Foo#custom').should_not be_nil
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it "should default to creating an instance method for any DSL method with special tags" do
|
|
37
|
+
obj = Registry.at('Foo#implicit0')
|
|
38
|
+
obj.should_not be_nil
|
|
39
|
+
obj.docstring.should == "IMPLICIT METHOD!"
|
|
40
|
+
obj.tag(:return).types.should == ['String']
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
it "should recognize implicit docstring when it has scope tag" do
|
|
44
|
+
obj = Registry.at("Foo.implicit1")
|
|
45
|
+
obj.should_not be_nil
|
|
46
|
+
obj.scope.should == :class
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
it "should recognize implicit docstring when it has visibility tag" do
|
|
50
|
+
obj = Registry.at("Foo#implicit2")
|
|
51
|
+
obj.should_not be_nil
|
|
52
|
+
obj.visibility.should == :protected
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
it "should not recognize implicit docstring with any other normal tag" do
|
|
56
|
+
obj = Registry.at('Foo#implicit_invalid3')
|
|
57
|
+
obj.should be_nil
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
it "should set the method name when using @!method" do
|
|
61
|
+
obj = Registry.at('Foo.xyz')
|
|
62
|
+
obj.should_not be_nil
|
|
63
|
+
obj.signature.should == 'def xyz(a, b, c)'
|
|
64
|
+
obj.parameters.should == [['a', nil], ['b', nil], ['c', nil]]
|
|
65
|
+
obj.source.should == 'foo_bar'
|
|
66
|
+
obj.docstring.should == 'The foo method'
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
it "should allow setting of @!scope" do
|
|
70
|
+
Registry.at('Foo.xyz').scope.should == :class
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
it "should create module function if @!scope is module" do
|
|
74
|
+
mod_c = Registry.at('Foo.modfunc1')
|
|
75
|
+
mod_i = Registry.at('Foo#modfunc1')
|
|
76
|
+
mod_c.scope.should == :class
|
|
77
|
+
mod_i.visibility.should == :private
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
it "should allow setting of @!visibility" do
|
|
81
|
+
Registry.at('Foo.xyz').visibility.should == :protected
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
it "should ignore DSL methods without tags" do
|
|
85
|
+
Registry.at('Foo#implicit_invalid').should be_nil
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
it "should accept a DSL method without tags if it has hash_flag (##)" do
|
|
89
|
+
Registry.at('Foo#implicit_valid').should_not be_nil
|
|
90
|
+
Registry.at('Foo#implicit_invalid2').should be_nil
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
it "should allow creation of macros" do
|
|
94
|
+
macro = CodeObjects::MacroObject.find('property')
|
|
95
|
+
macro.should_not be_nil
|
|
96
|
+
macro.should_not be_attached
|
|
97
|
+
macro.method_object.should be_nil
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
it "should handle macros with no parameters to expand" do
|
|
101
|
+
Registry.at('Foo#none').should_not be_nil
|
|
102
|
+
Registry.at('Baz#none').signature.should == 'def none(foo, bar)'
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
it "should expand $N on method definitions" do
|
|
106
|
+
Registry.at('Foo#regular_meth').docstring.should == 'a b c'
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
it "should apply new macro docstrings on new objects" do
|
|
110
|
+
obj = Registry.at('Foo#name')
|
|
111
|
+
obj.should_not be_nil
|
|
112
|
+
obj.source.should == 'property :name, String, :a, :b, :c'
|
|
113
|
+
obj.signature.should == 'def name(a, b, c)'
|
|
114
|
+
obj.docstring.should == 'A property that is awesome.'
|
|
115
|
+
obj.tag(:param).name.should == 'a'
|
|
116
|
+
obj.tag(:param).text.should == 'first parameter'
|
|
117
|
+
obj.tag(:return).types.should == ['String']
|
|
118
|
+
obj.tag(:return).text.should == 'the property name'
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
it "should allow reuse of named macros" do
|
|
122
|
+
obj = Registry.at('Foo#age')
|
|
123
|
+
obj.should_not be_nil
|
|
124
|
+
obj.source.should == 'property :age, Fixnum, :value'
|
|
125
|
+
obj.signature.should == 'def age(value)'
|
|
126
|
+
obj.docstring.should == 'A property that is awesome.'
|
|
127
|
+
obj.tag(:param).name.should == 'value'
|
|
128
|
+
obj.tag(:param).text.should == 'first parameter'
|
|
129
|
+
obj.tag(:return).types.should == ['Fixnum']
|
|
130
|
+
obj.tag(:return).text.should == 'the property age'
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
it "should know about method information on DSL with macro expansion" do
|
|
134
|
+
Registry.at('Foo#right_name').should_not be_nil
|
|
135
|
+
Registry.at('Foo#right_name').source.should ==
|
|
136
|
+
'implicit_with_different_method_name :wrong, :right'
|
|
137
|
+
Registry.at('Foo#wrong_name').should be_nil
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
it "should use attached macros" do
|
|
141
|
+
macro = CodeObjects::MacroObject.find('parser')
|
|
142
|
+
macro.macro_data.should == "@!method $1(opts = {})\n@return NOTHING!"
|
|
143
|
+
macro.should_not be_nil
|
|
144
|
+
macro.should be_attached
|
|
145
|
+
macro.method_object.should == P('Foo.parser')
|
|
146
|
+
obj = Registry.at('Foo#c_parser')
|
|
147
|
+
obj.should_not be_nil
|
|
148
|
+
obj.docstring.should == ""
|
|
149
|
+
obj.signature.should == "def c_parser(opts = {})"
|
|
150
|
+
obj.docstring.tag(:return).text.should == "NOTHING!"
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
it "should append docstring on DSL method to attached macro" do
|
|
154
|
+
obj = Registry.at('Foo#d_parser')
|
|
155
|
+
obj.should_not be_nil
|
|
156
|
+
obj.docstring.should == "Another docstring"
|
|
157
|
+
obj.signature.should == "def d_parser(opts = {})"
|
|
158
|
+
obj.docstring.tag(:return).text.should == "NOTHING!"
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
it "should only use attached macros on methods defined in inherited hierarchy" do
|
|
162
|
+
Registry.at('Bar#x_parser').should be_nil
|
|
163
|
+
Registry.at('Baz#y_parser').should_not be_nil
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
it "should look through mixins for attached macros" do
|
|
167
|
+
meth = Registry.at('Baz#mixin_method')
|
|
168
|
+
meth.should_not be_nil
|
|
169
|
+
meth.docstring.should == 'DSL method mixin_method'
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
it "should handle top-level DSL methods" do
|
|
173
|
+
obj = Registry.at('#my_other_method')
|
|
174
|
+
obj.should_not be_nil
|
|
175
|
+
obj.docstring.should == "Docstring for method"
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
it "should handle Constant.foo syntax" do
|
|
179
|
+
obj = Registry.at('#beep')
|
|
180
|
+
obj.should_not be_nil
|
|
181
|
+
obj.signature.should == 'def beep(a, b, c)'
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
it "should expand attached macros in first DSL method" do
|
|
185
|
+
Registry.at('DSLMethods#foo').docstring.should == "Returns String for foo"
|
|
186
|
+
Registry.at('DSLMethods#bar').docstring.should == "Returns Integer for bar"
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
it "should not detect implicit macros with invalid method names" do
|
|
190
|
+
undoc_error <<-eof
|
|
191
|
+
##
|
|
192
|
+
# IMPLICIT METHOD THAT SHOULD
|
|
193
|
+
# NOT BE DETECTED
|
|
194
|
+
dsl_method '/foo/bar'
|
|
195
|
+
eof
|
|
196
|
+
end
|
|
197
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
module A
|
|
2
|
+
def a; end
|
|
3
|
+
alias_method :b, :a
|
|
4
|
+
|
|
5
|
+
# Handle keyword syntax too
|
|
6
|
+
alias :c :a
|
|
7
|
+
alias d? a
|
|
8
|
+
alias [] a
|
|
9
|
+
alias []= a
|
|
10
|
+
alias -@ a
|
|
11
|
+
alias % a
|
|
12
|
+
alias * a
|
|
13
|
+
alias for a
|
|
14
|
+
alias ConstantName a
|
|
15
|
+
|
|
16
|
+
# Handle quoted symbols
|
|
17
|
+
alias :'foo' :'a'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
class C
|
|
21
|
+
def x; end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
class B < C
|
|
25
|
+
alias_method(:q, :x)
|
|
26
|
+
alias_method :r?, :x
|
|
27
|
+
alias_method :s, :to_s
|
|
28
|
+
alias_method :t, :inspect if 500 == 3 * CONSTANT
|
|
29
|
+
alias_method :<<, :a
|
|
30
|
+
alias_method :for, :a
|
|
31
|
+
alias do x
|
|
32
|
+
alias x2 do
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
class D
|
|
36
|
+
# Foo bar
|
|
37
|
+
def a; "FOO" end
|
|
38
|
+
|
|
39
|
+
# @return [String]
|
|
40
|
+
alias b a
|
|
41
|
+
|
|
42
|
+
# @return [Numeric]
|
|
43
|
+
def a; 0 end
|
|
44
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
module A
|
|
2
|
+
attr_writer :x
|
|
3
|
+
end
|
|
4
|
+
|
|
5
|
+
class B
|
|
6
|
+
class << self
|
|
7
|
+
attr_accessor :z
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
attr :a, true
|
|
11
|
+
attr :a2, false
|
|
12
|
+
attr :a3
|
|
13
|
+
# Docstring
|
|
14
|
+
attr_reader :b, :c, :d
|
|
15
|
+
attr_writer :e
|
|
16
|
+
attr_accessor 'f'
|
|
17
|
+
|
|
18
|
+
attr_accessor :z
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
class C
|
|
22
|
+
def foo; end
|
|
23
|
+
attr_writer :foo
|
|
24
|
+
|
|
25
|
+
def bar=(value); end
|
|
26
|
+
attr_reader :bar
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
class D
|
|
30
|
+
protected
|
|
31
|
+
attr_reader :parser
|
|
32
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
class A
|
|
2
|
+
if some_condition
|
|
3
|
+
def a; end
|
|
4
|
+
elsif 1 == 1
|
|
5
|
+
def b; end
|
|
6
|
+
else
|
|
7
|
+
def c; end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def d; end if 50 * 2 == 101
|
|
11
|
+
|
|
12
|
+
unless false
|
|
13
|
+
def e; end
|
|
14
|
+
else
|
|
15
|
+
def enot; end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def g; end unless 5 * 2 == 101
|
|
19
|
+
|
|
20
|
+
def h
|
|
21
|
+
if 1
|
|
22
|
+
def hnot; end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
if defined? A
|
|
27
|
+
def j; end
|
|
28
|
+
else
|
|
29
|
+
def jnot; end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
if defined? RUBY_VERSION
|
|
33
|
+
def k; end
|
|
34
|
+
else
|
|
35
|
+
def knot; end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
if 0
|
|
39
|
+
def nnot; end
|
|
40
|
+
else
|
|
41
|
+
def n; end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
if 256
|
|
45
|
+
def o; end
|
|
46
|
+
else
|
|
47
|
+
def onot; end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
if true
|
|
51
|
+
def p; end
|
|
52
|
+
else
|
|
53
|
+
def pnot; end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
if false
|
|
57
|
+
def qnot; end
|
|
58
|
+
else
|
|
59
|
+
def q; end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
private
|
|
63
|
+
|
|
64
|
+
if a == 1
|
|
65
|
+
def m; end
|
|
66
|
+
else
|
|
67
|
+
def mnot; end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# Docstring
|
|
2
|
+
class A
|
|
3
|
+
module B; end
|
|
4
|
+
private
|
|
5
|
+
class B::C < String;
|
|
6
|
+
def method1; end
|
|
7
|
+
def method2; end
|
|
8
|
+
end
|
|
9
|
+
class X<B::C
|
|
10
|
+
end
|
|
11
|
+
class<<self
|
|
12
|
+
def classmethod1; end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
class << A::B::C; def Hello; end end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
module B
|
|
19
|
+
class A < A
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
class RT < XX::RT; end
|
|
24
|
+
|
|
25
|
+
class Test1 < R "something"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
class Test2 < R(/something/)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
class Test3 < Struct.new(:foo, :bar)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
class Test4 < OStruct.new
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
class Test5 < DelegateClass(Array)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
class Test6 < NotDelegateClass(Array)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
class ::MyRootClass
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
module Holder
|
|
47
|
+
module SomeMod
|
|
48
|
+
class Importer
|
|
49
|
+
def parse; end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
module Holder
|
|
55
|
+
class Importer < Holder::SomeMod::Importer
|
|
56
|
+
def a; end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
class String; end
|
|
61
|
+
CONST = String
|
|
62
|
+
class << CONST
|
|
63
|
+
def classmethod; end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
module Q
|
|
67
|
+
class Logger < ::Logger; end
|
|
68
|
+
class Foo < ::Logger; end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
class << Symbol
|
|
72
|
+
alias toString to_s
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# Docstring
|
|
76
|
+
class Zebra
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# Docstring 2
|
|
80
|
+
|
|
81
|
+
class Zebra
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
class Zebra
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# A simple struct
|
|
88
|
+
class RegularStruct < Struct; end
|
|
89
|
+
class RegularStruct2 < ::Struct; end
|
|
90
|
+
|
|
91
|
+
class Point < Struct.new(:x, :y, :z)
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
class AnotherPoint < Struct.new('XPoint', :a, :b, :c, :description)
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# @attr [IO] input the input stream
|
|
98
|
+
# @attr mode the mode to read
|
|
99
|
+
# @attr [Proc, #call] someproc the proc to run
|
|
100
|
+
class DoccedStruct < Struct.new(:input, :mode, :someproc)
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# @attr [String] first the first entry
|
|
104
|
+
# @attr_reader [Fixnum] second this only has a reader
|
|
105
|
+
# @attr_writer [Array] third this only has a writer
|
|
106
|
+
# @attr_reader [#read] fourth returns a proc that reads
|
|
107
|
+
# @attr_writer [IO] fourth sets the proc that writes stuff
|
|
108
|
+
class SemiDoccedStruct < Struct.new(:first, :second, :third, :fourth)
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# @attr [String] first the first entry
|
|
112
|
+
# @attr_reader [Fixnum] second this only has a reader
|
|
113
|
+
# @attr_writer [Array] third this only has a writer
|
|
114
|
+
# @attr_reader [#read] fourth returns a proc that reads
|
|
115
|
+
# @attr_writer [IO] fourth sets the proc that writes stuff
|
|
116
|
+
class NotAStruct; end
|
|
117
|
+
|
|
118
|
+
class Outer1
|
|
119
|
+
class Inner1 < self; end
|
|
120
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module A
|
|
2
|
+
class B
|
|
3
|
+
notaconstant = 2
|
|
4
|
+
SOMECONSTANT= "hello"
|
|
5
|
+
|
|
6
|
+
def method
|
|
7
|
+
SOMECONSTANT = "don't document this"
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
MYCONSTANT = A +
|
|
11
|
+
B +
|
|
12
|
+
C +
|
|
13
|
+
D
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
MyClass = Struct.new(:a, :b, :c)
|
|
18
|
+
NotMyClass = Struct.new("NotMyClass2", :b, :c)
|
|
19
|
+
MyEmptyStruct = Struct.new
|
|
20
|
+
|
|
21
|
+
# A crazy struct.
|
|
22
|
+
#
|
|
23
|
+
# @attr [String] bar An attr
|
|
24
|
+
# @attr [Number] baz Another attr
|
|
25
|
+
DocstringStruct = Struct.new(:bar, :baz)
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
class Foo
|
|
2
|
+
attr_accessor :ignoreme
|
|
3
|
+
|
|
4
|
+
# IMPLICIT METHOD!
|
|
5
|
+
# @return [String]
|
|
6
|
+
just_a_method_for :implicit0
|
|
7
|
+
|
|
8
|
+
# IMPLICIT METHOD2!
|
|
9
|
+
# @!scope class
|
|
10
|
+
just_a_method_for :implicit1
|
|
11
|
+
|
|
12
|
+
# IMPLICIT METHOD3!
|
|
13
|
+
# @!visibility protected
|
|
14
|
+
just_a_method_for :implicit2
|
|
15
|
+
|
|
16
|
+
# Not recognized
|
|
17
|
+
just_a_method_for :implicit_invalid
|
|
18
|
+
|
|
19
|
+
#
|
|
20
|
+
## IS NOT RECOGNIZED!
|
|
21
|
+
just_a_method_for :implicit_invalid2
|
|
22
|
+
|
|
23
|
+
# @deprecated don't use this
|
|
24
|
+
just_a_method_for :implicit_invalid3
|
|
25
|
+
|
|
26
|
+
##
|
|
27
|
+
# IS RECOGNIZED!
|
|
28
|
+
just_a_method_for 'implicit_valid'
|
|
29
|
+
|
|
30
|
+
# @!attribute [r]
|
|
31
|
+
# @return [Numeric] a number
|
|
32
|
+
a_readable_attribute :attr1
|
|
33
|
+
|
|
34
|
+
# @!attribute [w]
|
|
35
|
+
a_writable_attribute :attr2, 'bar'
|
|
36
|
+
|
|
37
|
+
# @!attribute
|
|
38
|
+
default_attribute :attr3
|
|
39
|
+
|
|
40
|
+
# @!attribute custom
|
|
41
|
+
default_attribute :attr4
|
|
42
|
+
|
|
43
|
+
# @!method xyz(a, b, c)
|
|
44
|
+
# The foo method
|
|
45
|
+
# @param [String] a
|
|
46
|
+
# @!visibility protected
|
|
47
|
+
# @!scope class
|
|
48
|
+
foo_bar
|
|
49
|
+
|
|
50
|
+
# @!macro property
|
|
51
|
+
# @!method $1(${3-})
|
|
52
|
+
# A $0 that is awesome.
|
|
53
|
+
# @param $3 first parameter
|
|
54
|
+
# @return [$2] the property $1
|
|
55
|
+
property :name, String, :a, :b, :c
|
|
56
|
+
|
|
57
|
+
# @!macro property
|
|
58
|
+
property :age, Fixnum, :value
|
|
59
|
+
|
|
60
|
+
# This is just for x
|
|
61
|
+
# @!macro [attach] parser
|
|
62
|
+
# @!method $1(opts = {})
|
|
63
|
+
# @return NOTHING!
|
|
64
|
+
parser :x
|
|
65
|
+
|
|
66
|
+
parser :c_parser
|
|
67
|
+
|
|
68
|
+
# Another docstring
|
|
69
|
+
parser :d_parser
|
|
70
|
+
|
|
71
|
+
# @!macro [attach] none
|
|
72
|
+
# @!method none(foo, bar)
|
|
73
|
+
none
|
|
74
|
+
|
|
75
|
+
# @!macro something
|
|
76
|
+
# @!method $1(a, b, c)
|
|
77
|
+
something :qux
|
|
78
|
+
|
|
79
|
+
# @!method qux2(a, b, c)
|
|
80
|
+
something
|
|
81
|
+
|
|
82
|
+
# @!macro
|
|
83
|
+
# $1 $2 $3
|
|
84
|
+
def regular_meth(a, b, c) end
|
|
85
|
+
|
|
86
|
+
# @!macro [new] different
|
|
87
|
+
# @!method $2_name(a = 1)
|
|
88
|
+
|
|
89
|
+
# @!macro different
|
|
90
|
+
implicit_with_different_method_name :wrong, :right
|
|
91
|
+
|
|
92
|
+
# @!scope module
|
|
93
|
+
a_module_function :modfunc1
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
module MyMixin
|
|
97
|
+
# @!macro [attach] special
|
|
98
|
+
# DSL method $1
|
|
99
|
+
def defined_by_mixin; end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
class Bar
|
|
103
|
+
parser :x_parser
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
class Baz < Foo
|
|
107
|
+
extend MyMixin
|
|
108
|
+
parser :y_parser
|
|
109
|
+
none { }
|
|
110
|
+
defined_by_mixin :mixin_method
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# @!method my_other_method
|
|
114
|
+
# Docstring for method
|
|
115
|
+
method_that_makes_a_method
|
|
116
|
+
|
|
117
|
+
# @!macro something
|
|
118
|
+
foobarbaz :beep
|
|
119
|
+
|
|
120
|
+
module DSLMethods
|
|
121
|
+
# @macro [attach] dsl_method
|
|
122
|
+
# Returns $2 for $1
|
|
123
|
+
dsl_method :foo, String
|
|
124
|
+
dsl_method :bar, Integer
|
|
125
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
class Testing
|
|
2
|
+
# Ignore yields outside methods
|
|
3
|
+
raise NoMethodError, "reason"
|
|
4
|
+
|
|
5
|
+
# Should document this
|
|
6
|
+
def mymethod
|
|
7
|
+
raise ArgumentError, "Argument is missing"
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# Don't document this
|
|
11
|
+
def mymethod2
|
|
12
|
+
raise(a)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Don't document this (docstring takes precedence)
|
|
16
|
+
# @raise [A]
|
|
17
|
+
def mymethod3
|
|
18
|
+
raise SomethingElse
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Only document the first one (limitation of exc handler)
|
|
22
|
+
def mymethod4
|
|
23
|
+
raise(A)
|
|
24
|
+
raise B, "Argument", somethingelse
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def mymethod5
|
|
28
|
+
raise YARD::Parser::UndocumentableError
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def mymethod6
|
|
32
|
+
raise YARD::Handlers.constants("test")
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def mymethod7
|
|
36
|
+
raise MethodCall('argument')
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def mymethod8
|
|
40
|
+
raise ExceptionClass.new('blah')
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def mymethod9
|
|
44
|
+
obj.raise IgnoreMe
|
|
45
|
+
obj.raise(IgnoreMe)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def mymethod10
|
|
49
|
+
raise ArgumentError 'Message' # actually a method call
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def mymethod11
|
|
53
|
+
raise foo('bar')
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def mymethod12
|
|
57
|
+
raise
|
|
58
|
+
end
|
|
59
|
+
end
|