hyper-pro-gem 0.0.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.
- checksums.yaml +7 -0
- data/hyper-pro-gem.gemspec +12 -0
- data/yard-0.9.44/CHANGELOG.md +983 -0
- data/yard-0.9.44/LEGAL +94 -0
- data/yard-0.9.44/LICENSE +22 -0
- data/yard-0.9.44/README.md +329 -0
- data/yard-0.9.44/bin/yard +13 -0
- data/yard-0.9.44/bin/yardoc +13 -0
- data/yard-0.9.44/bin/yri +13 -0
- data/yard-0.9.44/docs/CodeObjects.md +115 -0
- data/yard-0.9.44/docs/GettingStarted.md +705 -0
- data/yard-0.9.44/docs/Handlers.md +152 -0
- data/yard-0.9.44/docs/Overview.md +61 -0
- data/yard-0.9.44/docs/Parser.md +166 -0
- data/yard-0.9.44/docs/Tags.md +304 -0
- data/yard-0.9.44/docs/TagsArch.md +123 -0
- data/yard-0.9.44/docs/Templates.md +497 -0
- data/yard-0.9.44/docs/WhatsNew.md +1297 -0
- data/yard-0.9.44/docs/images/code-objects-class-diagram.png +0 -0
- data/yard-0.9.44/docs/images/handlers-class-diagram.png +0 -0
- data/yard-0.9.44/docs/images/overview-class-diagram.png +0 -0
- data/yard-0.9.44/docs/images/parser-class-diagram.png +0 -0
- data/yard-0.9.44/docs/images/tags-class-diagram.png +0 -0
- data/yard-0.9.44/docs/templates/default/fulldoc/html/full_list_tag.erb +9 -0
- data/yard-0.9.44/docs/templates/default/fulldoc/html/setup.rb +6 -0
- data/yard-0.9.44/docs/templates/default/layout/html/setup.rb +9 -0
- data/yard-0.9.44/docs/templates/default/layout/html/tag_list.erb +11 -0
- data/yard-0.9.44/docs/templates/default/yard_tags/html/list.erb +18 -0
- data/yard-0.9.44/docs/templates/default/yard_tags/html/setup.rb +26 -0
- data/yard-0.9.44/docs/templates/plugin.rb +70 -0
- data/yard-0.9.44/lib/rubygems_plugin.rb +9 -0
- data/yard-0.9.44/lib/yard/autoload.rb +328 -0
- data/yard-0.9.44/lib/yard/cli/command.rb +85 -0
- data/yard-0.9.44/lib/yard/cli/command_parser.rb +93 -0
- data/yard-0.9.44/lib/yard/cli/config.rb +198 -0
- data/yard-0.9.44/lib/yard/cli/diff.rb +278 -0
- data/yard-0.9.44/lib/yard/cli/display.rb +69 -0
- data/yard-0.9.44/lib/yard/cli/gems.rb +84 -0
- data/yard-0.9.44/lib/yard/cli/graph.rb +125 -0
- data/yard-0.9.44/lib/yard/cli/help.rb +20 -0
- data/yard-0.9.44/lib/yard/cli/i18n.rb +70 -0
- data/yard-0.9.44/lib/yard/cli/list.rb +23 -0
- data/yard-0.9.44/lib/yard/cli/markup_types.rb +32 -0
- data/yard-0.9.44/lib/yard/cli/server.rb +266 -0
- data/yard-0.9.44/lib/yard/cli/stats.rb +234 -0
- data/yard-0.9.44/lib/yard/cli/yardoc.rb +791 -0
- data/yard-0.9.44/lib/yard/cli/yardopts_command.rb +110 -0
- data/yard-0.9.44/lib/yard/cli/yri.rb +215 -0
- data/yard-0.9.44/lib/yard/code_objects/base.rb +626 -0
- data/yard-0.9.44/lib/yard/code_objects/class_object.rb +146 -0
- data/yard-0.9.44/lib/yard/code_objects/class_variable_object.rb +11 -0
- data/yard-0.9.44/lib/yard/code_objects/constant_object.rb +16 -0
- data/yard-0.9.44/lib/yard/code_objects/extended_method_object.rb +24 -0
- data/yard-0.9.44/lib/yard/code_objects/extra_file_object.rb +135 -0
- data/yard-0.9.44/lib/yard/code_objects/macro_object.rb +171 -0
- data/yard-0.9.44/lib/yard/code_objects/method_object.rb +196 -0
- data/yard-0.9.44/lib/yard/code_objects/module_object.rb +21 -0
- data/yard-0.9.44/lib/yard/code_objects/namespace_mapper.rb +141 -0
- data/yard-0.9.44/lib/yard/code_objects/namespace_object.rb +200 -0
- data/yard-0.9.44/lib/yard/code_objects/proxy.rb +245 -0
- data/yard-0.9.44/lib/yard/code_objects/root_object.rb +19 -0
- data/yard-0.9.44/lib/yard/config.rb +274 -0
- data/yard-0.9.44/lib/yard/core_ext/array.rb +16 -0
- data/yard-0.9.44/lib/yard/core_ext/file.rb +69 -0
- data/yard-0.9.44/lib/yard/core_ext/hash.rb +16 -0
- data/yard-0.9.44/lib/yard/core_ext/insertion.rb +63 -0
- data/yard-0.9.44/lib/yard/core_ext/module.rb +11 -0
- data/yard-0.9.44/lib/yard/core_ext/string.rb +68 -0
- data/yard-0.9.44/lib/yard/core_ext/symbol_hash.rb +75 -0
- data/yard-0.9.44/lib/yard/docstring.rb +386 -0
- data/yard-0.9.44/lib/yard/docstring_parser.rb +344 -0
- data/yard-0.9.44/lib/yard/gem_index.rb +29 -0
- data/yard-0.9.44/lib/yard/globals.rb +22 -0
- data/yard-0.9.44/lib/yard/handlers/base.rb +617 -0
- data/yard-0.9.44/lib/yard/handlers/c/alias_handler.rb +16 -0
- data/yard-0.9.44/lib/yard/handlers/c/attribute_handler.rb +13 -0
- data/yard-0.9.44/lib/yard/handlers/c/base.rb +164 -0
- data/yard-0.9.44/lib/yard/handlers/c/class_handler.rb +27 -0
- data/yard-0.9.44/lib/yard/handlers/c/constant_handler.rb +13 -0
- data/yard-0.9.44/lib/yard/handlers/c/handler_methods.rb +212 -0
- data/yard-0.9.44/lib/yard/handlers/c/init_handler.rb +20 -0
- data/yard-0.9.44/lib/yard/handlers/c/method_handler.rb +45 -0
- data/yard-0.9.44/lib/yard/handlers/c/mixin_handler.rb +21 -0
- data/yard-0.9.44/lib/yard/handlers/c/module_handler.rb +17 -0
- data/yard-0.9.44/lib/yard/handlers/c/override_comment_handler.rb +31 -0
- data/yard-0.9.44/lib/yard/handlers/c/path_handler.rb +11 -0
- data/yard-0.9.44/lib/yard/handlers/c/struct_handler.rb +13 -0
- data/yard-0.9.44/lib/yard/handlers/c/symbol_handler.rb +8 -0
- data/yard-0.9.44/lib/yard/handlers/common/method_handler.rb +19 -0
- data/yard-0.9.44/lib/yard/handlers/processor.rb +200 -0
- data/yard-0.9.44/lib/yard/handlers/rbs/attribute_handler.rb +79 -0
- data/yard-0.9.44/lib/yard/handlers/rbs/base.rb +38 -0
- data/yard-0.9.44/lib/yard/handlers/rbs/constant_handler.rb +18 -0
- data/yard-0.9.44/lib/yard/handlers/rbs/method_handler.rb +327 -0
- data/yard-0.9.44/lib/yard/handlers/rbs/mixin_handler.rb +20 -0
- data/yard-0.9.44/lib/yard/handlers/rbs/namespace_handler.rb +26 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/alias_handler.rb +45 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/attribute_handler.rb +90 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/base.rb +165 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/class_condition_handler.rb +92 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/class_handler.rb +119 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/class_variable_handler.rb +17 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/comment_handler.rb +10 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/constant_handler.rb +73 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/decorator_handler_methods.rb +123 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/dsl_handler.rb +15 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/dsl_handler_methods.rb +96 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/exception_handler.rb +27 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/extend_handler.rb +22 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/alias_handler.rb +37 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/attribute_handler.rb +65 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/base.rb +245 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +83 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/class_handler.rb +113 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +15 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/comment_handler.rb +10 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/constant_handler.rb +29 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/dsl_handler.rb +17 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/exception_handler.rb +13 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/extend_handler.rb +21 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/method_handler.rb +90 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/mixin_handler.rb +39 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/module_function_handler.rb +19 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/module_handler.rb +12 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/private_class_method_handler.rb +22 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/private_constant_handler.rb +22 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/visibility_handler.rb +18 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/legacy/yield_handler.rb +29 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/method_condition_handler.rb +9 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/method_handler.rb +104 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/mixin_handler.rb +61 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/module_function_handler.rb +39 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/module_handler.rb +12 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/private_class_method_handler.rb +14 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/private_constant_handler.rb +43 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/public_class_method_handler.rb +14 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/struct_handler_methods.rb +143 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/visibility_handler.rb +35 -0
- data/yard-0.9.44/lib/yard/handlers/ruby/yield_handler.rb +31 -0
- data/yard-0.9.44/lib/yard/i18n/locale.rb +67 -0
- data/yard-0.9.44/lib/yard/i18n/message.rb +57 -0
- data/yard-0.9.44/lib/yard/i18n/messages.rb +56 -0
- data/yard-0.9.44/lib/yard/i18n/po_parser.rb +61 -0
- data/yard-0.9.44/lib/yard/i18n/pot_generator.rb +290 -0
- data/yard-0.9.44/lib/yard/i18n/text.rb +173 -0
- data/yard-0.9.44/lib/yard/logging.rb +260 -0
- data/yard-0.9.44/lib/yard/open_struct.rb +67 -0
- data/yard-0.9.44/lib/yard/options.rb +217 -0
- data/yard-0.9.44/lib/yard/parser/base.rb +57 -0
- data/yard-0.9.44/lib/yard/parser/c/c_parser.rb +235 -0
- data/yard-0.9.44/lib/yard/parser/c/comment_parser.rb +134 -0
- data/yard-0.9.44/lib/yard/parser/c/statement.rb +66 -0
- data/yard-0.9.44/lib/yard/parser/rbs/rbs_parser.rb +325 -0
- data/yard-0.9.44/lib/yard/parser/rbs/statement.rb +75 -0
- data/yard-0.9.44/lib/yard/parser/ruby/ast_node.rb +559 -0
- data/yard-0.9.44/lib/yard/parser/ruby/legacy/irb/slex.rb +294 -0
- data/yard-0.9.44/lib/yard/parser/ruby/legacy/ruby_lex.rb +1360 -0
- data/yard-0.9.44/lib/yard/parser/ruby/legacy/ruby_parser.rb +32 -0
- data/yard-0.9.44/lib/yard/parser/ruby/legacy/statement.rb +68 -0
- data/yard-0.9.44/lib/yard/parser/ruby/legacy/statement_list.rb +394 -0
- data/yard-0.9.44/lib/yard/parser/ruby/legacy/token_list.rb +74 -0
- data/yard-0.9.44/lib/yard/parser/ruby/ruby_parser.rb +792 -0
- data/yard-0.9.44/lib/yard/parser/ruby/token_resolver.rb +158 -0
- data/yard-0.9.44/lib/yard/parser/source_parser.rb +526 -0
- data/yard-0.9.44/lib/yard/rake/yardoc_task.rb +81 -0
- data/yard-0.9.44/lib/yard/registry.rb +439 -0
- data/yard-0.9.44/lib/yard/registry_resolver.rb +225 -0
- data/yard-0.9.44/lib/yard/registry_store.rb +342 -0
- data/yard-0.9.44/lib/yard/rubygems/backports/LICENSE.txt +57 -0
- data/yard-0.9.44/lib/yard/rubygems/backports/MIT.txt +20 -0
- data/yard-0.9.44/lib/yard/rubygems/backports/gem.rb +10 -0
- data/yard-0.9.44/lib/yard/rubygems/backports/source_index.rb +365 -0
- data/yard-0.9.44/lib/yard/rubygems/backports.rb +10 -0
- data/yard-0.9.44/lib/yard/rubygems/doc_manager.rb +90 -0
- data/yard-0.9.44/lib/yard/rubygems/hook.rb +197 -0
- data/yard-0.9.44/lib/yard/rubygems/specification.rb +50 -0
- data/yard-0.9.44/lib/yard/serializers/base.rb +83 -0
- data/yard-0.9.44/lib/yard/serializers/file_system_serializer.rb +123 -0
- data/yard-0.9.44/lib/yard/serializers/process_serializer.rb +24 -0
- data/yard-0.9.44/lib/yard/serializers/stdout_serializer.rb +34 -0
- data/yard-0.9.44/lib/yard/serializers/yardoc_serializer.rb +152 -0
- data/yard-0.9.44/lib/yard/server/adapter.rb +100 -0
- data/yard-0.9.44/lib/yard/server/commands/base.rb +203 -0
- data/yard-0.9.44/lib/yard/server/commands/display_file_command.rb +29 -0
- data/yard-0.9.44/lib/yard/server/commands/display_object_command.rb +65 -0
- data/yard-0.9.44/lib/yard/server/commands/frames_command.rb +16 -0
- data/yard-0.9.44/lib/yard/server/commands/library_command.rb +187 -0
- data/yard-0.9.44/lib/yard/server/commands/library_index_command.rb +28 -0
- data/yard-0.9.44/lib/yard/server/commands/list_command.rb +25 -0
- data/yard-0.9.44/lib/yard/server/commands/root_request_command.rb +15 -0
- data/yard-0.9.44/lib/yard/server/commands/search_command.rb +79 -0
- data/yard-0.9.44/lib/yard/server/commands/static_file_command.rb +23 -0
- data/yard-0.9.44/lib/yard/server/commands/static_file_helpers.rb +60 -0
- data/yard-0.9.44/lib/yard/server/doc_server_helper.rb +91 -0
- data/yard-0.9.44/lib/yard/server/doc_server_serializer.rb +39 -0
- data/yard-0.9.44/lib/yard/server/http_utils.rb +512 -0
- data/yard-0.9.44/lib/yard/server/library_version.rb +277 -0
- data/yard-0.9.44/lib/yard/server/rack_adapter.rb +97 -0
- data/yard-0.9.44/lib/yard/server/router.rb +187 -0
- data/yard-0.9.44/lib/yard/server/static_caching.rb +77 -0
- data/yard-0.9.44/lib/yard/server/templates/default/fulldoc/html/css/custom.css +207 -0
- data/yard-0.9.44/lib/yard/server/templates/default/fulldoc/html/images/processing.gif +0 -0
- data/yard-0.9.44/lib/yard/server/templates/default/fulldoc/html/js/autocomplete.js +203 -0
- data/yard-0.9.44/lib/yard/server/templates/default/layout/html/breadcrumb.erb +21 -0
- data/yard-0.9.44/lib/yard/server/templates/default/layout/html/script_setup.erb +7 -0
- data/yard-0.9.44/lib/yard/server/templates/default/layout/html/setup.rb +8 -0
- data/yard-0.9.44/lib/yard/server/templates/default/method_details/html/permalink.erb +6 -0
- data/yard-0.9.44/lib/yard/server/templates/default/method_details/html/setup.rb +5 -0
- data/yard-0.9.44/lib/yard/server/templates/doc_server/library_list/html/headers.erb +8 -0
- data/yard-0.9.44/lib/yard/server/templates/doc_server/library_list/html/library_list.erb +13 -0
- data/yard-0.9.44/lib/yard/server/templates/doc_server/library_list/html/listing.erb +13 -0
- data/yard-0.9.44/lib/yard/server/templates/doc_server/library_list/html/setup.rb +6 -0
- data/yard-0.9.44/lib/yard/server/templates/doc_server/library_list/html/title.erb +2 -0
- data/yard-0.9.44/lib/yard/server/templates/doc_server/processing/html/processing.erb +58 -0
- data/yard-0.9.44/lib/yard/server/templates/doc_server/processing/html/setup.rb +4 -0
- data/yard-0.9.44/lib/yard/server/templates/doc_server/search/html/search.erb +18 -0
- data/yard-0.9.44/lib/yard/server/templates/doc_server/search/html/setup.rb +9 -0
- data/yard-0.9.44/lib/yard/server/webrick_adapter.rb +45 -0
- data/yard-0.9.44/lib/yard/server.rb +13 -0
- data/yard-0.9.44/lib/yard/tags/default_factory.rb +192 -0
- data/yard-0.9.44/lib/yard/tags/default_tag.rb +13 -0
- data/yard-0.9.44/lib/yard/tags/directives.rb +631 -0
- data/yard-0.9.44/lib/yard/tags/library.rb +633 -0
- data/yard-0.9.44/lib/yard/tags/option_tag.rb +13 -0
- data/yard-0.9.44/lib/yard/tags/overload_tag.rb +72 -0
- data/yard-0.9.44/lib/yard/tags/ref_tag.rb +8 -0
- data/yard-0.9.44/lib/yard/tags/ref_tag_list.rb +28 -0
- data/yard-0.9.44/lib/yard/tags/tag.rb +72 -0
- data/yard-0.9.44/lib/yard/tags/tag_format_error.rb +7 -0
- data/yard-0.9.44/lib/yard/tags/types_explainer.rb +288 -0
- data/yard-0.9.44/lib/yard/templates/engine.rb +185 -0
- data/yard-0.9.44/lib/yard/templates/erb_cache.rb +23 -0
- data/yard-0.9.44/lib/yard/templates/helpers/base_helper.rb +215 -0
- data/yard-0.9.44/lib/yard/templates/helpers/filter_helper.rb +27 -0
- data/yard-0.9.44/lib/yard/templates/helpers/html_helper.rb +688 -0
- data/yard-0.9.44/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +83 -0
- data/yard-0.9.44/lib/yard/templates/helpers/markup/html_entities.rb +2140 -0
- data/yard-0.9.44/lib/yard/templates/helpers/markup/hybrid_markdown.rb +2131 -0
- data/yard-0.9.44/lib/yard/templates/helpers/markup/rdoc_markdown.rb +23 -0
- data/yard-0.9.44/lib/yard/templates/helpers/markup/rdoc_markup.rb +112 -0
- data/yard-0.9.44/lib/yard/templates/helpers/markup_helper.rb +175 -0
- data/yard-0.9.44/lib/yard/templates/helpers/method_helper.rb +77 -0
- data/yard-0.9.44/lib/yard/templates/helpers/module_helper.rb +21 -0
- data/yard-0.9.44/lib/yard/templates/helpers/text_helper.rb +112 -0
- data/yard-0.9.44/lib/yard/templates/helpers/uml_helper.rb +47 -0
- data/yard-0.9.44/lib/yard/templates/section.rb +103 -0
- data/yard-0.9.44/lib/yard/templates/template.rb +420 -0
- data/yard-0.9.44/lib/yard/templates/template_options.rb +91 -0
- data/yard-0.9.44/lib/yard/verifier.rb +151 -0
- data/yard-0.9.44/lib/yard/version.rb +6 -0
- data/yard-0.9.44/lib/yard.rb +75 -0
- data/yard-0.9.44/po/ja.po +31108 -0
- data/yard-0.9.44/templates/default/class/dot/setup.rb +7 -0
- data/yard-0.9.44/templates/default/class/dot/superklass.erb +3 -0
- data/yard-0.9.44/templates/default/class/html/constructor_details.erb +8 -0
- data/yard-0.9.44/templates/default/class/html/setup.rb +2 -0
- data/yard-0.9.44/templates/default/class/html/subclasses.erb +4 -0
- data/yard-0.9.44/templates/default/class/setup.rb +36 -0
- data/yard-0.9.44/templates/default/class/text/setup.rb +12 -0
- data/yard-0.9.44/templates/default/class/text/subclasses.erb +5 -0
- data/yard-0.9.44/templates/default/constant/text/header.erb +11 -0
- data/yard-0.9.44/templates/default/constant/text/setup.rb +4 -0
- data/yard-0.9.44/templates/default/docstring/html/abstract.erb +4 -0
- data/yard-0.9.44/templates/default/docstring/html/deprecated.erb +1 -0
- data/yard-0.9.44/templates/default/docstring/html/index.erb +5 -0
- data/yard-0.9.44/templates/default/docstring/html/note.erb +6 -0
- data/yard-0.9.44/templates/default/docstring/html/private.erb +4 -0
- data/yard-0.9.44/templates/default/docstring/html/returns_void.erb +1 -0
- data/yard-0.9.44/templates/default/docstring/html/text.erb +1 -0
- data/yard-0.9.44/templates/default/docstring/html/todo.erb +6 -0
- data/yard-0.9.44/templates/default/docstring/setup.rb +52 -0
- data/yard-0.9.44/templates/default/docstring/text/abstract.erb +2 -0
- data/yard-0.9.44/templates/default/docstring/text/deprecated.erb +2 -0
- data/yard-0.9.44/templates/default/docstring/text/index.erb +2 -0
- data/yard-0.9.44/templates/default/docstring/text/note.erb +4 -0
- data/yard-0.9.44/templates/default/docstring/text/private.erb +2 -0
- data/yard-0.9.44/templates/default/docstring/text/returns_void.erb +1 -0
- data/yard-0.9.44/templates/default/docstring/text/text.erb +1 -0
- data/yard-0.9.44/templates/default/docstring/text/todo.erb +4 -0
- data/yard-0.9.44/templates/default/fulldoc/html/css/common.css +1 -0
- data/yard-0.9.44/templates/default/fulldoc/html/css/full_list.css +206 -0
- data/yard-0.9.44/templates/default/fulldoc/html/css/style.css +1089 -0
- data/yard-0.9.44/templates/default/fulldoc/html/frames.erb +22 -0
- data/yard-0.9.44/templates/default/fulldoc/html/full_list.erb +40 -0
- data/yard-0.9.44/templates/default/fulldoc/html/full_list_class.erb +2 -0
- data/yard-0.9.44/templates/default/fulldoc/html/full_list_file.erb +7 -0
- data/yard-0.9.44/templates/default/fulldoc/html/full_list_method.erb +10 -0
- data/yard-0.9.44/templates/default/fulldoc/html/js/app.js +801 -0
- data/yard-0.9.44/templates/default/fulldoc/html/js/full_list.js +334 -0
- data/yard-0.9.44/templates/default/fulldoc/html/js/jquery.js +4 -0
- data/yard-0.9.44/templates/default/fulldoc/html/setup.rb +249 -0
- data/yard-0.9.44/templates/default/layout/dot/header.erb +6 -0
- data/yard-0.9.44/templates/default/layout/dot/setup.rb +15 -0
- data/yard-0.9.44/templates/default/layout/html/breadcrumb.erb +11 -0
- data/yard-0.9.44/templates/default/layout/html/files.erb +11 -0
- data/yard-0.9.44/templates/default/layout/html/footer.erb +5 -0
- data/yard-0.9.44/templates/default/layout/html/headers.erb +15 -0
- data/yard-0.9.44/templates/default/layout/html/index.erb +2 -0
- data/yard-0.9.44/templates/default/layout/html/layout.erb +26 -0
- data/yard-0.9.44/templates/default/layout/html/listing.erb +4 -0
- data/yard-0.9.44/templates/default/layout/html/objects.erb +32 -0
- data/yard-0.9.44/templates/default/layout/html/script_setup.erb +4 -0
- data/yard-0.9.44/templates/default/layout/html/search.erb +13 -0
- data/yard-0.9.44/templates/default/layout/html/setup.rb +89 -0
- data/yard-0.9.44/templates/default/method/html/header.erb +17 -0
- data/yard-0.9.44/templates/default/method/setup.rb +4 -0
- data/yard-0.9.44/templates/default/method/text/header.erb +1 -0
- data/yard-0.9.44/templates/default/method_details/html/header.erb +3 -0
- data/yard-0.9.44/templates/default/method_details/html/method_signature.erb +25 -0
- data/yard-0.9.44/templates/default/method_details/html/source.erb +10 -0
- data/yard-0.9.44/templates/default/method_details/setup.rb +11 -0
- data/yard-0.9.44/templates/default/method_details/text/header.erb +10 -0
- data/yard-0.9.44/templates/default/method_details/text/method_signature.erb +12 -0
- data/yard-0.9.44/templates/default/method_details/text/setup.rb +11 -0
- data/yard-0.9.44/templates/default/module/dot/child.erb +1 -0
- data/yard-0.9.44/templates/default/module/dot/dependencies.erb +3 -0
- data/yard-0.9.44/templates/default/module/dot/header.erb +6 -0
- data/yard-0.9.44/templates/default/module/dot/info.erb +14 -0
- data/yard-0.9.44/templates/default/module/dot/setup.rb +15 -0
- data/yard-0.9.44/templates/default/module/html/attribute_details.erb +10 -0
- data/yard-0.9.44/templates/default/module/html/attribute_summary.erb +8 -0
- data/yard-0.9.44/templates/default/module/html/box_info.erb +43 -0
- data/yard-0.9.44/templates/default/module/html/children.erb +8 -0
- data/yard-0.9.44/templates/default/module/html/constant_summary.erb +17 -0
- data/yard-0.9.44/templates/default/module/html/defines.erb +3 -0
- data/yard-0.9.44/templates/default/module/html/header.erb +5 -0
- data/yard-0.9.44/templates/default/module/html/inherited_attributes.erb +14 -0
- data/yard-0.9.44/templates/default/module/html/inherited_constants.erb +8 -0
- data/yard-0.9.44/templates/default/module/html/inherited_methods.erb +20 -0
- data/yard-0.9.44/templates/default/module/html/item_summary.erb +40 -0
- data/yard-0.9.44/templates/default/module/html/method_details_list.erb +9 -0
- data/yard-0.9.44/templates/default/module/html/method_summary.erb +22 -0
- data/yard-0.9.44/templates/default/module/html/methodmissing.erb +12 -0
- data/yard-0.9.44/templates/default/module/html/pre_docstring.erb +1 -0
- data/yard-0.9.44/templates/default/module/setup.rb +187 -0
- data/yard-0.9.44/templates/default/module/text/children.erb +10 -0
- data/yard-0.9.44/templates/default/module/text/class_meths_list.erb +8 -0
- data/yard-0.9.44/templates/default/module/text/extends.erb +8 -0
- data/yard-0.9.44/templates/default/module/text/header.erb +7 -0
- data/yard-0.9.44/templates/default/module/text/includes.erb +8 -0
- data/yard-0.9.44/templates/default/module/text/instance_meths_list.erb +8 -0
- data/yard-0.9.44/templates/default/module/text/setup.rb +13 -0
- data/yard-0.9.44/templates/default/onefile/html/files.erb +5 -0
- data/yard-0.9.44/templates/default/onefile/html/headers.erb +8 -0
- data/yard-0.9.44/templates/default/onefile/html/layout.erb +16 -0
- data/yard-0.9.44/templates/default/onefile/html/readme.erb +3 -0
- data/yard-0.9.44/templates/default/onefile/html/setup.rb +62 -0
- data/yard-0.9.44/templates/default/root/dot/child.erb +3 -0
- data/yard-0.9.44/templates/default/root/dot/setup.rb +6 -0
- data/yard-0.9.44/templates/default/root/html/setup.rb +2 -0
- data/yard-0.9.44/templates/default/tags/html/example.erb +11 -0
- data/yard-0.9.44/templates/default/tags/html/index.erb +3 -0
- data/yard-0.9.44/templates/default/tags/html/option.erb +24 -0
- data/yard-0.9.44/templates/default/tags/html/overload.erb +14 -0
- data/yard-0.9.44/templates/default/tags/html/see.erb +8 -0
- data/yard-0.9.44/templates/default/tags/html/tag.erb +20 -0
- data/yard-0.9.44/templates/default/tags/setup.rb +57 -0
- data/yard-0.9.44/templates/default/tags/text/example.erb +12 -0
- data/yard-0.9.44/templates/default/tags/text/index.erb +1 -0
- data/yard-0.9.44/templates/default/tags/text/option.erb +20 -0
- data/yard-0.9.44/templates/default/tags/text/overload.erb +19 -0
- data/yard-0.9.44/templates/default/tags/text/see.erb +11 -0
- data/yard-0.9.44/templates/default/tags/text/tag.erb +13 -0
- data/yard-0.9.44/templates/guide/class/html/setup.rb +2 -0
- data/yard-0.9.44/templates/guide/docstring/html/setup.rb +2 -0
- data/yard-0.9.44/templates/guide/fulldoc/html/css/style.css +358 -0
- data/yard-0.9.44/templates/guide/fulldoc/html/js/app.js +61 -0
- data/yard-0.9.44/templates/guide/fulldoc/html/setup.rb +74 -0
- data/yard-0.9.44/templates/guide/layout/html/layout.erb +78 -0
- data/yard-0.9.44/templates/guide/layout/html/setup.rb +25 -0
- data/yard-0.9.44/templates/guide/method/html/header.erb +18 -0
- data/yard-0.9.44/templates/guide/method/html/setup.rb +22 -0
- data/yard-0.9.44/templates/guide/module/html/header.erb +7 -0
- data/yard-0.9.44/templates/guide/module/html/method_list.erb +5 -0
- data/yard-0.9.44/templates/guide/module/html/setup.rb +27 -0
- data/yard-0.9.44/templates/guide/onefile/html/files.erb +4 -0
- data/yard-0.9.44/templates/guide/onefile/html/setup.rb +6 -0
- data/yard-0.9.44/templates/guide/onefile/html/toc.erb +3 -0
- data/yard-0.9.44/templates/guide/tags/html/setup.rb +9 -0
- metadata +419 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module YARD
|
|
3
|
+
module CLI
|
|
4
|
+
# @since 0.6.0
|
|
5
|
+
class Gems < Command
|
|
6
|
+
def initialize
|
|
7
|
+
@rebuild = false
|
|
8
|
+
@gems = []
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def description; "Builds YARD index for gems" end
|
|
12
|
+
|
|
13
|
+
# Runs the commandline utility, parsing arguments and generating
|
|
14
|
+
# YARD indexes for gems.
|
|
15
|
+
#
|
|
16
|
+
# @param [Array<String>] args the list of arguments
|
|
17
|
+
# @return [void]
|
|
18
|
+
def run(*args)
|
|
19
|
+
require 'rubygems'
|
|
20
|
+
optparse(*args)
|
|
21
|
+
build_gems
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
private
|
|
25
|
+
|
|
26
|
+
# Builds .yardoc files for all non-existing gems
|
|
27
|
+
def build_gems
|
|
28
|
+
require 'rubygems'
|
|
29
|
+
@gems.each do |spec|
|
|
30
|
+
ver = "= #{spec.version}"
|
|
31
|
+
dir = Registry.yardoc_file_for_gem(spec.name, ver)
|
|
32
|
+
if dir && File.directory?(dir) && !@rebuild
|
|
33
|
+
log.debug "#{spec.name} index already exists at '#{dir}'"
|
|
34
|
+
else
|
|
35
|
+
yfile = Registry.yardoc_file_for_gem(spec.name, ver, true)
|
|
36
|
+
next unless yfile
|
|
37
|
+
next unless File.directory?(spec.full_gem_path)
|
|
38
|
+
Registry.clear
|
|
39
|
+
Dir.chdir(spec.full_gem_path) do
|
|
40
|
+
log.info "Building yardoc index for gem: #{spec.full_name}"
|
|
41
|
+
Yardoc.run('--no-stats', '-n', '-b', yfile)
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def add_gems(gems)
|
|
48
|
+
0.step(gems.size - 1, 2) do |index|
|
|
49
|
+
gem = gems[index]
|
|
50
|
+
ver_require = gems[index + 1] || ">= 0"
|
|
51
|
+
specs = YARD::GemIndex.find_all_by_name(gem, ver_require)
|
|
52
|
+
if specs.empty?
|
|
53
|
+
log.warn "#{gem} #{ver_require} could not be found in RubyGems index"
|
|
54
|
+
else
|
|
55
|
+
@gems += specs
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Parses options
|
|
61
|
+
def optparse(*args)
|
|
62
|
+
opts = OptionParser.new
|
|
63
|
+
opts.banner = 'Usage: yard gems [options] [gem_name [version]]'
|
|
64
|
+
opts.separator ""
|
|
65
|
+
opts.separator "#{description}. If no gem_name is given,"
|
|
66
|
+
opts.separator "all gems are built."
|
|
67
|
+
opts.separator ""
|
|
68
|
+
opts.on('--rebuild', 'Rebuilds index') do
|
|
69
|
+
@rebuild = true
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
common_options(opts)
|
|
73
|
+
parse_options(opts, args)
|
|
74
|
+
add_gems(args)
|
|
75
|
+
|
|
76
|
+
if !args.empty? && @gems.empty?
|
|
77
|
+
log.error "No specified gems could be found for command"
|
|
78
|
+
elsif @gems.empty?
|
|
79
|
+
@gems += YARD::GemIndex.all if @gems.empty?
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module YARD
|
|
3
|
+
module CLI
|
|
4
|
+
# Options to pass to the {Graph} CLI.
|
|
5
|
+
class GraphOptions < Templates::TemplateOptions
|
|
6
|
+
# @return [:dot] the default output format
|
|
7
|
+
default_attr :format, :dot
|
|
8
|
+
|
|
9
|
+
# @return [Boolean] whether to list the full class diagram
|
|
10
|
+
attr_accessor :full
|
|
11
|
+
|
|
12
|
+
# @return [Boolean] whether to show the object dependencies
|
|
13
|
+
attr_accessor :dependencies
|
|
14
|
+
|
|
15
|
+
# @return [String] any contents to pass to the digraph
|
|
16
|
+
attr_accessor :contents
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# A command-line utility to generate Graphviz graphs from
|
|
20
|
+
# a set of objects
|
|
21
|
+
#
|
|
22
|
+
# @see Graph#run
|
|
23
|
+
# @since 0.6.0
|
|
24
|
+
class Graph < YardoptsCommand
|
|
25
|
+
# The options parsed out of the commandline.
|
|
26
|
+
# Default options are:
|
|
27
|
+
# :format => :dot
|
|
28
|
+
attr_reader :options
|
|
29
|
+
|
|
30
|
+
# The set of objects to include in the graph.
|
|
31
|
+
attr_reader :objects
|
|
32
|
+
|
|
33
|
+
# Creates a new instance of the command-line utility
|
|
34
|
+
def initialize
|
|
35
|
+
super
|
|
36
|
+
@use_document_file = false
|
|
37
|
+
@options = GraphOptions.new
|
|
38
|
+
options.reset_defaults
|
|
39
|
+
options.serializer = YARD::Serializers::StdoutSerializer.new
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def description
|
|
43
|
+
"Graphs class diagram using Graphviz"
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Runs the command-line utility.
|
|
47
|
+
#
|
|
48
|
+
# @example
|
|
49
|
+
# grapher = Graph.new
|
|
50
|
+
# grapher.run('--private')
|
|
51
|
+
# @param [Array<String>] args each tokenized argument
|
|
52
|
+
def run(*args)
|
|
53
|
+
parse_arguments(*args)
|
|
54
|
+
|
|
55
|
+
contents = objects.map do |o|
|
|
56
|
+
o.format(options.merge(:serialize => false))
|
|
57
|
+
end.join("\n")
|
|
58
|
+
opts = {:type => :layout, :contents => contents}
|
|
59
|
+
options.update(opts)
|
|
60
|
+
Templates::Engine.render(options)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
private
|
|
64
|
+
|
|
65
|
+
def unrecognized_option(err) end
|
|
66
|
+
|
|
67
|
+
# Parses commandline options.
|
|
68
|
+
# @param [Array<String>] args each tokenized argument
|
|
69
|
+
def optparse(*args)
|
|
70
|
+
visibilities = [:public]
|
|
71
|
+
opts = OptionParser.new
|
|
72
|
+
|
|
73
|
+
opts.separator ""
|
|
74
|
+
opts.separator "General Options:"
|
|
75
|
+
|
|
76
|
+
opts.on('-b', '--db FILE', 'Use a specified .yardoc db to load from or save to. (defaults to .yardoc)') do |yfile|
|
|
77
|
+
YARD::Registry.yardoc_file = yfile
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
opts.on('--full', 'Full class diagrams (show methods and attributes).') do
|
|
81
|
+
options[:full] = true
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
opts.on('-d', '--dependencies', 'Show mixins in dependency graph.') do
|
|
85
|
+
options[:dependencies] = true
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
opts.on('--no-public', "Don't show public methods. (default shows public)") do
|
|
89
|
+
visibilities.delete(:public)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
opts.on('--protected', "Show or don't show protected methods. (default hides protected)") do
|
|
93
|
+
visibilities.push(:protected)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
opts.on('--private', "Show or don't show private methods. (default hides private)") do
|
|
97
|
+
visibilities.push(:private)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
opts.separator ""
|
|
101
|
+
opts.separator "Output options:"
|
|
102
|
+
|
|
103
|
+
opts.on('--dot [OPTIONS]', 'Send the results directly to `dot` with optional arguments.') do |dotopts|
|
|
104
|
+
options.serializer = Serializers::ProcessSerializer.new('dot ' + dotopts.to_s)
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
opts.on('-f', '--file [FILE]', 'Writes output to a file instead of stdout.') do |file|
|
|
108
|
+
options.serializer = Serializers::FileSystemSerializer.new(:basepath => '.', :extension => nil)
|
|
109
|
+
options.serializer.instance_eval "def serialized_path(object) #{file.inspect} end"
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
common_options(opts)
|
|
113
|
+
parse_options(opts, args)
|
|
114
|
+
|
|
115
|
+
Registry.load
|
|
116
|
+
|
|
117
|
+
expression = "#{visibilities.uniq.inspect}.include?(object.visibility)"
|
|
118
|
+
options.verifier = Verifier.new(expression)
|
|
119
|
+
@objects = args.first ?
|
|
120
|
+
args.map {|o| Registry.at(o) }.compact :
|
|
121
|
+
[Registry.root]
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module YARD
|
|
3
|
+
module CLI
|
|
4
|
+
# Handles help for commands
|
|
5
|
+
# @since 0.6.0
|
|
6
|
+
class Help < Command
|
|
7
|
+
def description; "Retrieves help for a command" end
|
|
8
|
+
|
|
9
|
+
def run(*args)
|
|
10
|
+
cmd = args.first && CommandParser.commands[args.first.to_sym]
|
|
11
|
+
if cmd
|
|
12
|
+
cmd.run('--help')
|
|
13
|
+
else
|
|
14
|
+
log.puts "Command #{args.first} not found." if args.first
|
|
15
|
+
CommandParser.run('--help')
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "pathname"
|
|
3
|
+
|
|
4
|
+
module YARD
|
|
5
|
+
module CLI
|
|
6
|
+
# CLI command to support internationalization (a.k.a. i18n).
|
|
7
|
+
# I18n feature is based on gettext technology.
|
|
8
|
+
# This command generates .pot file from docstring and extra
|
|
9
|
+
# documentation.
|
|
10
|
+
#
|
|
11
|
+
# @since 0.8.0
|
|
12
|
+
# @todo Support msgminit and msgmerge features?
|
|
13
|
+
class I18n < Yardoc
|
|
14
|
+
def initialize
|
|
15
|
+
super
|
|
16
|
+
@options.serializer.basepath = "po/yard.pot"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def description
|
|
20
|
+
'Generates .pot file from source code and extra documentation'
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def run(*args)
|
|
24
|
+
if args.empty? || !args.first.nil?
|
|
25
|
+
# fail early if arguments are not valid
|
|
26
|
+
return unless parse_arguments(*args)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
YARD.parse(files, excluded)
|
|
30
|
+
|
|
31
|
+
serializer = options.serializer
|
|
32
|
+
pot_file_path = Pathname.new(serializer.basepath).expand_path
|
|
33
|
+
pot_file_dir_path, pot_file_basename = pot_file_path.split
|
|
34
|
+
relative_base_path = Pathname.pwd.relative_path_from(pot_file_dir_path)
|
|
35
|
+
serializer.basepath = pot_file_dir_path.to_s
|
|
36
|
+
serializer.serialize(pot_file_basename.to_s,
|
|
37
|
+
generate_pot(relative_base_path.to_s))
|
|
38
|
+
|
|
39
|
+
true
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
private
|
|
43
|
+
|
|
44
|
+
def general_options(opts)
|
|
45
|
+
opts.banner = "Usage: yard i18n [options] [source_files [- extra_files]]"
|
|
46
|
+
opts.top.list.clear
|
|
47
|
+
opts.separator "(if a list of source files is omitted, "
|
|
48
|
+
opts.separator " {lib,app}/**/*.rb ext/**/*.{c,rb} is used.)"
|
|
49
|
+
opts.separator ""
|
|
50
|
+
opts.separator "Example: yard i18n -o yard.pot - FAQ LICENSE"
|
|
51
|
+
opts.separator " The above example outputs .pot file for files in"
|
|
52
|
+
opts.separator " lib/**/*.rb to yard.pot including the extra files"
|
|
53
|
+
opts.separator " FAQ and LICENSE."
|
|
54
|
+
opts.separator ""
|
|
55
|
+
opts.separator "A base set of options can be specified by adding a .yardopts"
|
|
56
|
+
opts.separator "file to your base path containing all extra options separated"
|
|
57
|
+
opts.separator "by whitespace."
|
|
58
|
+
super(opts)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def generate_pot(relative_base_path)
|
|
62
|
+
generator = YARD::I18n::PotGenerator.new(relative_base_path)
|
|
63
|
+
objects = run_verifier(all_objects)
|
|
64
|
+
generator.parse_objects(objects)
|
|
65
|
+
generator.parse_files(options.files || [])
|
|
66
|
+
generator.generate
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module YARD
|
|
3
|
+
module CLI
|
|
4
|
+
# Lists all constant and method names in the codebase. Uses {Yardoc} --list.
|
|
5
|
+
class List < Command
|
|
6
|
+
def description; 'Lists all constant and methods. Uses `yard doc --list`' end
|
|
7
|
+
|
|
8
|
+
# Runs the commandline utility, parsing arguments and displaying a
|
|
9
|
+
# list of objects
|
|
10
|
+
#
|
|
11
|
+
# @param [Array<String>] args the list of arguments.
|
|
12
|
+
# @return [void]
|
|
13
|
+
def run(*args)
|
|
14
|
+
if args.include?('--help')
|
|
15
|
+
log.puts "Usage: yard list [yardoc_options]"
|
|
16
|
+
log.puts "Takes the same arguments as yardoc. See yardoc --help"
|
|
17
|
+
else
|
|
18
|
+
Yardoc.run('-c', '--list', *args)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module YARD
|
|
3
|
+
module CLI
|
|
4
|
+
# Lists all markup types
|
|
5
|
+
# @since 0.8.6
|
|
6
|
+
class MarkupTypes < Command
|
|
7
|
+
def description; 'Lists all available markup types and libraries' end
|
|
8
|
+
|
|
9
|
+
# Runs the commandline utility, parsing arguments and displaying a
|
|
10
|
+
# list of markup types
|
|
11
|
+
#
|
|
12
|
+
# @param [Array<String>] args the list of arguments.
|
|
13
|
+
# @return [void]
|
|
14
|
+
def run(*args) # rubocop:disable Lint/UnusedMethodArgument
|
|
15
|
+
log.puts "Available markup types for `doc' command:"
|
|
16
|
+
log.puts
|
|
17
|
+
types = Templates::Helpers::MarkupHelper::MARKUP_PROVIDERS
|
|
18
|
+
exts = Templates::Helpers::MarkupHelper::MARKUP_EXTENSIONS
|
|
19
|
+
types.sort_by {|name, _| name.to_s }.each do |name, providers|
|
|
20
|
+
log.puts "[#{name}]"
|
|
21
|
+
libs = providers.map {|p| p[:lib] }.compact
|
|
22
|
+
log.puts " Providers: #{libs.join(" ")}" unless libs.empty?
|
|
23
|
+
if exts[name]
|
|
24
|
+
log.puts " Extensions: #{exts[name].map {|e| ".#{e}" }.join(" ")}"
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
log.puts
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module YARD
|
|
4
|
+
module CLI
|
|
5
|
+
# A local documentation server
|
|
6
|
+
# @since 0.6.0
|
|
7
|
+
class Server < Command
|
|
8
|
+
# @return [Hash] a list of options to pass to the doc server
|
|
9
|
+
attr_accessor :options
|
|
10
|
+
|
|
11
|
+
# @return [Hash] a list of options to pass to the web server
|
|
12
|
+
attr_accessor :server_options
|
|
13
|
+
|
|
14
|
+
# @return [Hash] a list of library names and yardoc files to serve
|
|
15
|
+
attr_accessor :libraries
|
|
16
|
+
|
|
17
|
+
# @return [YARD::Server::Adapter] the adapter to use for loading the web server
|
|
18
|
+
attr_accessor :adapter
|
|
19
|
+
|
|
20
|
+
# @return [Array<String>] a list of scripts to load
|
|
21
|
+
# @since 0.6.2
|
|
22
|
+
attr_accessor :scripts
|
|
23
|
+
|
|
24
|
+
# @return [Array<String>] a list of template paths to register
|
|
25
|
+
# @since 0.6.2
|
|
26
|
+
attr_accessor :template_paths
|
|
27
|
+
|
|
28
|
+
# Creates a new instance of the Server command line utility
|
|
29
|
+
def initialize
|
|
30
|
+
super
|
|
31
|
+
self.scripts = []
|
|
32
|
+
self.template_paths = []
|
|
33
|
+
self.libraries = {}
|
|
34
|
+
self.options = SymbolHash.new(false).update(
|
|
35
|
+
:single_library => true,
|
|
36
|
+
:caching => false
|
|
37
|
+
)
|
|
38
|
+
self.server_options = {:Port => 8808}
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def description
|
|
42
|
+
"Runs a local documentation server"
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def run(*args)
|
|
46
|
+
optparse(*args)
|
|
47
|
+
|
|
48
|
+
select_adapter.setup
|
|
49
|
+
load_scripts
|
|
50
|
+
load_template_paths
|
|
51
|
+
adapter.new(libraries, options, server_options).start
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
private
|
|
55
|
+
|
|
56
|
+
def load_scripts
|
|
57
|
+
scripts.each {|file| load_script(file) }
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def load_template_paths
|
|
61
|
+
return if YARD::Config.options[:safe_mode]
|
|
62
|
+
|
|
63
|
+
Templates::Engine.template_paths |= template_paths
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def select_adapter
|
|
67
|
+
return adapter if adapter
|
|
68
|
+
|
|
69
|
+
require 'rubygems'
|
|
70
|
+
require 'rack'
|
|
71
|
+
self.adapter = YARD::Server::RackAdapter
|
|
72
|
+
rescue LoadError
|
|
73
|
+
self.adapter = YARD::Server::WebrickAdapter
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def add_libraries(args)
|
|
77
|
+
(0...args.size).step(2) do |index|
|
|
78
|
+
library = args[index]
|
|
79
|
+
dir = args[index + 1]
|
|
80
|
+
|
|
81
|
+
libver = nil
|
|
82
|
+
if dir
|
|
83
|
+
if File.exist?(dir)
|
|
84
|
+
# Provided dir contains a .yardopts file
|
|
85
|
+
libver = create_library_version_if_yardopts_exist(library, dir)
|
|
86
|
+
libver ||= YARD::Server::LibraryVersion.new(library, nil, dir)
|
|
87
|
+
end
|
|
88
|
+
else
|
|
89
|
+
# Check if this dir contains a .yardopts file
|
|
90
|
+
pwd = Dir.pwd
|
|
91
|
+
libver = create_library_version_if_yardopts_exist(library, pwd)
|
|
92
|
+
|
|
93
|
+
# Check default location
|
|
94
|
+
yfile = File.join(pwd, Registry::DEFAULT_YARDOC_FILE)
|
|
95
|
+
libver ||= YARD::Server::LibraryVersion.new(library, nil, yfile)
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# Register library
|
|
99
|
+
if libver
|
|
100
|
+
libver.yardoc_file = File.expand_path(libver.yardoc_file) if libver.yardoc_file
|
|
101
|
+
libver.source_path = File.expand_path(libver.source_path) if libver.source_path
|
|
102
|
+
libraries[library] ||= []
|
|
103
|
+
libraries[library] |= [libver]
|
|
104
|
+
else
|
|
105
|
+
log.warn "Cannot find yardoc db for #{library}: #{dir.inspect}"
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# @param [String] library The library name.
|
|
111
|
+
# @param [String, nil] dir The argument provided on the CLI after the
|
|
112
|
+
# library name. Is supposed to point to either a project directory
|
|
113
|
+
# with a Yard options file, or a yardoc db.
|
|
114
|
+
# @return [LibraryVersion, nil]
|
|
115
|
+
def create_library_version_if_yardopts_exist(library, dir)
|
|
116
|
+
if dir
|
|
117
|
+
options_file = File.join(dir, Yardoc::DEFAULT_YARDOPTS_FILE)
|
|
118
|
+
if File.exist?(options_file)
|
|
119
|
+
# Found yardopts, extract db path
|
|
120
|
+
yfile = extract_db_from_options_file(options_file)
|
|
121
|
+
db = File.expand_path(yfile, dir)
|
|
122
|
+
|
|
123
|
+
# Create libver
|
|
124
|
+
libver = YARD::Server::LibraryVersion.new(library, nil, db)
|
|
125
|
+
libver.source_path = dir
|
|
126
|
+
libver
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def add_gems
|
|
132
|
+
require 'rubygems'
|
|
133
|
+
YARD::GemIndex.each do |spec|
|
|
134
|
+
libraries[spec.name] ||= []
|
|
135
|
+
libraries[spec.name] |= [YARD::Server::LibraryVersion.new(spec.name, spec.version.to_s,
|
|
136
|
+
nil, :gem)]
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
def add_gems_from_gemfile(gemfile = nil)
|
|
141
|
+
require 'bundler'
|
|
142
|
+
gemfile ||= "Gemfile"
|
|
143
|
+
if File.exist?("#{gemfile}.lock")
|
|
144
|
+
Bundler::LockfileParser.new(File.read("#{gemfile}.lock")).specs.each do |spec|
|
|
145
|
+
libraries[spec.name] ||= []
|
|
146
|
+
libraries[spec.name] |= [YARD::Server::LibraryVersion.new(spec.name,
|
|
147
|
+
spec.version.to_s, nil, :gem)]
|
|
148
|
+
end
|
|
149
|
+
else
|
|
150
|
+
log.warn "Cannot find #{gemfile}.lock, ignoring --gemfile option"
|
|
151
|
+
end
|
|
152
|
+
rescue LoadError
|
|
153
|
+
log.error "Bundler not available, ignoring --gemfile option"
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
def optparse(*args)
|
|
157
|
+
opts = OptionParser.new
|
|
158
|
+
opts.banner = 'Usage: yard server [options] [[library yardoc_file] ...]'
|
|
159
|
+
opts.separator ''
|
|
160
|
+
opts.separator 'Example: yard server -m yard .yardoc ruby-core ../ruby/.yardoc'
|
|
161
|
+
opts.separator 'The above example serves documentation for YARD and Ruby-core'
|
|
162
|
+
opts.separator ''
|
|
163
|
+
opts.separator 'If no library/yardoc_file is specified, the server uses'
|
|
164
|
+
opts.separator 'the name of the current directory and `.yardoc` respectively'
|
|
165
|
+
opts.separator ''
|
|
166
|
+
opts.separator "General Options:"
|
|
167
|
+
opts.on('-m', '--multi-library', 'Serves documentation for multiple libraries') do
|
|
168
|
+
options[:single_library] = false
|
|
169
|
+
end
|
|
170
|
+
opts.on('-c', '--cache', 'Caches all documentation to document root (see --docroot)') do
|
|
171
|
+
options[:caching] = true
|
|
172
|
+
end
|
|
173
|
+
opts.on('-r', '--reload', 'Reparses the library code on each request') do
|
|
174
|
+
options[:incremental] = true
|
|
175
|
+
end
|
|
176
|
+
opts.on('-g', '--gems', 'Serves documentation for installed gems') do
|
|
177
|
+
add_gems
|
|
178
|
+
end
|
|
179
|
+
opts.on('-G', '--gemfile [GEMFILE]',
|
|
180
|
+
'Serves documentation for gems from Gemfile') do |gemfile|
|
|
181
|
+
add_gems_from_gemfile(gemfile)
|
|
182
|
+
end
|
|
183
|
+
opts.on('-t', '--template-path PATH',
|
|
184
|
+
'The template path to look for templates in. (used with -t).') do |path|
|
|
185
|
+
template_paths << path
|
|
186
|
+
end
|
|
187
|
+
opts.separator ''
|
|
188
|
+
opts.separator "Web Server Options:"
|
|
189
|
+
opts.on('-d', '--daemon', 'Daemonizes the server process') do
|
|
190
|
+
server_options[:daemonize] = true
|
|
191
|
+
end
|
|
192
|
+
opts.on('-B HOST', '--bind', 'The host address to bind to') do |host|
|
|
193
|
+
server_options[:Host] = host.to_s
|
|
194
|
+
end
|
|
195
|
+
opts.on('-p PORT', '--port', 'Serves documentation on PORT') do |port|
|
|
196
|
+
server_options[:Port] = port.to_i
|
|
197
|
+
end
|
|
198
|
+
opts.on('--docroot DOCROOT', 'Uses DOCROOT as document root') do |docroot|
|
|
199
|
+
server_options[:DocumentRoot] = File.expand_path(docroot)
|
|
200
|
+
end
|
|
201
|
+
opts.on('-a', '--adapter ADAPTER',
|
|
202
|
+
'Use the ADAPTER (full Ruby class) for web server') do |adapter|
|
|
203
|
+
self.adapter = if adapter.casecmp('webrick') == 0
|
|
204
|
+
YARD::Server::WebrickAdapter
|
|
205
|
+
elsif adapter.casecmp('rack') == 0
|
|
206
|
+
YARD::Server::RackAdapter
|
|
207
|
+
else
|
|
208
|
+
eval(adapter) # rubocop:disable Security/Eval
|
|
209
|
+
end
|
|
210
|
+
end
|
|
211
|
+
opts.on('-s', '--server TYPE',
|
|
212
|
+
'Use a specific server type eg. thin,mongrel,cgi (Rack specific)') do |type|
|
|
213
|
+
server_options[:server] = type
|
|
214
|
+
end
|
|
215
|
+
opts.on('--fork', 'Use process forking when serving requests') do
|
|
216
|
+
options[:use_fork] = true
|
|
217
|
+
end
|
|
218
|
+
common_options(opts)
|
|
219
|
+
opts.on('-e', '--load FILE',
|
|
220
|
+
'A Ruby script to load before the source tree is parsed.') do |file|
|
|
221
|
+
scripts << file
|
|
222
|
+
end
|
|
223
|
+
parse_options(opts, args)
|
|
224
|
+
|
|
225
|
+
if args.empty? && libraries.empty?
|
|
226
|
+
# No args - try to use current dir
|
|
227
|
+
add_libraries([File.basename(Dir.pwd), nil])
|
|
228
|
+
|
|
229
|
+
# Generate doc for first time
|
|
230
|
+
# This is not necessary but makes for a better first-run experience
|
|
231
|
+
libver = libraries.empty? ? nil : libraries.values.first.first
|
|
232
|
+
generate_doc_for_first_time(libver) if libver && !libver.ready?
|
|
233
|
+
else
|
|
234
|
+
add_libraries(args)
|
|
235
|
+
options[:single_library] = false if libraries.size > 1
|
|
236
|
+
end
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
def generate_doc_for_first_time(libver)
|
|
240
|
+
log.enter_level(Logger::INFO) do
|
|
241
|
+
yardoc_file = libver.yardoc_file.sub(%r{^#{Regexp.quote Dir.pwd}[\\/]+}, '')
|
|
242
|
+
log.info "No yardoc db found in #{yardoc_file}, parsing source before starting server..."
|
|
243
|
+
end
|
|
244
|
+
Dir.chdir(libver.source_path) do
|
|
245
|
+
Yardoc.run('-n')
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
def extract_db_from_options_file(options_file)
|
|
250
|
+
args = File.read_binary(options_file).shell_split
|
|
251
|
+
db = YARD::Registry.yardoc_file
|
|
252
|
+
opts = OptionParser.new
|
|
253
|
+
opts.on('-b', '--db FILE') {|file| db = file }
|
|
254
|
+
|
|
255
|
+
begin
|
|
256
|
+
opts.parse!(args)
|
|
257
|
+
rescue OptionParser::ParseError
|
|
258
|
+
args.shift if args.first && args.first[0, 1] != '-'
|
|
259
|
+
retry
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
db
|
|
263
|
+
end
|
|
264
|
+
end
|
|
265
|
+
end
|
|
266
|
+
end
|