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,93 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module YARD
|
|
3
|
+
module CLI
|
|
4
|
+
# This class parses a command name out of the +yard+ CLI command and calls
|
|
5
|
+
# that command in the form:
|
|
6
|
+
#
|
|
7
|
+
# $ yard command_name [options]
|
|
8
|
+
#
|
|
9
|
+
# If no command or arguments are specified, or if the arguments immediately
|
|
10
|
+
# begin with a +--opt+ (not +--help+), the {default_command} will be used
|
|
11
|
+
# (which itself defaults to +:doc+).
|
|
12
|
+
#
|
|
13
|
+
# == Adding a Command
|
|
14
|
+
#
|
|
15
|
+
# To add a custom command via plugin, create a mapping in {commands} from
|
|
16
|
+
# the Symbolic command name to the {Command} class that implements the
|
|
17
|
+
# command. To implement a command, see the documentation for the {Command}
|
|
18
|
+
# class.
|
|
19
|
+
#
|
|
20
|
+
# @see Command
|
|
21
|
+
# @see commands
|
|
22
|
+
# @see default_command
|
|
23
|
+
class CommandParser
|
|
24
|
+
class << self
|
|
25
|
+
# @return [Hash{Symbol => Command}] the mapping of command names to
|
|
26
|
+
# command classes to parse the user command.
|
|
27
|
+
attr_accessor :commands
|
|
28
|
+
|
|
29
|
+
# @return [Symbol] the default command name to use when no options
|
|
30
|
+
# are specified or
|
|
31
|
+
attr_accessor :default_command
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
self.commands = SymbolHash[
|
|
35
|
+
:config => Config,
|
|
36
|
+
:diff => Diff,
|
|
37
|
+
:display => Display,
|
|
38
|
+
:doc => Yardoc,
|
|
39
|
+
:gems => Gems,
|
|
40
|
+
:graph => Graph,
|
|
41
|
+
:help => Help,
|
|
42
|
+
:list => List,
|
|
43
|
+
:markups => MarkupTypes,
|
|
44
|
+
:ri => YRI,
|
|
45
|
+
:server => Server,
|
|
46
|
+
:stats => Stats,
|
|
47
|
+
:i18n => I18n
|
|
48
|
+
]
|
|
49
|
+
|
|
50
|
+
self.default_command = :doc
|
|
51
|
+
|
|
52
|
+
# Convenience method to create a new CommandParser and call {#run}
|
|
53
|
+
# @return (see #run)
|
|
54
|
+
def self.run(*args) new.run(*args) end
|
|
55
|
+
|
|
56
|
+
def initialize
|
|
57
|
+
log.show_backtraces = false
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Runs the {Command} object matching the command name of the first
|
|
61
|
+
# argument.
|
|
62
|
+
# @return [void]
|
|
63
|
+
def run(*args)
|
|
64
|
+
unless args == ['--help']
|
|
65
|
+
if args.empty? || args.first =~ /^-/
|
|
66
|
+
command_name = self.class.default_command
|
|
67
|
+
else
|
|
68
|
+
command_name = args.first.to_sym
|
|
69
|
+
args.shift
|
|
70
|
+
end
|
|
71
|
+
if commands.key?(command_name)
|
|
72
|
+
return commands[command_name].run(*args)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
list_commands
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
private
|
|
79
|
+
|
|
80
|
+
def commands; self.class.commands end
|
|
81
|
+
|
|
82
|
+
def list_commands
|
|
83
|
+
log.puts "Usage: yard <command> [options]"
|
|
84
|
+
log.puts
|
|
85
|
+
log.puts "Commands:"
|
|
86
|
+
commands.keys.sort_by(&:to_s).each do |command_name|
|
|
87
|
+
command = commands[command_name].new
|
|
88
|
+
log.puts "%-8s %s" % [command_name, command.description]
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module YARD
|
|
3
|
+
module CLI
|
|
4
|
+
# CLI command to view or edit configuration options
|
|
5
|
+
# @since 0.6.2
|
|
6
|
+
class Config < Command
|
|
7
|
+
# @return [Symbol, nil] the key to view/edit, if any
|
|
8
|
+
attr_accessor :key
|
|
9
|
+
|
|
10
|
+
# @return [Array, nil] the list of values to set (or single value), if modifying
|
|
11
|
+
attr_accessor :values
|
|
12
|
+
|
|
13
|
+
# @return [Boolean] whether to reset the {#key}
|
|
14
|
+
attr_accessor :reset
|
|
15
|
+
|
|
16
|
+
# @return [Boolean] whether the value being set should be inside a list
|
|
17
|
+
attr_accessor :as_list
|
|
18
|
+
|
|
19
|
+
# @return [Boolean] whether to append values to existing key
|
|
20
|
+
attr_accessor :append
|
|
21
|
+
|
|
22
|
+
# @return [String, nil] command to use when configuring ~/.gemrc file.
|
|
23
|
+
# If the string is nil, configuration should not occur.
|
|
24
|
+
attr_accessor :gem_install_cmd
|
|
25
|
+
|
|
26
|
+
def initialize
|
|
27
|
+
super
|
|
28
|
+
self.key = nil
|
|
29
|
+
self.values = []
|
|
30
|
+
self.reset = false
|
|
31
|
+
self.append = false
|
|
32
|
+
self.as_list = false
|
|
33
|
+
self.gem_install_cmd = nil
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def description
|
|
37
|
+
'Views or edits current global configuration'
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def run(*args)
|
|
41
|
+
optparse(*args)
|
|
42
|
+
if gem_install_cmd
|
|
43
|
+
configure_gemrc
|
|
44
|
+
elsif key
|
|
45
|
+
if reset || !values.empty?
|
|
46
|
+
modify_item
|
|
47
|
+
else
|
|
48
|
+
view_item
|
|
49
|
+
end
|
|
50
|
+
else
|
|
51
|
+
list_configuration
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
private
|
|
56
|
+
|
|
57
|
+
def configure_gemrc
|
|
58
|
+
return unless gem_install_cmd
|
|
59
|
+
|
|
60
|
+
require 'rubygems'
|
|
61
|
+
|
|
62
|
+
['install', :install, 'gem', :gem].find do |cmd|
|
|
63
|
+
conf = Gem.configuration[cmd] || ""
|
|
64
|
+
next if conf.empty? && cmd != :gem
|
|
65
|
+
|
|
66
|
+
conf = conf.split(/\s+/)
|
|
67
|
+
conf.delete_if {|c| c =~ /^--(no-)?document\b/ } # scrub doc args
|
|
68
|
+
conf |= ["--document=#{gem_install_cmd}"]
|
|
69
|
+
conf = conf.join(' ')
|
|
70
|
+
|
|
71
|
+
Gem.configuration[cmd] = conf
|
|
72
|
+
Gem.configuration.write
|
|
73
|
+
log.puts "Updated #{Gem.configuration.path || '~/.gemrc'}: '#{cmd}: #{conf}'"
|
|
74
|
+
true
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def modify_item
|
|
79
|
+
if reset
|
|
80
|
+
log.debug "Resetting #{key}"
|
|
81
|
+
YARD::Config.options[key] = YARD::Config::DEFAULT_CONFIG_OPTIONS[key]
|
|
82
|
+
else
|
|
83
|
+
log.debug "Setting #{key} to #{values.inspect}"
|
|
84
|
+
items = encode_values
|
|
85
|
+
current_items = YARD::Config.options[key]
|
|
86
|
+
items = [current_items].flatten + [items].flatten if append
|
|
87
|
+
YARD::Config.options[key] = items
|
|
88
|
+
end
|
|
89
|
+
YARD::Config.save
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def view_item
|
|
93
|
+
log.debug "Viewing #{key}"
|
|
94
|
+
log.puts YARD::Config.options[key].inspect
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def list_configuration
|
|
98
|
+
log.debug "Listing configuration"
|
|
99
|
+
require 'yaml'
|
|
100
|
+
log.puts YAML.dump(YARD::Config.options).sub(/\A--.*\n/, '').gsub(/\n\n/, "\n")
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def encode_values
|
|
104
|
+
if values.size == 1 && !as_list
|
|
105
|
+
encode_value(values.first)
|
|
106
|
+
else
|
|
107
|
+
values.map {|v| encode_value(v) }
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
def encode_value(value)
|
|
112
|
+
case value
|
|
113
|
+
when /^-?\d+/; value.to_i
|
|
114
|
+
when "true"; true
|
|
115
|
+
when "false"; false
|
|
116
|
+
else value
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
def optparse(*args)
|
|
121
|
+
list = false
|
|
122
|
+
self.as_list = false
|
|
123
|
+
self.append = false
|
|
124
|
+
opts = OptionParser.new
|
|
125
|
+
opts.banner = "Usage: yard config [options] [item [value ...]]"
|
|
126
|
+
opts.separator ""
|
|
127
|
+
opts.separator "Example: yard config load_plugins true"
|
|
128
|
+
opts.separator ""
|
|
129
|
+
opts.separator "Views and sets configuration items. If an item is provided"
|
|
130
|
+
opts.separator "With no value, the item is viewed. If a value is provided,"
|
|
131
|
+
opts.separator "the item is modified. Specifying no item is equivalent to --list."
|
|
132
|
+
opts.separator "If you specify multiple space delimited values, these are"
|
|
133
|
+
opts.separator "parsed as an array of values."
|
|
134
|
+
opts.separator ""
|
|
135
|
+
opts.separator "Note that `true` and `false` are reserved words."
|
|
136
|
+
opts.separator ""
|
|
137
|
+
opts.separator "---------------------------------------------------------"
|
|
138
|
+
opts.separator ""
|
|
139
|
+
opts.separator "Configuring RubyGems support:"
|
|
140
|
+
opts.separator ""
|
|
141
|
+
opts.separator "YARD can automatically generate the YRI index or HTML"
|
|
142
|
+
opts.separator "documentation in a `gem install` by adding the following"
|
|
143
|
+
opts.separator "to your ~/.gemrc file:"
|
|
144
|
+
opts.separator ""
|
|
145
|
+
opts.separator " gem: \"--document=yri\""
|
|
146
|
+
opts.separator ""
|
|
147
|
+
opts.separator "Note: you can add 'yard' to also generate HTML docs."
|
|
148
|
+
opts.separator " You can also add 'ri' to continue generating RDoc."
|
|
149
|
+
opts.separator ""
|
|
150
|
+
opts.separator "You can also run the following command to configure this"
|
|
151
|
+
opts.separator "behavior automatically:"
|
|
152
|
+
opts.separator ""
|
|
153
|
+
opts.separator " $ yard config --gem-install-yri"
|
|
154
|
+
opts.separator ""
|
|
155
|
+
opts.separator "Add --gem-install-yard to also generate HTML."
|
|
156
|
+
opts.separator ""
|
|
157
|
+
opts.separator "---------------------------------------------------------"
|
|
158
|
+
opts.separator ""
|
|
159
|
+
opts.separator "General options:"
|
|
160
|
+
|
|
161
|
+
opts.on('-l', '--list', 'List current configuration') do
|
|
162
|
+
list = true
|
|
163
|
+
end
|
|
164
|
+
opts.on('-r', '--reset', 'Resets the specific item to default') do
|
|
165
|
+
self.reset = true
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
opts.separator ""
|
|
169
|
+
opts.separator "Modifying keys:"
|
|
170
|
+
|
|
171
|
+
opts.on('-a', '--append', 'Appends items to existing key values') do
|
|
172
|
+
self.append = true
|
|
173
|
+
end
|
|
174
|
+
opts.on('--as-list', 'Forces the value(s) to be wrapped in an array') do
|
|
175
|
+
self.as_list = true
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
opts.separator ""
|
|
179
|
+
opts.separator "Add RubyGems install hook:"
|
|
180
|
+
|
|
181
|
+
opts.on('--gem-install-yri', 'Configures ~/.gemrc to run yri on a gem install') do
|
|
182
|
+
self.gem_install_cmd = 'yri' if gem_install_cmd != 'yard'
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
opts.on('--gem-install-yard', 'Configures ~/.gemrc to run yard on a gem install') do
|
|
186
|
+
self.gem_install_cmd = 'yard'
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
common_options(opts)
|
|
190
|
+
parse_options(opts, args)
|
|
191
|
+
args = [] if list
|
|
192
|
+
self.key = args.shift.to_sym if args.size >= 1
|
|
193
|
+
self.values = args if args.size >= 1
|
|
194
|
+
args
|
|
195
|
+
end
|
|
196
|
+
end
|
|
197
|
+
end
|
|
198
|
+
end
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require 'tmpdir'
|
|
3
|
+
require 'fileutils'
|
|
4
|
+
require 'open-uri'
|
|
5
|
+
require 'open3'
|
|
6
|
+
|
|
7
|
+
module YARD
|
|
8
|
+
module CLI
|
|
9
|
+
# CLI command to return the objects that were added/removed from 2 versions
|
|
10
|
+
# of a project (library, gem, working copy).
|
|
11
|
+
# @since 0.6.0
|
|
12
|
+
class Diff < Command
|
|
13
|
+
def initialize
|
|
14
|
+
super
|
|
15
|
+
@list_all = false
|
|
16
|
+
@use_git = false
|
|
17
|
+
@compact = false
|
|
18
|
+
@modified = true
|
|
19
|
+
@verifier = Verifier.new
|
|
20
|
+
@old_git_commit = nil
|
|
21
|
+
@old_path = Dir.pwd
|
|
22
|
+
log.show_backtraces = true
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def description
|
|
26
|
+
'Returns the object diff of two gems or .yardoc files'
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def run(*args)
|
|
30
|
+
registry = optparse(*args).map do |gemfile|
|
|
31
|
+
if @use_git
|
|
32
|
+
load_git_commit(gemfile)
|
|
33
|
+
all_objects
|
|
34
|
+
elsif load_gem_data(gemfile)
|
|
35
|
+
log.info "Found #{gemfile}"
|
|
36
|
+
all_objects
|
|
37
|
+
else
|
|
38
|
+
log.error "Cannot find gem #{gemfile}"
|
|
39
|
+
nil
|
|
40
|
+
end
|
|
41
|
+
end.compact
|
|
42
|
+
|
|
43
|
+
return if registry.size != 2
|
|
44
|
+
|
|
45
|
+
first_object = nil
|
|
46
|
+
[["Added objects", "A", added_objects(*registry)],
|
|
47
|
+
["Modified objects", "M", modified_objects(*registry)],
|
|
48
|
+
["Removed objects", "D", removed_objects(*registry)]].each do |name, short, objects|
|
|
49
|
+
next if short == "M" && @modified == false
|
|
50
|
+
next if objects.empty?
|
|
51
|
+
last_object = nil
|
|
52
|
+
all_objects_notice = false
|
|
53
|
+
log.puts name + ":" unless @compact
|
|
54
|
+
objects.sort_by(&:path).each do |object|
|
|
55
|
+
if !@list_all && last_object && object.parent == last_object
|
|
56
|
+
log.print " (...)" unless all_objects_notice
|
|
57
|
+
all_objects_notice = true
|
|
58
|
+
next
|
|
59
|
+
elsif @compact
|
|
60
|
+
log.puts if first_object
|
|
61
|
+
else
|
|
62
|
+
log.puts
|
|
63
|
+
end
|
|
64
|
+
all_objects_notice = false
|
|
65
|
+
log.print "" + (@compact ? "#{short} " : " ") +
|
|
66
|
+
object.path + " (#{object.file}:#{object.line})"
|
|
67
|
+
last_object = object
|
|
68
|
+
first_object = true
|
|
69
|
+
end
|
|
70
|
+
unless @compact
|
|
71
|
+
log.puts; log.puts
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
log.puts if @compact
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
private
|
|
78
|
+
|
|
79
|
+
def all_objects
|
|
80
|
+
return Registry.all if @verifier.expressions.empty?
|
|
81
|
+
@verifier.run(Registry.all)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def added_objects(registry1, registry2)
|
|
85
|
+
registry2.reject {|o| registry1.find {|o2| o2.path == o.path } }
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def modified_objects(registry1, registry2)
|
|
89
|
+
registry1.select do |obj|
|
|
90
|
+
case obj
|
|
91
|
+
when CodeObjects::MethodObject
|
|
92
|
+
registry2.find {|o| obj == o && o.source != obj.source }
|
|
93
|
+
when CodeObjects::ConstantObject
|
|
94
|
+
registry2.find {|o| obj == o && o.value != obj.value }
|
|
95
|
+
end
|
|
96
|
+
end.compact
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def removed_objects(registry1, registry2)
|
|
100
|
+
registry1.reject {|o| registry2.find {|o2| o2.path == o.path } }
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def load_git_commit(commit)
|
|
104
|
+
Registry.clear
|
|
105
|
+
commit_path = 'git_commit' + commit.gsub(/\W/, '_')
|
|
106
|
+
tmpdir = File.join(Dir.tmpdir, commit_path)
|
|
107
|
+
log.info "Expanding #{commit} to #{tmpdir}..."
|
|
108
|
+
Dir.chdir(@old_path)
|
|
109
|
+
FileUtils.mkdir_p(tmpdir)
|
|
110
|
+
FileUtils.cp_r('.', tmpdir)
|
|
111
|
+
Dir.chdir(tmpdir)
|
|
112
|
+
out, status = Open3.capture2e('git', 'reset', '--hard', commit)
|
|
113
|
+
log.info("git says: " + out.chomp)
|
|
114
|
+
unless status.success?
|
|
115
|
+
raise "git reset --hard #{commit.inspect} failed with exit status #{status.exitstatus}: #{out}"
|
|
116
|
+
end
|
|
117
|
+
generate_yardoc(tmpdir)
|
|
118
|
+
ensure
|
|
119
|
+
Dir.chdir(@old_path)
|
|
120
|
+
cleanup(commit_path)
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def load_gem_data(gemfile)
|
|
124
|
+
require_rubygems
|
|
125
|
+
Registry.clear
|
|
126
|
+
|
|
127
|
+
# First check for argument as .yardoc file
|
|
128
|
+
[File.join(gemfile, '.yardoc'), gemfile].each do |yardoc|
|
|
129
|
+
log.info "Searching for .yardoc db at #{yardoc}"
|
|
130
|
+
next unless File.directory?(yardoc)
|
|
131
|
+
Registry.load_yardoc(yardoc)
|
|
132
|
+
Registry.load_all
|
|
133
|
+
return true
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
# Next check installed RubyGems
|
|
137
|
+
gemfile_without_ext = gemfile.sub(/\.gem$/, '')
|
|
138
|
+
log.info "Searching for installed gem #{gemfile_without_ext}"
|
|
139
|
+
YARD::GemIndex.each.find do |spec|
|
|
140
|
+
next unless spec.full_name == gemfile_without_ext
|
|
141
|
+
yardoc = Registry.yardoc_file_for_gem(spec.name, "= #{spec.version}")
|
|
142
|
+
if yardoc
|
|
143
|
+
Registry.load_yardoc(yardoc)
|
|
144
|
+
Registry.load_all
|
|
145
|
+
else
|
|
146
|
+
log.enter_level(Logger::ERROR) do
|
|
147
|
+
olddir = Dir.pwd
|
|
148
|
+
Gems.run(spec.name, spec.version.to_s)
|
|
149
|
+
Dir.chdir(olddir)
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
return true
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
# Look for local .gem file
|
|
156
|
+
gemfile += '.gem' unless gemfile =~ /\.gem$/
|
|
157
|
+
log.info "Searching for local gem file #{gemfile}"
|
|
158
|
+
if File.exist?(gemfile)
|
|
159
|
+
File.open(gemfile, 'rb') do |io|
|
|
160
|
+
expand_and_parse(gemfile, io)
|
|
161
|
+
end
|
|
162
|
+
return true
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
# Remote gemfile from rubygems.org
|
|
166
|
+
url = "https://rubygems.org/downloads/#{gemfile}"
|
|
167
|
+
log.info "Searching for remote gem file #{url}"
|
|
168
|
+
begin
|
|
169
|
+
# Note: In Ruby 2.4.x, URI.open is a private method. After
|
|
170
|
+
# 2.5, URI.open behaves much like Kernel#open once you've
|
|
171
|
+
# required 'open-uri'
|
|
172
|
+
OpenURI.open_uri(url) {|io| expand_and_parse(gemfile, io) }
|
|
173
|
+
return true
|
|
174
|
+
rescue OpenURI::HTTPError
|
|
175
|
+
nil # noop
|
|
176
|
+
end
|
|
177
|
+
false
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
def expand_and_parse(gemfile, io)
|
|
181
|
+
dir = expand_gem(gemfile, io)
|
|
182
|
+
generate_yardoc(dir)
|
|
183
|
+
cleanup(gemfile)
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
def generate_yardoc(dir)
|
|
187
|
+
Dir.chdir(dir) do
|
|
188
|
+
log.enter_level(Logger::ERROR) { Yardoc.run('-n', '--no-save') }
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
def expand_gem(gemfile, io)
|
|
193
|
+
tmpdir = File.join(Dir.tmpdir, gemfile)
|
|
194
|
+
FileUtils.mkdir_p(tmpdir)
|
|
195
|
+
log.info "Expanding #{gemfile} to #{tmpdir}..."
|
|
196
|
+
|
|
197
|
+
if Gem::VERSION >= '2.0.0'
|
|
198
|
+
require 'rubygems/package/tar_reader'
|
|
199
|
+
reader = Gem::Package::TarReader.new(io)
|
|
200
|
+
reader.each do |pkg|
|
|
201
|
+
next unless pkg.full_name == 'data.tar.gz'
|
|
202
|
+
Zlib::GzipReader.wrap(pkg) do |gzio|
|
|
203
|
+
tar = Gem::Package::TarReader.new(gzio)
|
|
204
|
+
tar.each do |entry|
|
|
205
|
+
file = File.join(tmpdir, entry.full_name)
|
|
206
|
+
FileUtils.mkdir_p(File.dirname(file))
|
|
207
|
+
File.open(file, 'wb') do |out|
|
|
208
|
+
out.write(entry.read)
|
|
209
|
+
begin
|
|
210
|
+
out.fsync
|
|
211
|
+
rescue NotImplementedError
|
|
212
|
+
nil # noop
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
end
|
|
216
|
+
end
|
|
217
|
+
break
|
|
218
|
+
end
|
|
219
|
+
else
|
|
220
|
+
Gem::Package.open(io) do |pkg|
|
|
221
|
+
pkg.each do |entry|
|
|
222
|
+
pkg.extract_entry(tmpdir, entry)
|
|
223
|
+
end
|
|
224
|
+
end
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
tmpdir
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
def require_rubygems
|
|
231
|
+
require 'rubygems'
|
|
232
|
+
require 'rubygems/package'
|
|
233
|
+
rescue LoadError => e
|
|
234
|
+
log.error "Missing RubyGems, cannot run this command."
|
|
235
|
+
raise(e)
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
def cleanup(gemfile)
|
|
239
|
+
dir = File.join(Dir.tmpdir, gemfile)
|
|
240
|
+
log.info "Cleaning up #{dir}..."
|
|
241
|
+
FileUtils.rm_rf(dir)
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
def optparse(*args)
|
|
245
|
+
opts = OptionParser.new
|
|
246
|
+
opts.banner = "Usage: yard diff [options] oldgem newgem"
|
|
247
|
+
opts.separator ""
|
|
248
|
+
opts.separator "Example: yard diff yard-0.5.6 yard-0.5.8"
|
|
249
|
+
opts.separator ""
|
|
250
|
+
opts.separator "If the files don't exist locally, they will be grabbed using the `gem fetch`"
|
|
251
|
+
opts.separator "command. If the gem is a .yardoc directory, it will be used. Finally, if the"
|
|
252
|
+
opts.separator "gem name matches an installed gem (full name-version syntax), that gem will be used."
|
|
253
|
+
|
|
254
|
+
opts.on('-a', '--all', 'List all objects, even if they are inside added/removed module/class') do
|
|
255
|
+
@list_all = true
|
|
256
|
+
end
|
|
257
|
+
opts.on('--compact', 'Show compact results') { @compact = true }
|
|
258
|
+
opts.on('--git', 'Compare versions from two git commit/branches') do
|
|
259
|
+
@use_git = true
|
|
260
|
+
end
|
|
261
|
+
opts.on('--query QUERY', 'Only diff filtered objects') do |query|
|
|
262
|
+
@verifier.add_expressions(query)
|
|
263
|
+
end
|
|
264
|
+
opts.on('--no-modified', 'Ignore modified objects') do
|
|
265
|
+
@modified = false
|
|
266
|
+
end
|
|
267
|
+
common_options(opts)
|
|
268
|
+
parse_options(opts, args)
|
|
269
|
+
unless args.size == 2
|
|
270
|
+
log.puts opts.banner
|
|
271
|
+
exit(0)
|
|
272
|
+
end
|
|
273
|
+
|
|
274
|
+
args
|
|
275
|
+
end
|
|
276
|
+
end
|
|
277
|
+
end
|
|
278
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module YARD
|
|
3
|
+
module CLI
|
|
4
|
+
# Display one object
|
|
5
|
+
# @since 0.8.6
|
|
6
|
+
class Display < Yardoc
|
|
7
|
+
def description; 'Displays a formatted object' end
|
|
8
|
+
|
|
9
|
+
def initialize(*args)
|
|
10
|
+
super
|
|
11
|
+
options.format = :text # default for this command
|
|
12
|
+
@layout = nil
|
|
13
|
+
@objects = []
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Runs the commandline utility, parsing arguments and displaying an object
|
|
17
|
+
# from the {Registry}.
|
|
18
|
+
#
|
|
19
|
+
# @param [Array<String>] args the list of arguments.
|
|
20
|
+
# @return [void]
|
|
21
|
+
def run(*args)
|
|
22
|
+
return unless parse_arguments(*args)
|
|
23
|
+
log.puts wrap_layout(format_objects)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# @return [String] the output data for all formatted objects
|
|
27
|
+
def format_objects
|
|
28
|
+
@objects.inject([]) do |arr, obj|
|
|
29
|
+
arr.push obj.format(options)
|
|
30
|
+
end.join("\n")
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def wrap_layout(contents)
|
|
34
|
+
return contents unless @layout
|
|
35
|
+
opts = options.merge(
|
|
36
|
+
:contents => contents,
|
|
37
|
+
:object => @objects.first,
|
|
38
|
+
:objects => @objects
|
|
39
|
+
)
|
|
40
|
+
args = [options.template, @layout, options.format]
|
|
41
|
+
Templates::Engine.template(*args).run(opts)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Parses commandline options.
|
|
45
|
+
# @param [Array<String>] args each tokenized argument
|
|
46
|
+
def parse_arguments(*args)
|
|
47
|
+
opts = OptionParser.new
|
|
48
|
+
opts.banner = "Usage: yard display [options] OBJECT [OTHER OBJECTS]"
|
|
49
|
+
general_options(opts)
|
|
50
|
+
output_options(opts)
|
|
51
|
+
parse_options(opts, args)
|
|
52
|
+
|
|
53
|
+
Registry.load
|
|
54
|
+
@objects = args.map {|o| Registry.at(o) }
|
|
55
|
+
|
|
56
|
+
# validation
|
|
57
|
+
return false if @objects.any?(&:nil?)
|
|
58
|
+
verify_markup_options
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def output_options(opts)
|
|
62
|
+
super(opts)
|
|
63
|
+
opts.on('-l', '--layout [LAYOUT]', 'Wraps output in layout template (good for HTML)') do |layout|
|
|
64
|
+
@layout = layout || 'layout'
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|