yard 0.9.16 → 0.9.17
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of yard might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/.yardopts +26 -26
- data/CHANGELOG.md +728 -728
- data/LEGAL +66 -66
- data/LICENSE +22 -22
- data/README.md +328 -328
- data/Rakefile +53 -47
- data/benchmarks/builtins_vs_eval.rb +24 -24
- data/benchmarks/concat_vs_join.rb +13 -13
- data/benchmarks/erb_vs_erubis.rb +54 -54
- data/benchmarks/format_args.rb +47 -47
- data/benchmarks/generation.rb +38 -38
- data/benchmarks/marshal_vs_dbm.rb +64 -64
- data/benchmarks/parsing.rb +46 -46
- data/benchmarks/pathname_vs_string.rb +50 -50
- data/benchmarks/rdoc_vs_yardoc.rb +11 -11
- data/benchmarks/registry_store_types.rb +49 -49
- data/benchmarks/ri_vs_yri.rb +19 -19
- data/benchmarks/ripper_parser.rb +13 -13
- data/benchmarks/splat_vs_flatten.rb +13 -13
- data/benchmarks/template_erb.rb +23 -23
- data/benchmarks/template_format.rb +7 -7
- data/benchmarks/template_profile.rb +18 -18
- data/benchmarks/yri_cache.rb +20 -20
- data/bin/yard +13 -13
- data/bin/yardoc +13 -13
- data/bin/yri +13 -13
- data/docs/CodeObjects.md +115 -115
- data/docs/GettingStarted.md +679 -679
- data/docs/Handlers.md +152 -152
- data/docs/Overview.md +61 -61
- data/docs/Parser.md +191 -191
- data/docs/Tags.md +283 -283
- data/docs/TagsArch.md +123 -123
- data/docs/Templates.md +496 -496
- data/docs/WhatsNew.md +1245 -1245
- data/docs/templates/default/fulldoc/html/full_list_tag.erb +8 -8
- data/docs/templates/default/fulldoc/html/setup.rb +6 -6
- data/docs/templates/default/layout/html/setup.rb +9 -9
- data/docs/templates/default/layout/html/tag_list.erb +11 -11
- data/docs/templates/default/yard_tags/html/list.erb +18 -18
- data/docs/templates/default/yard_tags/html/setup.rb +26 -26
- data/docs/templates/plugin.rb +70 -70
- data/lib/rubygems_plugin.rb +9 -9
- data/lib/yard.rb +69 -69
- data/lib/yard/autoload.rb +303 -303
- data/lib/yard/cli/command.rb +85 -85
- data/lib/yard/cli/command_parser.rb +93 -93
- data/lib/yard/cli/config.rb +198 -198
- data/lib/yard/cli/diff.rb +270 -270
- data/lib/yard/cli/display.rb +69 -69
- data/lib/yard/cli/gems.rb +84 -84
- data/lib/yard/cli/graph.rb +125 -125
- data/lib/yard/cli/help.rb +20 -20
- data/lib/yard/cli/i18n.rb +70 -70
- data/lib/yard/cli/list.rb +23 -23
- data/lib/yard/cli/markup_types.rb +32 -32
- data/lib/yard/cli/server.rb +257 -257
- data/lib/yard/cli/stats.rb +231 -231
- data/lib/yard/cli/yardoc.rb +788 -788
- data/lib/yard/cli/yardopts_command.rb +110 -110
- data/lib/yard/cli/yri.rb +215 -215
- data/lib/yard/code_objects/base.rb +615 -610
- data/lib/yard/code_objects/class_object.rb +146 -146
- data/lib/yard/code_objects/class_variable_object.rb +11 -11
- data/lib/yard/code_objects/constant_object.rb +16 -16
- data/lib/yard/code_objects/extended_method_object.rb +24 -24
- data/lib/yard/code_objects/extra_file_object.rb +131 -131
- data/lib/yard/code_objects/macro_object.rb +172 -172
- data/lib/yard/code_objects/method_object.rb +196 -196
- data/lib/yard/code_objects/module_object.rb +21 -21
- data/lib/yard/code_objects/namespace_mapper.rb +114 -114
- data/lib/yard/code_objects/namespace_object.rb +200 -200
- data/lib/yard/code_objects/proxy.rb +240 -240
- data/lib/yard/code_objects/root_object.rb +19 -19
- data/lib/yard/config.rb +270 -270
- data/lib/yard/core_ext/array.rb +16 -16
- data/lib/yard/core_ext/file.rb +69 -69
- data/lib/yard/core_ext/hash.rb +16 -16
- data/lib/yard/core_ext/insertion.rb +63 -63
- data/lib/yard/core_ext/module.rb +20 -20
- data/lib/yard/core_ext/string.rb +68 -68
- data/lib/yard/core_ext/symbol_hash.rb +75 -75
- data/lib/yard/docstring.rb +386 -378
- data/lib/yard/docstring_parser.rb +345 -345
- data/lib/yard/gem_index.rb +29 -29
- data/lib/yard/globals.rb +22 -22
- data/lib/yard/handlers/base.rb +595 -595
- data/lib/yard/handlers/c/alias_handler.rb +16 -16
- data/lib/yard/handlers/c/attribute_handler.rb +13 -13
- data/lib/yard/handlers/c/base.rb +129 -129
- data/lib/yard/handlers/c/class_handler.rb +27 -27
- data/lib/yard/handlers/c/constant_handler.rb +13 -13
- data/lib/yard/handlers/c/handler_methods.rb +211 -211
- data/lib/yard/handlers/c/init_handler.rb +20 -20
- data/lib/yard/handlers/c/method_handler.rb +45 -36
- data/lib/yard/handlers/c/mixin_handler.rb +21 -21
- data/lib/yard/handlers/c/module_handler.rb +17 -17
- data/lib/yard/handlers/c/override_comment_handler.rb +31 -31
- data/lib/yard/handlers/c/path_handler.rb +11 -11
- data/lib/yard/handlers/c/struct_handler.rb +13 -13
- data/lib/yard/handlers/c/symbol_handler.rb +8 -8
- data/lib/yard/handlers/processor.rb +200 -200
- data/lib/yard/handlers/ruby/alias_handler.rb +44 -44
- data/lib/yard/handlers/ruby/attribute_handler.rb +87 -87
- data/lib/yard/handlers/ruby/base.rb +165 -165
- data/lib/yard/handlers/ruby/class_condition_handler.rb +92 -92
- data/lib/yard/handlers/ruby/class_handler.rb +119 -119
- data/lib/yard/handlers/ruby/class_variable_handler.rb +17 -17
- data/lib/yard/handlers/ruby/comment_handler.rb +10 -10
- data/lib/yard/handlers/ruby/constant_handler.rb +59 -59
- data/lib/yard/handlers/ruby/decorator_handler_methods.rb +123 -123
- data/lib/yard/handlers/ruby/dsl_handler.rb +15 -15
- data/lib/yard/handlers/ruby/dsl_handler_methods.rb +96 -95
- data/lib/yard/handlers/ruby/exception_handler.rb +27 -27
- data/lib/yard/handlers/ruby/extend_handler.rb +22 -22
- data/lib/yard/handlers/ruby/legacy/alias_handler.rb +37 -37
- data/lib/yard/handlers/ruby/legacy/attribute_handler.rb +65 -65
- data/lib/yard/handlers/ruby/legacy/base.rb +245 -245
- data/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +83 -83
- data/lib/yard/handlers/ruby/legacy/class_handler.rb +113 -113
- data/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +15 -15
- data/lib/yard/handlers/ruby/legacy/comment_handler.rb +10 -10
- data/lib/yard/handlers/ruby/legacy/constant_handler.rb +29 -29
- data/lib/yard/handlers/ruby/legacy/dsl_handler.rb +17 -17
- data/lib/yard/handlers/ruby/legacy/exception_handler.rb +13 -13
- data/lib/yard/handlers/ruby/legacy/extend_handler.rb +21 -21
- data/lib/yard/handlers/ruby/legacy/method_handler.rb +90 -90
- data/lib/yard/handlers/ruby/legacy/mixin_handler.rb +39 -39
- data/lib/yard/handlers/ruby/legacy/module_function_handler.rb +19 -19
- data/lib/yard/handlers/ruby/legacy/module_handler.rb +12 -12
- data/lib/yard/handlers/ruby/legacy/private_class_method_handler.rb +22 -22
- data/lib/yard/handlers/ruby/legacy/private_constant_handler.rb +22 -22
- data/lib/yard/handlers/ruby/legacy/visibility_handler.rb +17 -17
- data/lib/yard/handlers/ruby/legacy/yield_handler.rb +29 -29
- data/lib/yard/handlers/ruby/method_condition_handler.rb +9 -9
- data/lib/yard/handlers/ruby/method_handler.rb +118 -118
- data/lib/yard/handlers/ruby/mixin_handler.rb +37 -37
- data/lib/yard/handlers/ruby/module_function_handler.rb +27 -27
- data/lib/yard/handlers/ruby/module_handler.rb +12 -12
- data/lib/yard/handlers/ruby/private_class_method_handler.rb +14 -14
- data/lib/yard/handlers/ruby/private_constant_handler.rb +43 -43
- data/lib/yard/handlers/ruby/public_class_method_handler.rb +14 -14
- data/lib/yard/handlers/ruby/struct_handler_methods.rb +143 -143
- data/lib/yard/handlers/ruby/visibility_handler.rb +22 -22
- data/lib/yard/handlers/ruby/yield_handler.rb +31 -31
- data/lib/yard/i18n/locale.rb +67 -67
- data/lib/yard/i18n/message.rb +57 -57
- data/lib/yard/i18n/messages.rb +56 -56
- data/lib/yard/i18n/po_parser.rb +61 -61
- data/lib/yard/i18n/pot_generator.rb +290 -290
- data/lib/yard/i18n/text.rb +173 -173
- data/lib/yard/logging.rb +205 -205
- data/lib/yard/options.rb +217 -217
- data/lib/yard/parser/base.rb +57 -57
- data/lib/yard/parser/c/c_parser.rb +235 -235
- data/lib/yard/parser/c/comment_parser.rb +134 -134
- data/lib/yard/parser/c/statement.rb +64 -64
- data/lib/yard/parser/ruby/ast_node.rb +540 -540
- data/lib/yard/parser/ruby/legacy/ruby_lex.rb +1354 -1354
- data/lib/yard/parser/ruby/legacy/ruby_parser.rb +32 -32
- data/lib/yard/parser/ruby/legacy/statement.rb +66 -66
- data/lib/yard/parser/ruby/legacy/statement_list.rb +394 -394
- data/lib/yard/parser/ruby/legacy/token_list.rb +74 -74
- data/lib/yard/parser/ruby/ruby_parser.rb +687 -687
- data/lib/yard/parser/ruby/token_resolver.rb +156 -156
- data/lib/yard/parser/source_parser.rb +526 -526
- data/lib/yard/rake/yardoc_task.rb +81 -81
- data/lib/yard/registry.rb +439 -439
- data/lib/yard/registry_resolver.rb +189 -189
- data/lib/yard/registry_store.rb +337 -337
- data/lib/yard/rubygems/backports.rb +10 -10
- data/lib/yard/rubygems/backports/LICENSE.txt +57 -57
- data/lib/yard/rubygems/backports/MIT.txt +20 -20
- data/lib/yard/rubygems/backports/gem.rb +10 -10
- data/lib/yard/rubygems/backports/source_index.rb +365 -365
- data/lib/yard/rubygems/doc_manager.rb +90 -90
- data/lib/yard/rubygems/hook.rb +197 -197
- data/lib/yard/rubygems/specification.rb +50 -50
- data/lib/yard/serializers/base.rb +83 -83
- data/lib/yard/serializers/file_system_serializer.rb +123 -123
- data/lib/yard/serializers/process_serializer.rb +24 -24
- data/lib/yard/serializers/stdout_serializer.rb +34 -34
- data/lib/yard/serializers/yardoc_serializer.rb +152 -152
- data/lib/yard/server.rb +13 -13
- data/lib/yard/server/adapter.rb +100 -100
- data/lib/yard/server/commands/base.rb +209 -209
- data/lib/yard/server/commands/display_file_command.rb +29 -29
- data/lib/yard/server/commands/display_object_command.rb +65 -65
- data/lib/yard/server/commands/frames_command.rb +16 -16
- data/lib/yard/server/commands/library_command.rb +187 -187
- data/lib/yard/server/commands/library_index_command.rb +28 -28
- data/lib/yard/server/commands/list_command.rb +25 -25
- data/lib/yard/server/commands/root_request_command.rb +15 -15
- data/lib/yard/server/commands/search_command.rb +79 -79
- data/lib/yard/server/commands/static_file_command.rb +23 -23
- data/lib/yard/server/commands/static_file_helpers.rb +62 -62
- data/lib/yard/server/doc_server_helper.rb +91 -91
- data/lib/yard/server/doc_server_serializer.rb +39 -39
- data/lib/yard/server/library_version.rb +277 -277
- data/lib/yard/server/rack_adapter.rb +89 -89
- data/lib/yard/server/router.rb +187 -187
- data/lib/yard/server/static_caching.rb +46 -46
- data/lib/yard/server/templates/default/fulldoc/html/css/custom.css +127 -127
- data/lib/yard/server/templates/default/fulldoc/html/js/autocomplete.js +11 -11
- data/lib/yard/server/templates/default/layout/html/breadcrumb.erb +37 -37
- data/lib/yard/server/templates/default/layout/html/script_setup.erb +7 -7
- data/lib/yard/server/templates/default/layout/html/setup.rb +8 -8
- data/lib/yard/server/templates/default/method_details/html/permalink.erb +4 -4
- data/lib/yard/server/templates/default/method_details/html/setup.rb +5 -5
- data/lib/yard/server/templates/doc_server/library_list/html/headers.erb +8 -8
- data/lib/yard/server/templates/doc_server/library_list/html/library_list.erb +14 -14
- data/lib/yard/server/templates/doc_server/library_list/html/listing.erb +13 -13
- data/lib/yard/server/templates/doc_server/library_list/html/setup.rb +6 -6
- data/lib/yard/server/templates/doc_server/library_list/html/title.erb +2 -2
- data/lib/yard/server/templates/doc_server/processing/html/processing.erb +52 -52
- data/lib/yard/server/templates/doc_server/processing/html/setup.rb +4 -4
- data/lib/yard/server/templates/doc_server/search/html/search.erb +18 -18
- data/lib/yard/server/templates/doc_server/search/html/setup.rb +9 -9
- data/lib/yard/server/webrick_adapter.rb +45 -45
- data/lib/yard/tags/default_factory.rb +191 -191
- data/lib/yard/tags/default_tag.rb +13 -13
- data/lib/yard/tags/directives.rb +616 -616
- data/lib/yard/tags/library.rb +633 -633
- data/lib/yard/tags/option_tag.rb +13 -13
- data/lib/yard/tags/overload_tag.rb +71 -71
- data/lib/yard/tags/ref_tag.rb +8 -8
- data/lib/yard/tags/ref_tag_list.rb +28 -28
- data/lib/yard/tags/tag.rb +71 -71
- data/lib/yard/tags/tag_format_error.rb +7 -7
- data/lib/yard/tags/types_explainer.rb +162 -162
- data/lib/yard/templates/engine.rb +186 -186
- data/lib/yard/templates/erb_cache.rb +23 -23
- data/lib/yard/templates/helpers/base_helper.rb +215 -215
- data/lib/yard/templates/helpers/filter_helper.rb +27 -27
- data/lib/yard/templates/helpers/html_helper.rb +646 -642
- data/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +78 -78
- data/lib/yard/templates/helpers/markup/rdoc_markdown.rb +23 -23
- data/lib/yard/templates/helpers/markup/rdoc_markup.rb +109 -109
- data/lib/yard/templates/helpers/markup_helper.rb +172 -172
- data/lib/yard/templates/helpers/method_helper.rb +75 -75
- data/lib/yard/templates/helpers/module_helper.rb +21 -21
- data/lib/yard/templates/helpers/text_helper.rb +112 -112
- data/lib/yard/templates/helpers/uml_helper.rb +47 -47
- data/lib/yard/templates/section.rb +105 -105
- data/lib/yard/templates/template.rb +418 -418
- data/lib/yard/templates/template_options.rb +92 -92
- data/lib/yard/verifier.rb +151 -151
- data/lib/yard/version.rb +3 -1
- data/spec/cli/command_parser_spec.rb +43 -43
- data/spec/cli/command_spec.rb +36 -36
- data/spec/cli/config_spec.rb +148 -148
- data/spec/cli/diff_spec.rb +254 -254
- data/spec/cli/display_spec.rb +30 -30
- data/spec/cli/gems_spec.rb +81 -81
- data/spec/cli/graph_spec.rb +18 -18
- data/spec/cli/help_spec.rb +22 -22
- data/spec/cli/i18n_spec.rb +107 -107
- data/spec/cli/list_spec.rb +8 -8
- data/spec/cli/markup_types_spec.rb +22 -22
- data/spec/cli/server_spec.rb +324 -324
- data/spec/cli/stats_spec.rb +96 -96
- data/spec/cli/yard_on_yard_spec.rb +38 -38
- data/spec/cli/yardoc_spec.rb +862 -849
- data/spec/cli/yri_spec.rb +101 -101
- data/spec/code_objects/base_spec.rb +470 -460
- data/spec/code_objects/class_object_spec.rb +226 -226
- data/spec/code_objects/code_object_list_spec.rb +36 -36
- data/spec/code_objects/constants_spec.rb +116 -116
- data/spec/code_objects/extra_file_object_spec.rb +160 -160
- data/spec/code_objects/macro_object_spec.rb +150 -150
- data/spec/code_objects/method_object_spec.rb +184 -184
- data/spec/code_objects/module_object_spec.rb +142 -142
- data/spec/code_objects/namespace_object_spec.rb +171 -171
- data/spec/code_objects/proxy_spec.rb +141 -141
- data/spec/code_objects/spec_helper.rb +3 -3
- data/spec/config_spec.rb +171 -171
- data/spec/core_ext/array_spec.rb +13 -13
- data/spec/core_ext/file_spec.rb +72 -72
- data/spec/core_ext/hash_spec.rb +14 -14
- data/spec/core_ext/insertion_spec.rb +37 -37
- data/spec/core_ext/module_spec.rb +15 -15
- data/spec/core_ext/string_spec.rb +42 -42
- data/spec/core_ext/symbol_hash_spec.rb +89 -89
- data/spec/docstring_parser_spec.rb +280 -262
- data/spec/docstring_spec.rb +373 -364
- data/spec/examples.txt +1875 -1871
- data/spec/handlers/alias_handler_spec.rb +82 -82
- data/spec/handlers/attribute_handler_spec.rb +96 -96
- data/spec/handlers/base_spec.rb +216 -216
- data/spec/handlers/c/alias_handler_spec.rb +34 -34
- data/spec/handlers/c/attribute_handler_spec.rb +41 -41
- data/spec/handlers/c/class_handler_spec.rb +78 -78
- data/spec/handlers/c/constant_handler_spec.rb +71 -71
- data/spec/handlers/c/init_handler_spec.rb +48 -48
- data/spec/handlers/c/method_handler_spec.rb +325 -325
- data/spec/handlers/c/mixin_handler_spec.rb +44 -44
- data/spec/handlers/c/module_handler_spec.rb +71 -71
- data/spec/handlers/c/override_comment_handler_spec.rb +47 -47
- data/spec/handlers/c/path_handler_spec.rb +36 -36
- data/spec/handlers/c/spec_helper.rb +23 -23
- data/spec/handlers/c/struct_handler_spec.rb +16 -16
- data/spec/handlers/class_condition_handler_spec.rb +87 -87
- data/spec/handlers/class_handler_spec.rb +247 -247
- data/spec/handlers/class_method_handler_shared_examples.rb +133 -133
- data/spec/handlers/class_variable_handler_spec.rb +12 -12
- data/spec/handlers/constant_handler_spec.rb +112 -112
- data/spec/handlers/decorator_handler_methods_spec.rb +393 -393
- data/spec/handlers/dsl_handler_spec.rb +219 -219
- data/spec/handlers/examples/alias_handler_001.rb.txt +45 -45
- data/spec/handlers/examples/attribute_handler_001.rb.txt +31 -31
- data/spec/handlers/examples/class_condition_handler_001.rb.txt +68 -68
- data/spec/handlers/examples/class_handler_001.rb.txt +120 -120
- data/spec/handlers/examples/class_variable_handler_001.rb.txt +9 -9
- data/spec/handlers/examples/constant_handler_001.rb.txt +35 -35
- data/spec/handlers/examples/dsl_handler_001.rb.txt +154 -154
- data/spec/handlers/examples/exception_handler_001.rb.txt +58 -58
- data/spec/handlers/examples/extend_handler_001.rb.txt +15 -15
- data/spec/handlers/examples/method_condition_handler_001.rb.txt +9 -9
- data/spec/handlers/examples/method_handler_001.rb.txt +128 -128
- data/spec/handlers/examples/mixin_handler_001.rb.txt +37 -37
- data/spec/handlers/examples/module_handler_001.rb.txt +29 -29
- data/spec/handlers/examples/private_constant_handler_001.rb.txt +8 -8
- data/spec/handlers/examples/process_handler_001.rb.txt +11 -11
- data/spec/handlers/examples/visibility_handler_001.rb.txt +35 -35
- data/spec/handlers/examples/yield_handler_001.rb.txt +54 -54
- data/spec/handlers/exception_handler_spec.rb +49 -49
- data/spec/handlers/extend_handler_spec.rb +24 -24
- data/spec/handlers/legacy_base_spec.rb +128 -128
- data/spec/handlers/method_condition_handler_spec.rb +15 -15
- data/spec/handlers/method_handler_spec.rb +190 -190
- data/spec/handlers/mixin_handler_spec.rb +56 -56
- data/spec/handlers/module_function_handler_spec.rb +106 -106
- data/spec/handlers/module_handler_spec.rb +35 -35
- data/spec/handlers/private_class_method_handler_spec.rb +11 -11
- data/spec/handlers/private_constant_handler_spec.rb +25 -25
- data/spec/handlers/processor_spec.rb +35 -35
- data/spec/handlers/public_class_method_handler_spec.rb +11 -11
- data/spec/handlers/ruby/base_spec.rb +95 -95
- data/spec/handlers/ruby/legacy/base_spec.rb +84 -84
- data/spec/handlers/spec_helper.rb +33 -33
- data/spec/handlers/visibility_handler_spec.rb +44 -44
- data/spec/handlers/yield_handler_spec.rb +52 -52
- data/spec/i18n/locale_spec.rb +81 -81
- data/spec/i18n/message_spec.rb +52 -52
- data/spec/i18n/messages_spec.rb +67 -67
- data/spec/i18n/pot_generator_spec.rb +295 -295
- data/spec/i18n/text_spec.rb +184 -184
- data/spec/logging_spec.rb +44 -44
- data/spec/options_spec.rb +171 -171
- data/spec/parser/base_spec.rb +24 -24
- data/spec/parser/c_parser_spec.rb +236 -223
- data/spec/parser/examples/array.c.txt +6267 -6267
- data/spec/parser/examples/example1.rb.txt +7 -7
- data/spec/parser/examples/extrafile.c.txt +8 -8
- data/spec/parser/examples/file.c.txt +28 -0
- data/spec/parser/examples/multifile.c.txt +22 -22
- data/spec/parser/examples/namespace.cpp.txt +68 -68
- data/spec/parser/examples/override.c.txt +424 -424
- data/spec/parser/examples/parse_in_order_001.rb.txt +2 -2
- data/spec/parser/examples/parse_in_order_002.rb.txt +1 -1
- data/spec/parser/examples/tag_handler_001.rb.txt +7 -7
- data/spec/parser/ruby/ast_node_spec.rb +33 -33
- data/spec/parser/ruby/legacy/statement_list_spec.rb +299 -299
- data/spec/parser/ruby/legacy/token_list_spec.rb +79 -79
- data/spec/parser/ruby/ruby_parser_spec.rb +508 -508
- data/spec/parser/ruby/token_resolver_spec.rb +165 -165
- data/spec/parser/source_parser_spec.rb +727 -727
- data/spec/parser/tag_parsing_spec.rb +17 -17
- data/spec/rake/yardoc_task_spec.rb +118 -118
- data/spec/registry_spec.rb +463 -463
- data/spec/registry_store_spec.rb +316 -316
- data/spec/rubygems/doc_manager_spec.rb +112 -112
- data/spec/serializers/data/serialized_yardoc/checksums +1 -1
- data/spec/serializers/file_system_serializer_spec.rb +145 -145
- data/spec/serializers/spec_helper.rb +2 -2
- data/spec/serializers/yardoc_serializer_spec.rb +78 -78
- data/spec/server/adapter_spec.rb +39 -39
- data/spec/server/commands/base_spec.rb +91 -91
- data/spec/server/commands/library_command_spec.rb +39 -39
- data/spec/server/doc_server_helper_spec.rb +72 -72
- data/spec/server/doc_server_serializer_spec.rb +60 -60
- data/spec/server/rack_adapter_spec.rb +21 -21
- data/spec/server/router_spec.rb +123 -123
- data/spec/server/spec_helper.rb +22 -22
- data/spec/server/static_caching_spec.rb +47 -47
- data/spec/server/webrick_servlet_spec.rb +20 -20
- data/spec/server_spec.rb +19 -19
- data/spec/spec_helper.rb +212 -212
- data/spec/tags/default_factory_spec.rb +168 -168
- data/spec/tags/default_tag_spec.rb +11 -11
- data/spec/tags/directives_spec.rb +463 -463
- data/spec/tags/library_spec.rb +48 -48
- data/spec/tags/overload_tag_spec.rb +53 -53
- data/spec/tags/ref_tag_list_spec.rb +53 -53
- data/spec/tags/types_explainer_spec.rb +203 -203
- data/spec/templates/class_spec.rb +45 -45
- data/spec/templates/constant_spec.rb +41 -41
- data/spec/templates/engine_spec.rb +131 -131
- data/spec/templates/examples/class001.html +308 -308
- data/spec/templates/examples/class001.txt +36 -36
- data/spec/templates/examples/class002.html +39 -39
- data/spec/templates/examples/constant001.txt +24 -24
- data/spec/templates/examples/constant002.txt +6 -6
- data/spec/templates/examples/constant003.txt +10 -10
- data/spec/templates/examples/method001.html +137 -137
- data/spec/templates/examples/method001.txt +35 -35
- data/spec/templates/examples/method002.html +91 -91
- data/spec/templates/examples/method002.txt +20 -20
- data/spec/templates/examples/method003.html +165 -165
- data/spec/templates/examples/method003.txt +45 -45
- data/spec/templates/examples/method004.html +48 -48
- data/spec/templates/examples/method004.txt +10 -10
- data/spec/templates/examples/method005.html +105 -105
- data/spec/templates/examples/method005.txt +33 -33
- data/spec/templates/examples/method006.html +107 -107
- data/spec/templates/examples/method006.txt +20 -20
- data/spec/templates/examples/module001.dot +33 -33
- data/spec/templates/examples/module001.html +833 -833
- data/spec/templates/examples/module001.txt +33 -33
- data/spec/templates/examples/module002.html +341 -341
- data/spec/templates/examples/module003.html +202 -202
- data/spec/templates/examples/module004.html +394 -394
- data/spec/templates/examples/module005.html +81 -81
- data/spec/templates/examples/tag001.txt +82 -82
- data/spec/templates/helpers/base_helper_spec.rb +171 -171
- data/spec/templates/helpers/html_helper_spec.rb +668 -653
- data/spec/templates/helpers/html_syntax_highlight_helper_spec.rb +65 -65
- data/spec/templates/helpers/markup/rdoc_markup_spec.rb +84 -84
- data/spec/templates/helpers/markup_helper_spec.rb +136 -136
- data/spec/templates/helpers/method_helper_spec.rb +107 -107
- data/spec/templates/helpers/module_helper_spec.rb +35 -35
- data/spec/templates/helpers/shared_signature_examples.rb +126 -126
- data/spec/templates/helpers/text_helper_spec.rb +65 -65
- data/spec/templates/method_spec.rb +118 -118
- data/spec/templates/module_spec.rb +203 -203
- data/spec/templates/onefile_spec.rb +66 -66
- data/spec/templates/section_spec.rb +144 -144
- data/spec/templates/spec_helper.rb +76 -76
- data/spec/templates/tag_spec.rb +52 -52
- data/spec/templates/template_spec.rb +410 -410
- data/spec/verifier_spec.rb +106 -106
- data/templates/default/class/dot/setup.rb +7 -7
- data/templates/default/class/dot/superklass.erb +2 -2
- data/templates/default/class/html/constructor_details.erb +8 -8
- data/templates/default/class/html/setup.rb +2 -2
- data/templates/default/class/html/subclasses.erb +4 -4
- data/templates/default/class/setup.rb +36 -36
- data/templates/default/class/text/setup.rb +12 -12
- data/templates/default/class/text/subclasses.erb +5 -5
- data/templates/default/constant/text/header.erb +11 -11
- data/templates/default/constant/text/setup.rb +4 -4
- data/templates/default/docstring/html/abstract.erb +4 -4
- data/templates/default/docstring/html/deprecated.erb +1 -1
- data/templates/default/docstring/html/index.erb +5 -5
- data/templates/default/docstring/html/note.erb +6 -6
- data/templates/default/docstring/html/private.erb +4 -4
- data/templates/default/docstring/html/text.erb +1 -1
- data/templates/default/docstring/html/todo.erb +6 -6
- data/templates/default/docstring/setup.rb +52 -52
- data/templates/default/docstring/text/abstract.erb +2 -2
- data/templates/default/docstring/text/deprecated.erb +2 -2
- data/templates/default/docstring/text/index.erb +2 -2
- data/templates/default/docstring/text/note.erb +3 -3
- data/templates/default/docstring/text/private.erb +2 -2
- data/templates/default/docstring/text/text.erb +1 -1
- data/templates/default/docstring/text/todo.erb +3 -3
- data/templates/default/fulldoc/html/css/full_list.css +58 -58
- data/templates/default/fulldoc/html/css/style.css +496 -496
- data/templates/default/fulldoc/html/frames.erb +17 -17
- data/templates/default/fulldoc/html/full_list.erb +37 -37
- data/templates/default/fulldoc/html/full_list_class.erb +2 -2
- data/templates/default/fulldoc/html/full_list_file.erb +7 -7
- data/templates/default/fulldoc/html/full_list_method.erb +10 -10
- data/templates/default/fulldoc/html/js/app.js +292 -292
- data/templates/default/fulldoc/html/js/full_list.js +216 -216
- data/templates/default/fulldoc/html/js/jquery.js +3 -3
- data/templates/default/fulldoc/html/setup.rb +241 -241
- data/templates/default/layout/dot/header.erb +5 -5
- data/templates/default/layout/dot/setup.rb +15 -15
- data/templates/default/layout/html/breadcrumb.erb +11 -11
- data/templates/default/layout/html/files.erb +11 -11
- data/templates/default/layout/html/footer.erb +5 -5
- data/templates/default/layout/html/headers.erb +15 -15
- data/templates/default/layout/html/index.erb +2 -2
- data/templates/default/layout/html/layout.erb +23 -23
- data/templates/default/layout/html/listing.erb +4 -4
- data/templates/default/layout/html/objects.erb +32 -32
- data/templates/default/layout/html/script_setup.erb +4 -4
- data/templates/default/layout/html/search.erb +12 -12
- data/templates/default/layout/html/setup.rb +89 -89
- data/templates/default/method/html/header.erb +16 -16
- data/templates/default/method/setup.rb +4 -4
- data/templates/default/method_details/html/header.erb +2 -2
- data/templates/default/method_details/html/method_signature.erb +24 -24
- data/templates/default/method_details/html/source.erb +9 -9
- data/templates/default/method_details/setup.rb +11 -11
- data/templates/default/method_details/text/header.erb +10 -10
- data/templates/default/method_details/text/method_signature.erb +12 -12
- data/templates/default/method_details/text/setup.rb +11 -11
- data/templates/default/module/dot/child.erb +1 -1
- data/templates/default/module/dot/dependencies.erb +2 -2
- data/templates/default/module/dot/header.erb +6 -6
- data/templates/default/module/dot/info.erb +13 -13
- data/templates/default/module/dot/setup.rb +15 -15
- data/templates/default/module/html/attribute_details.erb +10 -10
- data/templates/default/module/html/attribute_summary.erb +8 -8
- data/templates/default/module/html/box_info.erb +43 -43
- data/templates/default/module/html/children.erb +8 -8
- data/templates/default/module/html/constant_summary.erb +17 -17
- data/templates/default/module/html/defines.erb +2 -2
- data/templates/default/module/html/header.erb +5 -5
- data/templates/default/module/html/inherited_attributes.erb +14 -14
- data/templates/default/module/html/inherited_constants.erb +8 -8
- data/templates/default/module/html/inherited_methods.erb +18 -18
- data/templates/default/module/html/item_summary.erb +40 -40
- data/templates/default/module/html/method_details_list.erb +9 -9
- data/templates/default/module/html/method_summary.erb +13 -13
- data/templates/default/module/html/methodmissing.erb +12 -12
- data/templates/default/module/setup.rb +167 -167
- data/templates/default/module/text/children.erb +9 -9
- data/templates/default/module/text/class_meths_list.erb +7 -7
- data/templates/default/module/text/extends.erb +7 -7
- data/templates/default/module/text/header.erb +7 -7
- data/templates/default/module/text/includes.erb +7 -7
- data/templates/default/module/text/instance_meths_list.erb +7 -7
- data/templates/default/module/text/setup.rb +13 -13
- data/templates/default/onefile/html/files.erb +4 -4
- data/templates/default/onefile/html/headers.erb +6 -6
- data/templates/default/onefile/html/layout.erb +17 -17
- data/templates/default/onefile/html/readme.erb +2 -2
- data/templates/default/onefile/html/setup.rb +62 -62
- data/templates/default/root/dot/child.erb +2 -2
- data/templates/default/root/dot/setup.rb +6 -6
- data/templates/default/root/html/setup.rb +2 -2
- data/templates/default/tags/html/example.erb +10 -10
- data/templates/default/tags/html/index.erb +2 -2
- data/templates/default/tags/html/option.erb +24 -24
- data/templates/default/tags/html/overload.erb +13 -13
- data/templates/default/tags/html/see.erb +7 -7
- data/templates/default/tags/html/tag.erb +20 -20
- data/templates/default/tags/setup.rb +57 -57
- data/templates/default/tags/text/example.erb +12 -12
- data/templates/default/tags/text/index.erb +1 -1
- data/templates/default/tags/text/option.erb +20 -20
- data/templates/default/tags/text/overload.erb +19 -19
- data/templates/default/tags/text/see.erb +11 -11
- data/templates/default/tags/text/tag.erb +13 -13
- data/templates/guide/class/html/setup.rb +2 -2
- data/templates/guide/docstring/html/setup.rb +2 -2
- data/templates/guide/fulldoc/html/css/style.css +108 -108
- data/templates/guide/fulldoc/html/js/app.js +33 -33
- data/templates/guide/fulldoc/html/setup.rb +74 -74
- data/templates/guide/layout/html/layout.erb +81 -81
- data/templates/guide/layout/html/setup.rb +25 -25
- data/templates/guide/method/html/header.erb +17 -17
- data/templates/guide/method/html/setup.rb +22 -22
- data/templates/guide/module/html/header.erb +6 -6
- data/templates/guide/module/html/method_list.erb +4 -4
- data/templates/guide/module/html/setup.rb +27 -27
- data/templates/guide/onefile/html/files.erb +4 -4
- data/templates/guide/onefile/html/setup.rb +6 -6
- data/templates/guide/onefile/html/toc.erb +3 -3
- data/templates/guide/tags/html/setup.rb +9 -9
- data/yard.gemspec +43 -43
- metadata +4 -4
@@ -1,22 +1,22 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
# Handles 'private', 'protected', and 'public' calls.
|
3
|
-
class YARD::Handlers::Ruby::VisibilityHandler < YARD::Handlers::Ruby::Base
|
4
|
-
include YARD::Handlers::Ruby::DecoratorHandlerMethods
|
5
|
-
|
6
|
-
handles method_call(:private)
|
7
|
-
handles method_call(:protected)
|
8
|
-
handles method_call(:public)
|
9
|
-
namespace_only
|
10
|
-
|
11
|
-
process do
|
12
|
-
return if (ident = statement.jump(:ident)) == statement
|
13
|
-
case statement.type
|
14
|
-
when :var_ref, :vcall
|
15
|
-
self.visibility = ident.first.to_sym
|
16
|
-
when :fcall, :command
|
17
|
-
process_decorator do |method|
|
18
|
-
method.visibility = ident.first if method.respond_to? :visibility=
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# Handles 'private', 'protected', and 'public' calls.
|
3
|
+
class YARD::Handlers::Ruby::VisibilityHandler < YARD::Handlers::Ruby::Base
|
4
|
+
include YARD::Handlers::Ruby::DecoratorHandlerMethods
|
5
|
+
|
6
|
+
handles method_call(:private)
|
7
|
+
handles method_call(:protected)
|
8
|
+
handles method_call(:public)
|
9
|
+
namespace_only
|
10
|
+
|
11
|
+
process do
|
12
|
+
return if (ident = statement.jump(:ident)) == statement
|
13
|
+
case statement.type
|
14
|
+
when :var_ref, :vcall
|
15
|
+
self.visibility = ident.first.to_sym
|
16
|
+
when :fcall, :command
|
17
|
+
process_decorator do |method|
|
18
|
+
method.visibility = ident.first if method.respond_to? :visibility=
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -1,31 +1,31 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
# Handles 'yield' calls
|
3
|
-
class YARD::Handlers::Ruby::YieldHandler < YARD::Handlers::Ruby::Base
|
4
|
-
handles :yield, :yield0
|
5
|
-
|
6
|
-
process do
|
7
|
-
return unless owner.is_a?(MethodObject) # Only methods yield
|
8
|
-
return if owner.has_tag? :yield # Don't override yield tags
|
9
|
-
return if owner.has_tag? :yieldparam # Same thing.
|
10
|
-
|
11
|
-
yieldtag = YARD::Tags::Tag.new(:yield, "", [])
|
12
|
-
|
13
|
-
if statement.type == :yield
|
14
|
-
statement.jump(:list).children.each do |item|
|
15
|
-
if item == s(:var_ref, s(:kw, "self"))
|
16
|
-
yieldtag.types << '_self'
|
17
|
-
owner.add_tag YARD::Tags::Tag.new(:yieldparam,
|
18
|
-
"the object that the method was called on", owner.namespace.path, '_self')
|
19
|
-
elsif item == s(:zsuper)
|
20
|
-
yieldtag.types << '_super'
|
21
|
-
owner.add_tag YARD::Tags::Tag.new(:yieldparam,
|
22
|
-
"the result of the method from the superclass", nil, '_super')
|
23
|
-
else
|
24
|
-
yieldtag.types << item.source
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
owner.add_tag(yieldtag) unless yieldtag.types.empty?
|
30
|
-
end
|
31
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# Handles 'yield' calls
|
3
|
+
class YARD::Handlers::Ruby::YieldHandler < YARD::Handlers::Ruby::Base
|
4
|
+
handles :yield, :yield0
|
5
|
+
|
6
|
+
process do
|
7
|
+
return unless owner.is_a?(MethodObject) # Only methods yield
|
8
|
+
return if owner.has_tag? :yield # Don't override yield tags
|
9
|
+
return if owner.has_tag? :yieldparam # Same thing.
|
10
|
+
|
11
|
+
yieldtag = YARD::Tags::Tag.new(:yield, "", [])
|
12
|
+
|
13
|
+
if statement.type == :yield
|
14
|
+
statement.jump(:list).children.each do |item|
|
15
|
+
if item == s(:var_ref, s(:kw, "self"))
|
16
|
+
yieldtag.types << '_self'
|
17
|
+
owner.add_tag YARD::Tags::Tag.new(:yieldparam,
|
18
|
+
"the object that the method was called on", owner.namespace.path, '_self')
|
19
|
+
elsif item == s(:zsuper)
|
20
|
+
yieldtag.types << '_super'
|
21
|
+
owner.add_tag YARD::Tags::Tag.new(:yieldparam,
|
22
|
+
"the result of the method from the superclass", nil, '_super')
|
23
|
+
else
|
24
|
+
yieldtag.types << item.source
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
owner.add_tag(yieldtag) unless yieldtag.types.empty?
|
30
|
+
end
|
31
|
+
end
|
data/lib/yard/i18n/locale.rb
CHANGED
@@ -1,67 +1,67 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module YARD
|
3
|
-
module I18n
|
4
|
-
# +Locale+ is a unit of translation. It has {#name} and a set of
|
5
|
-
# messages.
|
6
|
-
#
|
7
|
-
# @since 0.8.2
|
8
|
-
class Locale
|
9
|
-
class << self
|
10
|
-
# @return [String, nil] the default locale name.
|
11
|
-
# @since 0.8.4
|
12
|
-
attr_accessor :default
|
13
|
-
|
14
|
-
undef default
|
15
|
-
def default
|
16
|
-
@@default ||= nil
|
17
|
-
end
|
18
|
-
|
19
|
-
undef default=
|
20
|
-
def default=(locale)
|
21
|
-
@@default = locale
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
# @return [String] the name of the locale. It used IETF language
|
26
|
-
# tag format +[language[_territory][.codeset][@modifier]]+.
|
27
|
-
# @see http://tools.ietf.org/rfc/bcp/bcp47.txt
|
28
|
-
# BCP 47 - Tags for Identifying Languages
|
29
|
-
attr_reader :name
|
30
|
-
|
31
|
-
# Creates a locale for +name+ locale.
|
32
|
-
#
|
33
|
-
# @param [String] name the locale name.
|
34
|
-
def initialize(name)
|
35
|
-
@name = name
|
36
|
-
@messages = {}
|
37
|
-
end
|
38
|
-
|
39
|
-
# Loads translation messages from +locale_directory+/{#name}.po.
|
40
|
-
#
|
41
|
-
# @param [String] locale_directory the directory path that has
|
42
|
-
# {#name}.po.
|
43
|
-
# @return [Boolean] +true+ if PO file exists, +false+ otherwise.
|
44
|
-
def load(locale_directory)
|
45
|
-
return false if @name.nil?
|
46
|
-
|
47
|
-
po_file = File.join(locale_directory, "#{@name}.po")
|
48
|
-
return false unless File.exist?(po_file)
|
49
|
-
|
50
|
-
require "yard/i18n/po_parser"
|
51
|
-
return false unless POParser.available?
|
52
|
-
|
53
|
-
po_parser = POParser.new
|
54
|
-
@messages.merge!(po_parser.parse(po_file))
|
55
|
-
|
56
|
-
true
|
57
|
-
end
|
58
|
-
|
59
|
-
# @param [String] message the translation target message.
|
60
|
-
# @return [String] translated message. If tarnslation isn't
|
61
|
-
# registered, the +message+ is returned.
|
62
|
-
def translate(message)
|
63
|
-
@messages[message] || message
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module YARD
|
3
|
+
module I18n
|
4
|
+
# +Locale+ is a unit of translation. It has {#name} and a set of
|
5
|
+
# messages.
|
6
|
+
#
|
7
|
+
# @since 0.8.2
|
8
|
+
class Locale
|
9
|
+
class << self
|
10
|
+
# @return [String, nil] the default locale name.
|
11
|
+
# @since 0.8.4
|
12
|
+
attr_accessor :default
|
13
|
+
|
14
|
+
undef default
|
15
|
+
def default
|
16
|
+
@@default ||= nil
|
17
|
+
end
|
18
|
+
|
19
|
+
undef default=
|
20
|
+
def default=(locale)
|
21
|
+
@@default = locale
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
# @return [String] the name of the locale. It used IETF language
|
26
|
+
# tag format +[language[_territory][.codeset][@modifier]]+.
|
27
|
+
# @see http://tools.ietf.org/rfc/bcp/bcp47.txt
|
28
|
+
# BCP 47 - Tags for Identifying Languages
|
29
|
+
attr_reader :name
|
30
|
+
|
31
|
+
# Creates a locale for +name+ locale.
|
32
|
+
#
|
33
|
+
# @param [String] name the locale name.
|
34
|
+
def initialize(name)
|
35
|
+
@name = name
|
36
|
+
@messages = {}
|
37
|
+
end
|
38
|
+
|
39
|
+
# Loads translation messages from +locale_directory+/{#name}.po.
|
40
|
+
#
|
41
|
+
# @param [String] locale_directory the directory path that has
|
42
|
+
# {#name}.po.
|
43
|
+
# @return [Boolean] +true+ if PO file exists, +false+ otherwise.
|
44
|
+
def load(locale_directory)
|
45
|
+
return false if @name.nil?
|
46
|
+
|
47
|
+
po_file = File.join(locale_directory, "#{@name}.po")
|
48
|
+
return false unless File.exist?(po_file)
|
49
|
+
|
50
|
+
require "yard/i18n/po_parser"
|
51
|
+
return false unless POParser.available?
|
52
|
+
|
53
|
+
po_parser = POParser.new
|
54
|
+
@messages.merge!(po_parser.parse(po_file))
|
55
|
+
|
56
|
+
true
|
57
|
+
end
|
58
|
+
|
59
|
+
# @param [String] message the translation target message.
|
60
|
+
# @return [String] translated message. If tarnslation isn't
|
61
|
+
# registered, the +message+ is returned.
|
62
|
+
def translate(message)
|
63
|
+
@messages[message] || message
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
data/lib/yard/i18n/message.rb
CHANGED
@@ -1,57 +1,57 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
require "set"
|
3
|
-
|
4
|
-
module YARD
|
5
|
-
module I18n
|
6
|
-
# +Message+ is a translation target message. It has message ID as
|
7
|
-
# {#id} and some properties {#locations} and {#comments}.
|
8
|
-
#
|
9
|
-
# @since 0.8.1
|
10
|
-
class Message
|
11
|
-
# @return [String] the message ID of the trnslation target message.
|
12
|
-
attr_reader :id
|
13
|
-
|
14
|
-
# @return [Set] the set of locations. Location is an array of
|
15
|
-
# path and line number where the message is appeared.
|
16
|
-
attr_reader :locations
|
17
|
-
|
18
|
-
# @return [Set] the set of comments for the messages.
|
19
|
-
attr_reader :comments
|
20
|
-
|
21
|
-
# Creates a trasnlate target message for message ID +id+.
|
22
|
-
#
|
23
|
-
# @param [String] id the message ID of the translate target message.
|
24
|
-
def initialize(id)
|
25
|
-
@id = id
|
26
|
-
@locations = Set.new
|
27
|
-
@comments = Set.new
|
28
|
-
end
|
29
|
-
|
30
|
-
# Adds location information for the message.
|
31
|
-
#
|
32
|
-
# @param [String] path the path where the message appears.
|
33
|
-
# @param [Integer] line the line number where the message appears.
|
34
|
-
# @return [void]
|
35
|
-
def add_location(path, line)
|
36
|
-
@locations << [path, line]
|
37
|
-
end
|
38
|
-
|
39
|
-
# Adds a comment for the message.
|
40
|
-
#
|
41
|
-
# @param [String] comment the comment for the message to be added.
|
42
|
-
# @return [void]
|
43
|
-
def add_comment(comment)
|
44
|
-
@comments << comment unless comment.nil?
|
45
|
-
end
|
46
|
-
|
47
|
-
# @param [Message] other the +Message+ to be compared.
|
48
|
-
# @return [Boolean] checks whether this message is equal to another.
|
49
|
-
def ==(other)
|
50
|
-
other.is_a?(self.class) &&
|
51
|
-
@id == other.id &&
|
52
|
-
@locations == other.locations &&
|
53
|
-
@comments == other.comments
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "set"
|
3
|
+
|
4
|
+
module YARD
|
5
|
+
module I18n
|
6
|
+
# +Message+ is a translation target message. It has message ID as
|
7
|
+
# {#id} and some properties {#locations} and {#comments}.
|
8
|
+
#
|
9
|
+
# @since 0.8.1
|
10
|
+
class Message
|
11
|
+
# @return [String] the message ID of the trnslation target message.
|
12
|
+
attr_reader :id
|
13
|
+
|
14
|
+
# @return [Set] the set of locations. Location is an array of
|
15
|
+
# path and line number where the message is appeared.
|
16
|
+
attr_reader :locations
|
17
|
+
|
18
|
+
# @return [Set] the set of comments for the messages.
|
19
|
+
attr_reader :comments
|
20
|
+
|
21
|
+
# Creates a trasnlate target message for message ID +id+.
|
22
|
+
#
|
23
|
+
# @param [String] id the message ID of the translate target message.
|
24
|
+
def initialize(id)
|
25
|
+
@id = id
|
26
|
+
@locations = Set.new
|
27
|
+
@comments = Set.new
|
28
|
+
end
|
29
|
+
|
30
|
+
# Adds location information for the message.
|
31
|
+
#
|
32
|
+
# @param [String] path the path where the message appears.
|
33
|
+
# @param [Integer] line the line number where the message appears.
|
34
|
+
# @return [void]
|
35
|
+
def add_location(path, line)
|
36
|
+
@locations << [path, line]
|
37
|
+
end
|
38
|
+
|
39
|
+
# Adds a comment for the message.
|
40
|
+
#
|
41
|
+
# @param [String] comment the comment for the message to be added.
|
42
|
+
# @return [void]
|
43
|
+
def add_comment(comment)
|
44
|
+
@comments << comment unless comment.nil?
|
45
|
+
end
|
46
|
+
|
47
|
+
# @param [Message] other the +Message+ to be compared.
|
48
|
+
# @return [Boolean] checks whether this message is equal to another.
|
49
|
+
def ==(other)
|
50
|
+
other.is_a?(self.class) &&
|
51
|
+
@id == other.id &&
|
52
|
+
@locations == other.locations &&
|
53
|
+
@comments == other.comments
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
data/lib/yard/i18n/messages.rb
CHANGED
@@ -1,56 +1,56 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module YARD
|
3
|
-
module I18n
|
4
|
-
# Acts as a container for {Message} objects.
|
5
|
-
#
|
6
|
-
# @since 0.8.1
|
7
|
-
class Messages
|
8
|
-
include Enumerable
|
9
|
-
|
10
|
-
# Creates a new container.
|
11
|
-
def initialize
|
12
|
-
@messages = {}
|
13
|
-
end
|
14
|
-
|
15
|
-
# Enumerates each {Message} in the container.
|
16
|
-
#
|
17
|
-
# @yieldparam [Message] message the next message object in
|
18
|
-
# the enumeration.
|
19
|
-
# @return [void]
|
20
|
-
def each(&block)
|
21
|
-
@messages.each_value(&block)
|
22
|
-
end
|
23
|
-
|
24
|
-
# @param [String] id the message ID to perform a lookup on.
|
25
|
-
# @return [Message, nil] a registered message for the given +id+,
|
26
|
-
# or nil if no message for the ID is found.
|
27
|
-
def [](id)
|
28
|
-
@messages[id]
|
29
|
-
end
|
30
|
-
|
31
|
-
# Registers a {Message}, the mssage ID of which is +id+. If
|
32
|
-
# corresponding +Message+ is already registered, the previously
|
33
|
-
# registered object is returned.
|
34
|
-
#
|
35
|
-
# @param [String] id the ID of the message to be registered.
|
36
|
-
# @return [Message] the registered +Message+.
|
37
|
-
def register(id)
|
38
|
-
@messages[id] ||= Message.new(id)
|
39
|
-
end
|
40
|
-
|
41
|
-
# Checks if this messages list is equal to another messages list.
|
42
|
-
#
|
43
|
-
# @param [Messages] other the container to compare.
|
44
|
-
# @return [Boolean] whether +self+ and +other+ is equivalence or not.
|
45
|
-
def ==(other)
|
46
|
-
other.is_a?(self.class) &&
|
47
|
-
@messages == other.messages
|
48
|
-
end
|
49
|
-
|
50
|
-
protected
|
51
|
-
|
52
|
-
# @return [Hash{String=>Message}] the set of message objects
|
53
|
-
attr_reader :messages
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module YARD
|
3
|
+
module I18n
|
4
|
+
# Acts as a container for {Message} objects.
|
5
|
+
#
|
6
|
+
# @since 0.8.1
|
7
|
+
class Messages
|
8
|
+
include Enumerable
|
9
|
+
|
10
|
+
# Creates a new container.
|
11
|
+
def initialize
|
12
|
+
@messages = {}
|
13
|
+
end
|
14
|
+
|
15
|
+
# Enumerates each {Message} in the container.
|
16
|
+
#
|
17
|
+
# @yieldparam [Message] message the next message object in
|
18
|
+
# the enumeration.
|
19
|
+
# @return [void]
|
20
|
+
def each(&block)
|
21
|
+
@messages.each_value(&block)
|
22
|
+
end
|
23
|
+
|
24
|
+
# @param [String] id the message ID to perform a lookup on.
|
25
|
+
# @return [Message, nil] a registered message for the given +id+,
|
26
|
+
# or nil if no message for the ID is found.
|
27
|
+
def [](id)
|
28
|
+
@messages[id]
|
29
|
+
end
|
30
|
+
|
31
|
+
# Registers a {Message}, the mssage ID of which is +id+. If
|
32
|
+
# corresponding +Message+ is already registered, the previously
|
33
|
+
# registered object is returned.
|
34
|
+
#
|
35
|
+
# @param [String] id the ID of the message to be registered.
|
36
|
+
# @return [Message] the registered +Message+.
|
37
|
+
def register(id)
|
38
|
+
@messages[id] ||= Message.new(id)
|
39
|
+
end
|
40
|
+
|
41
|
+
# Checks if this messages list is equal to another messages list.
|
42
|
+
#
|
43
|
+
# @param [Messages] other the container to compare.
|
44
|
+
# @return [Boolean] whether +self+ and +other+ is equivalence or not.
|
45
|
+
def ==(other)
|
46
|
+
other.is_a?(self.class) &&
|
47
|
+
@messages == other.messages
|
48
|
+
end
|
49
|
+
|
50
|
+
protected
|
51
|
+
|
52
|
+
# @return [Hash{String=>Message}] the set of message objects
|
53
|
+
attr_reader :messages
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|