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,365 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
#--
|
|
3
|
+
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
|
|
4
|
+
# All rights reserved.
|
|
5
|
+
# See LICENSE.txt for permissions.
|
|
6
|
+
#++
|
|
7
|
+
|
|
8
|
+
require 'rubygems/specification'
|
|
9
|
+
|
|
10
|
+
##
|
|
11
|
+
# The SourceIndex object indexes all the gems available from a
|
|
12
|
+
# particular source (e.g. a list of gem directories, or a remote
|
|
13
|
+
# source). A SourceIndex maps a gem full name to a gem
|
|
14
|
+
# specification.
|
|
15
|
+
#
|
|
16
|
+
# NOTE:: The class used to be named Cache, but that became
|
|
17
|
+
# confusing when cached source fetchers where introduced. The
|
|
18
|
+
# constant Gem::Cache is an alias for this class to allow old
|
|
19
|
+
# YAMLized source index objects to load properly.
|
|
20
|
+
|
|
21
|
+
class Gem::SourceIndex
|
|
22
|
+
# Undef old methods
|
|
23
|
+
alias old_initialize initialize
|
|
24
|
+
undef old_initialize
|
|
25
|
+
%w(all_gems prerelease_gems load_gems_in latest_specs prerelease_specs
|
|
26
|
+
released_specs add_spec add_specs remove_spec each specification
|
|
27
|
+
index_signature gem_signature size length find_name search released_gems
|
|
28
|
+
refresh! outdated == dump gems spec_dirs spec_dirs=).each do |meth|
|
|
29
|
+
undef_method(meth) if method_defined?(meth)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
include Enumerable
|
|
33
|
+
|
|
34
|
+
attr_reader :gems # :nodoc:
|
|
35
|
+
|
|
36
|
+
##
|
|
37
|
+
# Directories to use to refresh this SourceIndex when calling refresh!
|
|
38
|
+
|
|
39
|
+
attr_accessor :spec_dirs
|
|
40
|
+
|
|
41
|
+
class << self
|
|
42
|
+
# Undef old methods
|
|
43
|
+
%w(from_installed_gems installed_spec_directories
|
|
44
|
+
from_gems_in load_specification).each do |meth|
|
|
45
|
+
undef_method(meth) if instance_methods(true).find {|m| m.to_s == meth }
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
##
|
|
49
|
+
# Factory method to construct a source index instance for a given
|
|
50
|
+
# path.
|
|
51
|
+
#
|
|
52
|
+
# deprecated::
|
|
53
|
+
# If supplied, from_installed_gems will act just like
|
|
54
|
+
# +from_gems_in+. This argument is deprecated and is provided
|
|
55
|
+
# just for backwards compatibility, and should not generally
|
|
56
|
+
# be used.
|
|
57
|
+
#
|
|
58
|
+
# return::
|
|
59
|
+
# SourceIndex instance
|
|
60
|
+
|
|
61
|
+
def from_installed_gems(*deprecated)
|
|
62
|
+
if deprecated.empty?
|
|
63
|
+
from_gems_in(*installed_spec_directories)
|
|
64
|
+
else
|
|
65
|
+
from_gems_in(*deprecated) # HACK: warn
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
##
|
|
70
|
+
# Returns a list of directories from Gem.path that contain specifications.
|
|
71
|
+
|
|
72
|
+
def installed_spec_directories
|
|
73
|
+
Gem.path.collect {|dir| File.join(dir, "specifications") }
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
##
|
|
77
|
+
# Creates a new SourceIndex from the ruby format gem specifications in
|
|
78
|
+
# +spec_dirs+.
|
|
79
|
+
|
|
80
|
+
def from_gems_in(*spec_dirs)
|
|
81
|
+
source_index = new
|
|
82
|
+
source_index.spec_dirs = spec_dirs
|
|
83
|
+
source_index.refresh!
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
##
|
|
87
|
+
# Loads a ruby-format specification from +file_name+ and returns the
|
|
88
|
+
# loaded spec.
|
|
89
|
+
|
|
90
|
+
def load_specification(file_name)
|
|
91
|
+
Gem::Specification.load file_name
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
##
|
|
96
|
+
# Constructs a source index instance from the provided specifications, which
|
|
97
|
+
# is a Hash of gem full names and Gem::Specifications.
|
|
98
|
+
#--
|
|
99
|
+
# TODO merge @gems and @prerelease_gems and provide a separate method
|
|
100
|
+
# #prerelease_gems
|
|
101
|
+
|
|
102
|
+
def initialize(specifications = {})
|
|
103
|
+
@gems = {}
|
|
104
|
+
specifications.each {|_full_name, spec| add_spec spec }
|
|
105
|
+
@spec_dirs = nil
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
# TODO: remove method
|
|
109
|
+
def all_gems
|
|
110
|
+
@gems
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def prerelease_gems
|
|
114
|
+
@gems.reject {|_name, gem| !gem.version.prerelease? }
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
def released_gems
|
|
118
|
+
@gems.reject {|_name, gem| gem.version.prerelease? }
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
##
|
|
122
|
+
# Reconstruct the source index from the specifications in +spec_dirs+.
|
|
123
|
+
|
|
124
|
+
def load_gems_in(*spec_dirs)
|
|
125
|
+
@gems.clear
|
|
126
|
+
|
|
127
|
+
spec_dirs.reverse_each do |spec_dir|
|
|
128
|
+
spec_files = Dir.glob File.join(spec_dir, '*.gemspec')
|
|
129
|
+
|
|
130
|
+
spec_files.each do |spec_file|
|
|
131
|
+
gemspec = Gem::Specification.load spec_file
|
|
132
|
+
add_spec gemspec if gemspec
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
self
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
##
|
|
140
|
+
# Returns an Array specifications for the latest released versions
|
|
141
|
+
# of each gem in this index.
|
|
142
|
+
|
|
143
|
+
def latest_specs(include_prerelease = false)
|
|
144
|
+
result = Hash.new {|h, k| h[k] = [] }
|
|
145
|
+
latest = {}
|
|
146
|
+
|
|
147
|
+
sort.each do |_, spec|
|
|
148
|
+
name = spec.name
|
|
149
|
+
curr_ver = spec.version
|
|
150
|
+
prev_ver = latest.key?(name) ? latest[name].version : nil
|
|
151
|
+
|
|
152
|
+
next if !include_prerelease && curr_ver.prerelease?
|
|
153
|
+
next unless prev_ver.nil? || curr_ver >= prev_ver ||
|
|
154
|
+
latest[name].platform != Gem::Platform::RUBY
|
|
155
|
+
|
|
156
|
+
if prev_ver.nil? ||
|
|
157
|
+
(curr_ver > prev_ver && spec.platform == Gem::Platform::RUBY)
|
|
158
|
+
result[name].clear
|
|
159
|
+
latest[name] = spec
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
if spec.platform != Gem::Platform::RUBY
|
|
163
|
+
result[name].delete_if do |result_spec|
|
|
164
|
+
result_spec.platform == spec.platform
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
result[name] << spec
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# TODO: why is this a hash while @gems is an array? Seems like
|
|
172
|
+
# structural similarity would be good.
|
|
173
|
+
result.values.flatten
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
##
|
|
177
|
+
# An array including only the prerelease gemspecs
|
|
178
|
+
|
|
179
|
+
def prerelease_specs
|
|
180
|
+
prerelease_gems.values
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
##
|
|
184
|
+
# An array including only the released gemspecs
|
|
185
|
+
|
|
186
|
+
def released_specs
|
|
187
|
+
released_gems.values
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
##
|
|
191
|
+
# Add a gem specification to the source index.
|
|
192
|
+
|
|
193
|
+
def add_spec(gem_spec, name = gem_spec.full_name)
|
|
194
|
+
# No idea why, but the Indexer wants to insert them using original_name
|
|
195
|
+
# instead of full_name. So we make it an optional arg.
|
|
196
|
+
@gems[name] = gem_spec
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
##
|
|
200
|
+
# Add gem specifications to the source index.
|
|
201
|
+
|
|
202
|
+
def add_specs(*gem_specs)
|
|
203
|
+
gem_specs.each do |spec|
|
|
204
|
+
add_spec spec
|
|
205
|
+
end
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
##
|
|
209
|
+
# Remove a gem specification named +full_name+.
|
|
210
|
+
|
|
211
|
+
def remove_spec(full_name)
|
|
212
|
+
@gems.delete full_name
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
##
|
|
216
|
+
# Iterate over the specifications in the source index.
|
|
217
|
+
|
|
218
|
+
def each(&block) # :yields: gem.full_name, gem
|
|
219
|
+
@gems.each(&block)
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
##
|
|
223
|
+
# The gem specification given a full gem spec name.
|
|
224
|
+
|
|
225
|
+
def specification(full_name)
|
|
226
|
+
@gems[full_name]
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
##
|
|
230
|
+
# The signature for the source index. Changes in the signature indicate a
|
|
231
|
+
# change in the index.
|
|
232
|
+
|
|
233
|
+
def index_signature
|
|
234
|
+
require 'digest'
|
|
235
|
+
|
|
236
|
+
Digest::SHA256.new.hexdigest(@gems.keys.sort.join(',')).to_s
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
##
|
|
240
|
+
# The signature for the given gem specification.
|
|
241
|
+
|
|
242
|
+
def gem_signature(gem_full_name)
|
|
243
|
+
require 'digest'
|
|
244
|
+
|
|
245
|
+
Digest::SHA256.new.hexdigest(@gems[gem_full_name].to_yaml).to_s
|
|
246
|
+
end
|
|
247
|
+
|
|
248
|
+
def size
|
|
249
|
+
@gems.size
|
|
250
|
+
end
|
|
251
|
+
alias length size
|
|
252
|
+
|
|
253
|
+
##
|
|
254
|
+
# Find a gem by an exact match on the short name.
|
|
255
|
+
|
|
256
|
+
def find_name(gem_name, requirement = Gem::Requirement.default)
|
|
257
|
+
dep = Gem::Dependency.new gem_name, requirement
|
|
258
|
+
search dep
|
|
259
|
+
end
|
|
260
|
+
|
|
261
|
+
##
|
|
262
|
+
# Search for a gem by Gem::Dependency +gem_pattern+. If +only_platform+
|
|
263
|
+
# is true, only gems matching Gem::Platform.local will be returned. An
|
|
264
|
+
# Array of matching Gem::Specification objects is returned.
|
|
265
|
+
#
|
|
266
|
+
# For backwards compatibility, a String or Regexp pattern may be passed as
|
|
267
|
+
# +gem_pattern+, and a Gem::Requirement for +platform_only+. This
|
|
268
|
+
# behavior is deprecated and will be removed.
|
|
269
|
+
|
|
270
|
+
def search(gem_pattern, platform_only = false)
|
|
271
|
+
requirement = nil
|
|
272
|
+
only_platform = false
|
|
273
|
+
|
|
274
|
+
# TODO: Remove support and warning for legacy arguments after 2008/11
|
|
275
|
+
unless Gem::Dependency === gem_pattern
|
|
276
|
+
warn "#{Gem.location_of_caller.join ':'}:Warning: Gem::SourceIndex#search support for #{gem_pattern.class} patterns is deprecated, use #find_name"
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
case gem_pattern
|
|
280
|
+
when Regexp then
|
|
281
|
+
requirement = platform_only || Gem::Requirement.default
|
|
282
|
+
when Gem::Dependency then
|
|
283
|
+
only_platform = platform_only
|
|
284
|
+
requirement = gem_pattern.requirement
|
|
285
|
+
|
|
286
|
+
gem_pattern = if Regexp === gem_pattern.name
|
|
287
|
+
gem_pattern.name
|
|
288
|
+
elsif gem_pattern.name.empty?
|
|
289
|
+
//
|
|
290
|
+
else
|
|
291
|
+
/^#{Regexp.escape gem_pattern.name}$/
|
|
292
|
+
end
|
|
293
|
+
else
|
|
294
|
+
requirement = platform_only || Gem::Requirement.default
|
|
295
|
+
gem_pattern = /#{gem_pattern}/i
|
|
296
|
+
end
|
|
297
|
+
|
|
298
|
+
unless Gem::Requirement === requirement
|
|
299
|
+
requirement = Gem::Requirement.create requirement
|
|
300
|
+
end
|
|
301
|
+
|
|
302
|
+
specs = all_gems.values.select do |spec|
|
|
303
|
+
spec.name =~ gem_pattern &&
|
|
304
|
+
requirement.satisfied_by?(spec.version)
|
|
305
|
+
end
|
|
306
|
+
|
|
307
|
+
if only_platform
|
|
308
|
+
specs = specs.select do |spec|
|
|
309
|
+
Gem::Platform.match spec.platform
|
|
310
|
+
end
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
specs.sort_by(&:sort_obj)
|
|
314
|
+
end
|
|
315
|
+
|
|
316
|
+
##
|
|
317
|
+
# Replaces the gems in the source index from specifications in the
|
|
318
|
+
# directories this source index was created from. Raises an exception if
|
|
319
|
+
# this source index wasn't created from a directory (via from_gems_in or
|
|
320
|
+
# from_installed_gems, or having spec_dirs set).
|
|
321
|
+
|
|
322
|
+
def refresh!
|
|
323
|
+
raise 'source index not created from disk' if @spec_dirs.nil?
|
|
324
|
+
load_gems_in(*@spec_dirs)
|
|
325
|
+
end
|
|
326
|
+
|
|
327
|
+
##
|
|
328
|
+
# Returns an Array of Gem::Specifications that are not up to date.
|
|
329
|
+
|
|
330
|
+
def outdated
|
|
331
|
+
outdateds = []
|
|
332
|
+
|
|
333
|
+
latest_specs.each do |local|
|
|
334
|
+
dependency = Gem::Dependency.new local.name, ">= #{local.version}"
|
|
335
|
+
|
|
336
|
+
fetcher = Gem::SpecFetcher.fetcher
|
|
337
|
+
remotes = fetcher.find_matching dependency
|
|
338
|
+
remotes = remotes.map {|(_, version, _), _| version }
|
|
339
|
+
|
|
340
|
+
latest = remotes.sort.last
|
|
341
|
+
|
|
342
|
+
outdateds << local.name if latest && local.version < latest
|
|
343
|
+
end
|
|
344
|
+
|
|
345
|
+
outdateds
|
|
346
|
+
end
|
|
347
|
+
|
|
348
|
+
def ==(other) # :nodoc:
|
|
349
|
+
self.class === other && @gems == other.gems
|
|
350
|
+
end
|
|
351
|
+
|
|
352
|
+
def dump
|
|
353
|
+
Marshal.dump(self)
|
|
354
|
+
end
|
|
355
|
+
end
|
|
356
|
+
|
|
357
|
+
# :stopdoc:
|
|
358
|
+
module Gem
|
|
359
|
+
##
|
|
360
|
+
# Cache is an alias for SourceIndex to allow older YAMLized source index
|
|
361
|
+
# objects to load properly.
|
|
362
|
+
|
|
363
|
+
Cache = SourceIndex unless defined?(Cache)
|
|
364
|
+
end
|
|
365
|
+
# :startdoc:
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
begin
|
|
3
|
+
require 'rubygems'
|
|
4
|
+
if defined?(Gem::VERSION) && Gem::VERSION >= '1.8.0'
|
|
5
|
+
require File.dirname(__FILE__) + '/backports/gem'
|
|
6
|
+
require File.dirname(__FILE__) + '/backports/source_index'
|
|
7
|
+
end
|
|
8
|
+
rescue LoadError
|
|
9
|
+
nil # noop
|
|
10
|
+
end
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
begin
|
|
3
|
+
require 'rubygems/user_interaction'
|
|
4
|
+
require 'rubygems/doc_manager'
|
|
5
|
+
rescue LoadError
|
|
6
|
+
nil # noop
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class Gem::DocManager
|
|
10
|
+
def self.load_yardoc
|
|
11
|
+
require File.expand_path(File.join(File.dirname(__FILE__), *%w(.. .. yard)))
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def run_yardoc(*args)
|
|
15
|
+
args << '--quiet'
|
|
16
|
+
args << '--backtrace' if Gem.configuration.backtrace
|
|
17
|
+
unless File.file?(File.join(@spec.full_gem_path, '.yardopts'))
|
|
18
|
+
args << @spec.require_paths
|
|
19
|
+
unless @spec.extra_rdoc_files.empty?
|
|
20
|
+
args << '-'
|
|
21
|
+
args += @spec.extra_rdoc_files
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
args = args.flatten.map(&:to_s)
|
|
25
|
+
|
|
26
|
+
old_pwd = Dir.pwd
|
|
27
|
+
Dir.chdir(@spec.full_gem_path)
|
|
28
|
+
YARD::CLI::Yardoc.run(*args)
|
|
29
|
+
rescue Errno::EACCES => e
|
|
30
|
+
dirname = File.dirname e.message.split("-")[1].strip
|
|
31
|
+
raise Gem::FilePermissionError, dirname
|
|
32
|
+
rescue => ex
|
|
33
|
+
alert_error "While generating documentation for #{@spec.full_name}"
|
|
34
|
+
ui.errs.puts "... MESSAGE: #{ex}"
|
|
35
|
+
ui.errs.puts "... YARDOC args: #{args.join(' ')}"
|
|
36
|
+
ui.errs.puts "\t#{ex.backtrace.join("\n\t")}" if Gem.configuration.backtrace
|
|
37
|
+
ui.errs.puts "(continuing with the rest of the installation)"
|
|
38
|
+
ensure
|
|
39
|
+
Dir.chdir(old_pwd)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
begin undef setup_rdoc; rescue NameError; nil end
|
|
43
|
+
def setup_rdoc
|
|
44
|
+
if File.exist?(@doc_dir) && !File.writable?(@doc_dir)
|
|
45
|
+
raise Gem::FilePermissionError, @doc_dir
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
FileUtils.mkdir_p @doc_dir unless File.exist?(@doc_dir)
|
|
49
|
+
|
|
50
|
+
self.class.load_rdoc if @spec.has_rdoc?
|
|
51
|
+
self.class.load_yardoc if @spec.has_yardoc?
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def install_yardoc
|
|
55
|
+
rdoc_dir = File.join(@doc_dir, 'rdoc')
|
|
56
|
+
|
|
57
|
+
FileUtils.rm_rf rdoc_dir
|
|
58
|
+
|
|
59
|
+
say "Installing YARD documentation for #{@spec.full_name}..."
|
|
60
|
+
run_yardoc '-o', rdoc_dir
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def install_ri_yard
|
|
64
|
+
install_ri_yard_orig if @spec.has_rdoc?
|
|
65
|
+
return if @spec.has_rdoc? == false
|
|
66
|
+
return if @spec.has_yardoc?
|
|
67
|
+
|
|
68
|
+
self.class.load_yardoc
|
|
69
|
+
say "Building YARD (yri) index for #{@spec.full_name}..."
|
|
70
|
+
run_yardoc '-c', '-n'
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
begin
|
|
74
|
+
alias install_ri_yard_orig install_ri
|
|
75
|
+
alias install_ri install_ri_yard
|
|
76
|
+
rescue NameError; nil end
|
|
77
|
+
|
|
78
|
+
def install_rdoc_yard
|
|
79
|
+
if @spec.has_rdoc?
|
|
80
|
+
install_rdoc_yard_orig
|
|
81
|
+
elsif @spec.has_yardoc?
|
|
82
|
+
install_yardoc
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
begin
|
|
87
|
+
alias install_rdoc_yard_orig install_rdoc
|
|
88
|
+
alias install_rdoc install_rdoc_yard
|
|
89
|
+
rescue NameError; nil end
|
|
90
|
+
end
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require 'rubygems'
|
|
3
|
+
require 'rubygems/user_interaction'
|
|
4
|
+
require 'fileutils'
|
|
5
|
+
|
|
6
|
+
##
|
|
7
|
+
# Gem::YARDoc provides methods to generate YARDoc and yri data for installed gems
|
|
8
|
+
# upon gem installation.
|
|
9
|
+
#
|
|
10
|
+
# This file is automatically required by RubyGems 1.9 and newer.
|
|
11
|
+
|
|
12
|
+
module YARD
|
|
13
|
+
class RubygemsHook
|
|
14
|
+
include Gem::UserInteraction
|
|
15
|
+
extend Gem::UserInteraction
|
|
16
|
+
|
|
17
|
+
@yard_version = nil
|
|
18
|
+
|
|
19
|
+
##
|
|
20
|
+
# Force installation of documentation?
|
|
21
|
+
|
|
22
|
+
attr_accessor :force
|
|
23
|
+
|
|
24
|
+
##
|
|
25
|
+
# Generate yard?
|
|
26
|
+
|
|
27
|
+
attr_accessor :generate_yard
|
|
28
|
+
|
|
29
|
+
##
|
|
30
|
+
# Generate yri data?
|
|
31
|
+
|
|
32
|
+
attr_accessor :generate_yri
|
|
33
|
+
|
|
34
|
+
class << self
|
|
35
|
+
##
|
|
36
|
+
# Loaded version of YARD. Set by ::load_yard
|
|
37
|
+
|
|
38
|
+
attr_reader :yard_version
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
##
|
|
42
|
+
# Post installs hook that generates documentation for each specification in
|
|
43
|
+
# +specs+
|
|
44
|
+
|
|
45
|
+
def self.generation_hook(installer, specs)
|
|
46
|
+
start = Time.now
|
|
47
|
+
types = installer.document
|
|
48
|
+
|
|
49
|
+
generate_yard = types.include?('yardoc') || types.include?('yard')
|
|
50
|
+
generate_yri = types.include? 'yri'
|
|
51
|
+
|
|
52
|
+
specs.each do |spec|
|
|
53
|
+
gen_yard = generate_yard
|
|
54
|
+
gen_yri = generate_yri
|
|
55
|
+
gen_yri = false if gen_yard # never generate both, no need
|
|
56
|
+
unless types.empty? # --no-document is not in effect
|
|
57
|
+
# look at spec.metadata['yard.run'] for override
|
|
58
|
+
run_yard = spec.metadata['yard.run']
|
|
59
|
+
gen_yard = true if run_yard && run_yard != 'yri'
|
|
60
|
+
gen_yri = true if run_yard == 'yri'
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
new(spec, gen_yard, gen_yri).generate
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
return unless generate_yard || generate_yri
|
|
67
|
+
|
|
68
|
+
duration = (Time.now - start).to_i
|
|
69
|
+
names = specs.map(&:name).join ', '
|
|
70
|
+
|
|
71
|
+
say "Done installing documentation for #{names} after #{duration} seconds"
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
##
|
|
75
|
+
# Pre uninstalls hook that removes documentation
|
|
76
|
+
#
|
|
77
|
+
|
|
78
|
+
def self.removal_hook(uninstaller)
|
|
79
|
+
new(uninstaller.spec).remove
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
##
|
|
83
|
+
# Loads the YARD generator
|
|
84
|
+
|
|
85
|
+
def self.load_yard
|
|
86
|
+
return if @yard_version
|
|
87
|
+
|
|
88
|
+
require 'yard'
|
|
89
|
+
|
|
90
|
+
@yard_version = Gem::Version.new ::YARD::VERSION
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def initialize(spec, generate_yard = false, generate_yri = true)
|
|
94
|
+
@doc_dir = spec.doc_dir
|
|
95
|
+
@force = false
|
|
96
|
+
@spec = spec
|
|
97
|
+
|
|
98
|
+
@generate_yard = generate_yard
|
|
99
|
+
@generate_yri = generate_yri
|
|
100
|
+
|
|
101
|
+
@yard_dir = spec.doc_dir('yard')
|
|
102
|
+
@yri_dir = spec.doc_dir('.yardoc')
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
def run_yardoc(*args)
|
|
106
|
+
args << '--quiet' unless Gem.configuration.really_verbose
|
|
107
|
+
args << '--backtrace' if Gem.configuration.backtrace
|
|
108
|
+
unless File.file?(File.join(@spec.full_gem_path, '.yardopts'))
|
|
109
|
+
args << @spec.require_paths
|
|
110
|
+
unless @spec.extra_rdoc_files.empty?
|
|
111
|
+
args << '-'
|
|
112
|
+
args += @spec.extra_rdoc_files
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
args = args.flatten.map(&:to_s)
|
|
116
|
+
|
|
117
|
+
Dir.chdir(@spec.full_gem_path) do
|
|
118
|
+
YARD::CLI::Yardoc.run(*args)
|
|
119
|
+
end
|
|
120
|
+
rescue Errno::EACCES => e
|
|
121
|
+
dirname = File.dirname e.message.split("-")[1].strip
|
|
122
|
+
raise Gem::FilePermissionError, dirname
|
|
123
|
+
rescue => ex
|
|
124
|
+
alert_error "While generating documentation for #{@spec.full_name}"
|
|
125
|
+
ui.errs.puts "... MESSAGE: #{ex}"
|
|
126
|
+
ui.errs.puts "... YARDOC args: #{args.join(' ')}"
|
|
127
|
+
ui.errs.puts "\t#{ex.backtrace.join("\n\t")}" if Gem.configuration.backtrace
|
|
128
|
+
ui.errs.puts "(continuing with the rest of the installation)"
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def install_yard
|
|
132
|
+
FileUtils.rm_rf @yard_dir
|
|
133
|
+
|
|
134
|
+
say "Installing YARD documentation for #{@spec.full_name}..."
|
|
135
|
+
run_yardoc '--no-progress', '--db', @yri_dir, '-o', @yard_dir
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
def install_yri
|
|
139
|
+
FileUtils.rm_rf @yri_dir
|
|
140
|
+
|
|
141
|
+
say "Building YARD (yri) index for #{@spec.full_name}..."
|
|
142
|
+
run_yardoc '--no-progress', '-c', '-n', '--db', @yri_dir
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
##
|
|
146
|
+
# Generates YARD and yri data
|
|
147
|
+
|
|
148
|
+
def generate
|
|
149
|
+
return if @spec.default_gem?
|
|
150
|
+
return unless @generate_yri || @generate_yard
|
|
151
|
+
|
|
152
|
+
setup
|
|
153
|
+
|
|
154
|
+
install_yri if @generate_yri && (@force || !File.exist?(@yri_dir))
|
|
155
|
+
|
|
156
|
+
install_yard if @generate_yard && (@force || !File.exist?(@yard_dir))
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
##
|
|
160
|
+
# Prepares the spec for documentation generation
|
|
161
|
+
|
|
162
|
+
def setup
|
|
163
|
+
self.class.load_yard
|
|
164
|
+
|
|
165
|
+
if File.exist?(@doc_dir)
|
|
166
|
+
raise Gem::FilePermissionError, @doc_dir unless File.writable?(@doc_dir)
|
|
167
|
+
else
|
|
168
|
+
FileUtils.mkdir_p @doc_dir
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
def uninstall_yard
|
|
173
|
+
if File.exist?(@yard_dir)
|
|
174
|
+
raise Gem::FilePermissionError, @yard_dir unless File.writable?(@yard_dir)
|
|
175
|
+
FileUtils.rm_rf @yard_dir
|
|
176
|
+
end
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
def uninstall_yri
|
|
180
|
+
if File.exist?(@yri_dir)
|
|
181
|
+
raise Gem::FilePermissionError, @yri_dir unless File.writable?(@yri_dir)
|
|
182
|
+
FileUtils.rm_rf @yri_dir
|
|
183
|
+
end
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
##
|
|
187
|
+
# Removes YARD and yri data
|
|
188
|
+
|
|
189
|
+
def remove
|
|
190
|
+
uninstall_yri
|
|
191
|
+
uninstall_yard
|
|
192
|
+
end
|
|
193
|
+
end
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
Gem.done_installing(&YARD::RubygemsHook.method(:generation_hook))
|
|
197
|
+
Gem.pre_uninstall(&YARD::RubygemsHook.method(:removal_hook))
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require 'rubygems/specification'
|
|
3
|
+
|
|
4
|
+
class Gem::Specification
|
|
5
|
+
# @since 0.5.3
|
|
6
|
+
def has_yardoc=(value)
|
|
7
|
+
@has_rdoc = value ? 'yard' : false
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def has_yardoc
|
|
11
|
+
@has_rdoc == 'yard'
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
undef has_rdoc? if method_defined?(:has_rdoc?)
|
|
15
|
+
def has_rdoc?
|
|
16
|
+
(@has_rdoc ||= true) && @has_rdoc != 'yard'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
alias has_yardoc? has_yardoc
|
|
20
|
+
|
|
21
|
+
# has_rdoc should not be ignored!
|
|
22
|
+
if respond_to?(:overwrite_accessor)
|
|
23
|
+
overwrite_accessor(:has_rdoc) { @has_rdoc ||= true }
|
|
24
|
+
overwrite_accessor(:has_rdoc=) {|v| @has_rdoc = v }
|
|
25
|
+
else
|
|
26
|
+
attr_accessor :has_rdoc
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
if defined?(Gem::VERSION) && Gem::VERSION >= '1.7.'
|
|
30
|
+
def _dump_with_rdoc(limit)
|
|
31
|
+
dmp = _dump_without_rdoc(limit)
|
|
32
|
+
dmp[15] = @has_rdoc if dmp[15] == true
|
|
33
|
+
dmp
|
|
34
|
+
end
|
|
35
|
+
alias _dump_without_rdoc _dump
|
|
36
|
+
alias _dump _dump_with_rdoc
|
|
37
|
+
|
|
38
|
+
if class_variable_defined?(:@@default_value)
|
|
39
|
+
if @@default_value.frozen?
|
|
40
|
+
t = @@default_value.dup
|
|
41
|
+
t[:has_rdoc] = true
|
|
42
|
+
@@default_value = t.freeze
|
|
43
|
+
else
|
|
44
|
+
@@default_value[:has_rdoc] = true
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
@@attributes << 'has_rdoc' if class_variable_defined?(:@@attributes)
|
|
48
|
+
@@nil_attributes << 'has_rdoc' if class_variable_defined?(:@@nil_attributes)
|
|
49
|
+
end
|
|
50
|
+
end
|