Skip to content

Instantly share code, notes, and snippets.

@RichMorin
Created May 15, 2012 19:28
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RichMorin/2704407 to your computer and use it in GitHub Desktop.
Save RichMorin/2704407 to your computer and use it in GitHub Desktop.
YARD Registry Dumper
# file_path: "yard/.yardoc"
# options: {:types=>[:namespace, :method], :levels=>2}
# node_path: "YARD"
{
"@context": {
"type": "@type",
"y_ld": "http://sparqly.cfcl.com/y_ld/",
"yard": "http://sparqly.cfcl.com/yard/",
"y_ld:children": { "@type": "@id" },
"y_ld:namespace": { "@type": "@id" },
"y_ld:superclass": { "@type": "@id" },
"yard:path": "@id",
"aliases": "yard:aliases",
"attributes": "yard:attributes",
"children": "yard:children",
"class_mixins": "yard:class_mixins",
"current_file_has_comments": "yard:current_file_has_comments",
"docstring": "yard:docstring",
"docstring_extra": "yard:docstring_extra",
"docstring_extra_tags": "yard:docstring_extra_tags",
"dynamic": "yard:dynamic",
"explicit": "yard:explicit",
"files": "yard:files",
"groups": "yard:groups",
"name": "yard:name",
"namespace": "yard:namespace",
"parameters": "yard:parameters",
"path": "yard:path",
"scope": "yard:scope",
"signature": "yard:signature",
"source": "yard:source",
"source_type": "yard:source_type",
"superclass": "yard:superclass",
"type": "yard:type",
"visibility": "yard:visibility"
},
"@graph": [
{
"attributes": {"class":{},"instance":{}},
"children": ["YARD::VERSION","YARD::ROOT","YARD::TEMPLATE_ROOT","YARD::CONFIG_DIR","YARD.parse","YARD.parse_string","YARD.load_plugins","YARD::Config","YARD::Server","YARD::CLI","YARD::Logger","YARD::Options","YARD::Registry","YARD::CodeObjects","YARD::Handlers","YARD::I18n","YARD::Parser","YARD::Rake","YARD::Serializers","YARD::Tags","YARD::Templates","YARD::Verifier","YARD::Docstring","YARD::RegistryStore","YARD::DocstringParser","YARD::StubProxy"],
"docstring": "",
"files": [{"file_line":1,"file_path":"lib/yard.rb"},{"file_line":1,"file_path":"lib/yard/config.rb"},{"file_line":1,"file_path":"lib/yard/server.rb"},{"file_line":3,"file_path":"lib/yard/cli/yri.rb"},{"file_line":3,"file_path":"lib/yard/logging.rb"},{"file_line":1,"file_path":"lib/yard/options.rb"},{"file_line":3,"file_path":"lib/yard/cli/i18n.rb"},{"file_line":1,"file_path":"lib/yard/cli/help.rb"},{"file_line":1,"file_path":"lib/yard/cli/gems.rb"},{"file_line":1,"file_path":"lib/yard/cli/list.rb"},{"file_line":5,"file_path":"lib/yard/cli/diff.rb"},{"file_line":4,"file_path":"lib/yard/registry.rb"},{"file_line":4,"file_path":"lib/yard/autoload.rb"},{"file_line":1,"file_path":"lib/yard/tags/tag.rb"},{"file_line":1,"file_path":"lib/yard/verifier.rb"},{"file_line":1,"file_path":"lib/yard/i18n/text.rb"},{"file_line":1,"file_path":"lib/yard/cli/stats.rb"},{"file_line":1,"file_path":"lib/yard/cli/graph.rb"},{"file_line":1,"file_path":"lib/yard/docstring.rb"},{"file_line":4,"file_path":"lib/yard/cli/yardoc.rb"},{"file_line":1,"file_path":"lib/yard/cli/config.rb"},{"file_line":1,"file_path":"lib/yard/cli/server.rb"},{"file_line":3,"file_path":"lib/yard/cli/command.rb"},{"file_line":1,"file_path":"lib/yard/parser/base.rb"},{"file_line":1,"file_path":"lib/yard/tags/ref_tag.rb"},{"file_line":1,"file_path":"lib/yard/tags/library.rb"},{"file_line":3,"file_path":"lib/yard/i18n/message.rb"},{"file_line":1,"file_path":"lib/yard/handlers/base.rb"},{"file_line":1,"file_path":"lib/yard/server/router.rb"},{"file_line":1,"file_path":"lib/yard/i18n/messages.rb"},{"file_line":1,"file_path":"lib/yard/server/adapter.rb"},{"file_line":3,"file_path":"lib/yard/registry_store.rb"},{"file_line":3,"file_path":"lib/yard/tags/directives.rb"},{"file_line":1,"file_path":"lib/yard/tags/option_tag.rb"},{"file_line":1,"file_path":"lib/yard/handlers/c/base.rb"},{"file_line":1,"file_path":"lib/yard/serializers/base.rb"},{"file_line":4,"file_path":"lib/yard/rake/yardoc_task.rb"},{"file_line":3,"file_path":"lib/yard/templates/engine.rb"},{"file_line":3,"file_path":"lib/yard/docstring_parser.rb"},{"file_line":1,"file_path":"lib/yard/tags/default_tag.rb"},{"file_line":1,"file_path":"lib/yard/parser/c/c_parser.rb"},{"file_line":1,"file_path":"lib/yard/templates/section.rb"},{"file_line":1,"file_path":"lib/yard/tags/ref_tag_list.rb"},{"file_line":1,"file_path":"lib/yard/code_objects/base.rb"},{"file_line":1,"file_path":"lib/yard/tags/overload_tag.rb"},{"file_line":3,"file_path":"lib/yard/handlers/processor.rb"},{"file_line":1,"file_path":"lib/yard/cli/command_parser.rb"},{"file_line":3,"file_path":"lib/yard/i18n/pot_generator.rb"},{"file_line":1,"file_path":"lib/yard/handlers/ruby/base.rb"},{"file_line":3,"file_path":"lib/yard/templates/template.rb"},{"file_line":1,"file_path":"lib/yard/code_objects/proxy.rb"},{"file_line":1,"file_path":"lib/yard/parser/c/statement.rb"},{"file_line":1,"file_path":"lib/yard/templates/erb_cache.rb"},{"file_line":4,"file_path":"lib/yard/server/rack_adapter.rb"},{"file_line":3,"file_path":"lib/yard/server/commands/base.rb"},{"file_line":1,"file_path":"lib/yard/tags/default_factory.rb"},{"file_line":1,"file_path":"lib/yard/parser/ruby/ast_node.rb"},{"file_line":4,"file_path":"lib/yard/parser/source_parser.rb"},{"file_line":1,"file_path":"lib/yard/tags/tag_format_error.rb"},{"file_line":1,"file_path":"lib/yard/server/static_caching.rb"},{"file_line":3,"file_path":"lib/yard/server/library_version.rb"},{"file_line":3,"file_path":"lib/yard/server/webrick_adapter.rb"},{"file_line":3,"file_path":"lib/yard/parser/ruby/ruby_parser.rb"},{"file_line":1,"file_path":"lib/yard/parser/c/comment_parser.rb"},{"file_line":1,"file_path":"lib/yard/code_objects/root_object.rb"},{"file_line":1,"file_path":"lib/yard/server/doc_server_helper.rb"},{"file_line":1,"file_path":"lib/yard/handlers/ruby/legacy/base.rb"},{"file_line":3,"file_path":"lib/yard/code_objects/macro_object.rb"},{"file_line":1,"file_path":"lib/yard/handlers/ruby/dsl_handler.rb"},{"file_line":3,"file_path":"lib/yard/templates/template_options.rb"},{"file_line":1,"file_path":"lib/yard/handlers/c/handler_methods.rb"},{"file_line":4,"file_path":"lib/yard/parser/ruby/legacy/ruby_lex.rb"},{"file_line":1,"file_path":"lib/yard/server/commands/list_command.rb"},{"file_line":3,"file_path":"lib/yard/server/doc_server_serializer.rb"},{"file_line":1,"file_path":"lib/yard/templates/helpers/uml_helper.rb"},{"file_line":1,"file_path":"lib/yard/parser/ruby/legacy/statement.rb"},{"file_line":1,"file_path":"lib/yard/parser/ruby/legacy/token_list.rb"},{"file_line":1,"file_path":"lib/yard/serializers/yardoc_serializer.rb"},{"file_line":1,"file_path":"lib/yard/serializers/stdout_serializer.rb"},{"file_line":1,"file_path":"lib/yard/templates/helpers/text_helper.rb"},{"file_line":3,"file_path":"lib/yard/templates/helpers/html_helper.rb"},{"file_line":1,"file_path":"lib/yard/serializers/process_serializer.rb"},{"file_line":1,"file_path":"lib/yard/parser/ruby/legacy/ruby_parser.rb"},{"file_line":1,"file_path":"lib/yard/server/commands/search_command.rb"},{"file_line":1,"file_path":"lib/yard/server/commands/frames_command.rb"},{"file_line":1,"file_path":"lib/yard/templates/helpers/module_helper.rb"},{"file_line":3,"file_path":"lib/yard/server/commands/library_command.rb"},{"file_line":1,"file_path":"lib/yard/templates/helpers/method_helper.rb"},{"file_line":1,"file_path":"lib/yard/templates/helpers/filter_helper.rb"},{"file_line":3,"file_path":"lib/yard/templates/helpers/markup_helper.rb"},{"file_line":1,"file_path":"lib/yard/handlers/ruby/legacy/dsl_handler.rb"},{"file_line":1,"file_path":"lib/yard/handlers/ruby/dsl_handler_methods.rb"},{"file_line":1,"file_path":"lib/yard/parser/ruby/legacy/statement_list.rb"},{"file_line":1,"file_path":"lib/yard/serializers/file_system_serializer.rb"},{"file_line":3,"file_path":"lib/yard/server/commands/static_file_command.rb"},{"file_line":1,"file_path":"lib/yard/server/commands/display_file_command.rb"},{"file_line":1,"file_path":"lib/yard/templates/helpers/markup/rdoc_markup.rb"},{"file_line":1,"file_path":"lib/yard/server/commands/library_index_command.rb"},{"file_line":1,"file_path":"lib/yard/server/commands/display_object_command.rb"},{"file_line":1,"file_path":"lib/yard/templates/helpers/html_syntax_highlight_helper.rb"}],
"name": "YARD",
"namespace": "",
"path": "YARD",
"source_type": "ruby",
"type": "module",
"visibility": "public",
"y_ld:children": ["YARD%3A%3AVERSION","YARD%3A%3AROOT","YARD%3A%3ATEMPLATE_ROOT","YARD%3A%3ACONFIG_DIR","YARD.parse","YARD.parse_string","YARD.load_plugins","YARD%3A%3AConfig","YARD%3A%3AServer","YARD%3A%3ACLI","YARD%3A%3ALogger","YARD%3A%3AOptions","YARD%3A%3ARegistry","YARD%3A%3ACodeObjects","YARD%3A%3AHandlers","YARD%3A%3AI18n","YARD%3A%3AParser","YARD%3A%3ARake","YARD%3A%3ASerializers","YARD%3A%3ATags","YARD%3A%3ATemplates","YARD%3A%3AVerifier","YARD%3A%3ADocstring","YARD%3A%3ARegistryStore","YARD%3A%3ADocstringParser","YARD%3A%3AStubProxy"],
"y_ld:files": [{"file_line":1,"file_path":"lib%2Fyard.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fconfig.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fserver.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Fcli%2Fyri.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Flogging.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Foptions.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Fcli%2Fi18n.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcli%2Fhelp.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcli%2Fgems.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcli%2Flist.rb"},{"file_line":5,"file_path":"lib%2Fyard%2Fcli%2Fdiff.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fregistry.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fautoload.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftags%2Ftag.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fverifier.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fi18n%2Ftext.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcli%2Fstats.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcli%2Fgraph.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fdocstring.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fcli%2Fyardoc.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcli%2Fconfig.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcli%2Fserver.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Fcli%2Fcommand.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fparser%2Fbase.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftags%2Fref_tag.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftags%2Flibrary.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Fi18n%2Fmessage.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fhandlers%2Fbase.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fserver%2Frouter.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fi18n%2Fmessages.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fserver%2Fadapter.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Fregistry_store.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Ftags%2Fdirectives.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftags%2Foption_tag.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fhandlers%2Fc%2Fbase.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fserializers%2Fbase.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Frake%2Fyardoc_task.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Ftemplates%2Fengine.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Fdocstring_parser.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftags%2Fdefault_tag.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fparser%2Fc%2Fc_parser.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftemplates%2Fsection.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftags%2Fref_tag_list.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcode_objects%2Fbase.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftags%2Foverload_tag.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Fhandlers%2Fprocessor.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcli%2Fcommand_parser.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Fi18n%2Fpot_generator.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fhandlers%2Fruby%2Fbase.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Ftemplates%2Ftemplate.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcode_objects%2Fproxy.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fparser%2Fc%2Fstatement.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftemplates%2Ferb_cache.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fserver%2Frack_adapter.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Fbase.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftags%2Fdefault_factory.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fparser%2Fruby%2Fast_node.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fparser%2Fsource_parser.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftags%2Ftag_format_error.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fserver%2Fstatic_caching.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Fserver%2Flibrary_version.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Fserver%2Fwebrick_adapter.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Fparser%2Fruby%2Fruby_parser.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fparser%2Fc%2Fcomment_parser.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcode_objects%2Froot_object.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fserver%2Fdoc_server_helper.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fhandlers%2Fruby%2Flegacy%2Fbase.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Fcode_objects%2Fmacro_object.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fhandlers%2Fruby%2Fdsl_handler.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Ftemplates%2Ftemplate_options.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fhandlers%2Fc%2Fhandler_methods.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fparser%2Fruby%2Flegacy%2Fruby_lex.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Flist_command.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Fserver%2Fdoc_server_serializer.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftemplates%2Fhelpers%2Fuml_helper.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fparser%2Fruby%2Flegacy%2Fstatement.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fparser%2Fruby%2Flegacy%2Ftoken_list.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fserializers%2Fyardoc_serializer.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fserializers%2Fstdout_serializer.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftemplates%2Fhelpers%2Ftext_helper.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Ftemplates%2Fhelpers%2Fhtml_helper.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fserializers%2Fprocess_serializer.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fparser%2Fruby%2Flegacy%2Fruby_parser.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Fsearch_command.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Fframes_command.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftemplates%2Fhelpers%2Fmodule_helper.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Flibrary_command.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftemplates%2Fhelpers%2Fmethod_helper.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftemplates%2Fhelpers%2Ffilter_helper.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Ftemplates%2Fhelpers%2Fmarkup_helper.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fhandlers%2Fruby%2Flegacy%2Fdsl_handler.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fhandlers%2Fruby%2Fdsl_handler_methods.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fparser%2Fruby%2Flegacy%2Fstatement_list.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fserializers%2Ffile_system_serializer.rb"},{"file_line":3,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Fstatic_file_command.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Fdisplay_file_command.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftemplates%2Fhelpers%2Fmarkup%2Frdoc_markup.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Flibrary_index_command.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Fdisplay_object_command.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Ftemplates%2Fhelpers%2Fhtml_syntax_highlight_helper.rb"}],
"y_ld:level": 1,
"y_ld:path": "YARD"
},
{
"current_file_has_comments": true,
"docstring": "YARD::Config.load_plugins",
"docstring_extra": "",
"docstring_extra_tags": ["#<YARD::Tags::Tag:0x1015438a8>"],
"dynamic": true,
"explicit": true,
"files": [{"file_line":29,"file_path":"lib/yard.rb"}],
"name": "load_plugins",
"namespace": "YARD",
"path": "YARD.load_plugins",
"scope": "class",
"signature": "def self.load_plugins; YARD::Config.load_plugins end",
"source": "def self.load_plugins; YARD::Config.load_plugins end",
"source_type": "ruby18",
"type": "method",
"visibility": "public",
"y_ld:files": [{"file_line":29,"file_path":"lib%2Fyard.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD.load_plugins"
},
{
"current_file_has_comments": true,
"docstring": "An alias to {Parser::SourceParser}'s parsing method",
"dynamic": true,
"explicit": true,
"files": [{"file_line":18,"file_path":"lib/yard.rb"}],
"name": "parse",
"namespace": "YARD",
"parameters": [{"parm_type":null,"parm_name":"*args"}],
"path": "YARD.parse",
"scope": "class",
"signature": "def self.parse(*args) Parser::SourceParser.parse(*args) end",
"source": "def self.parse(*args) Parser::SourceParser.parse(*args) end",
"source_type": "ruby18",
"type": "method",
"visibility": "public",
"y_ld:files": [{"file_line":18,"file_path":"lib%2Fyard.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD.parse"
},
{
"current_file_has_comments": true,
"docstring": "An alias to {Parser::SourceParser}'s parsing method",
"dynamic": true,
"explicit": true,
"files": [{"file_line":25,"file_path":"lib/yard.rb"}],
"name": "parse_string",
"namespace": "YARD",
"parameters": [{"parm_type":null,"parm_name":"*args"}],
"path": "YARD.parse_string",
"scope": "class",
"signature": "def self.parse_string(*args) Parser::SourceParser.parse_string(*args) end",
"source": "def self.parse_string(*args) Parser::SourceParser.parse_string(*args) end",
"source_type": "ruby18",
"type": "method",
"visibility": "public",
"y_ld:files": [{"file_line":25,"file_path":"lib%2Fyard.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD.parse_string"
},
{
"attributes": {"class":{},"instance":{}},
"children": ["YARD::CLI::YRI","YARD::CLI::I18n","YARD::CLI::Help","YARD::CLI::Gems","YARD::CLI::List","YARD::CLI::Diff","YARD::CLI::Stats","YARD::CLI::Graph","YARD::CLI::YardocOptions","YARD::CLI::Yardoc","YARD::CLI::Config","YARD::CLI::Server","YARD::CLI::Command","YARD::CLI::CommandParser"],
"current_file_has_comments": true,
"docstring": "Namespace for command-line interface components",
"dynamic": true,
"files": [{"file_line":5,"file_path":"lib/yard/autoload.rb"},{"file_line":4,"file_path":"lib/yard/cli/yri.rb"},{"file_line":4,"file_path":"lib/yard/cli/i18n.rb"},{"file_line":2,"file_path":"lib/yard/cli/help.rb"},{"file_line":2,"file_path":"lib/yard/cli/gems.rb"},{"file_line":2,"file_path":"lib/yard/cli/list.rb"},{"file_line":6,"file_path":"lib/yard/cli/diff.rb"},{"file_line":2,"file_path":"lib/yard/cli/stats.rb"},{"file_line":2,"file_path":"lib/yard/cli/graph.rb"},{"file_line":5,"file_path":"lib/yard/cli/yardoc.rb"},{"file_line":2,"file_path":"lib/yard/cli/config.rb"},{"file_line":2,"file_path":"lib/yard/cli/server.rb"},{"file_line":4,"file_path":"lib/yard/cli/command.rb"},{"file_line":2,"file_path":"lib/yard/cli/command_parser.rb"}],
"name": "CLI",
"namespace": "YARD",
"path": "YARD::CLI",
"source_type": "ruby",
"type": "module",
"visibility": "public",
"y_ld:children": ["YARD%3A%3ACLI%3A%3AYRI","YARD%3A%3ACLI%3A%3AI18n","YARD%3A%3ACLI%3A%3AHelp","YARD%3A%3ACLI%3A%3AGems","YARD%3A%3ACLI%3A%3AList","YARD%3A%3ACLI%3A%3ADiff","YARD%3A%3ACLI%3A%3AStats","YARD%3A%3ACLI%3A%3AGraph","YARD%3A%3ACLI%3A%3AYardocOptions","YARD%3A%3ACLI%3A%3AYardoc","YARD%3A%3ACLI%3A%3AConfig","YARD%3A%3ACLI%3A%3AServer","YARD%3A%3ACLI%3A%3ACommand","YARD%3A%3ACLI%3A%3ACommandParser"],
"y_ld:files": [{"file_line":5,"file_path":"lib%2Fyard%2Fautoload.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fcli%2Fyri.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fcli%2Fi18n.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fcli%2Fhelp.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fcli%2Fgems.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fcli%2Flist.rb"},{"file_line":6,"file_path":"lib%2Fyard%2Fcli%2Fdiff.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fcli%2Fstats.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fcli%2Fgraph.rb"},{"file_line":5,"file_path":"lib%2Fyard%2Fcli%2Fyardoc.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fcli%2Fconfig.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fcli%2Fserver.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fcli%2Fcommand.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fcli%2Fcommand_parser.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3ACLI"
},
{
"attributes": {"class":{},"instance":{}},
"children": ["YARD::CodeObjects::CodeObjectList","YARD::CodeObjects::NSEP","YARD::CodeObjects::NSEPQ","YARD::CodeObjects::ISEP","YARD::CodeObjects::ISEPQ","YARD::CodeObjects::CSEP","YARD::CodeObjects::CSEPQ","YARD::CodeObjects::CONSTANTMATCH","YARD::CodeObjects::NAMESPACEMATCH","YARD::CodeObjects::METHODNAMEMATCH","YARD::CodeObjects::METHODMATCH","YARD::CodeObjects::BUILTIN_EXCEPTIONS","YARD::CodeObjects::BUILTIN_CLASSES","YARD::CodeObjects::BUILTIN_MODULES","YARD::CodeObjects::BUILTIN_ALL","YARD::CodeObjects::BUILTIN_EXCEPTIONS_HASH","YARD::CodeObjects::Base","YARD::CodeObjects::ProxyMethodError","YARD::CodeObjects::Proxy","YARD::CodeObjects::RootObject","YARD::CodeObjects::ClassObject","YARD::CodeObjects::MacroObject","YARD::CodeObjects::ModuleObject","YARD::CodeObjects::MethodObject","YARD::CodeObjects::ConstantObject","YARD::CodeObjects::NamespaceObject","YARD::CodeObjects::ExtraFileObject","YARD::CodeObjects::ClassVariableObject","YARD::CodeObjects::ExtendedMethodObject"],
"current_file_has_comments": true,
"docstring": "A \"code object\" is defined as any entity in the Ruby language.\nClasses, modules, methods, class variables and constants are the\nmajor objects, but DSL languages can create their own by inheriting\nfrom {CodeObjects::Base}.",
"dynamic": true,
"files": [{"file_line":25,"file_path":"lib/yard/autoload.rb"},{"file_line":2,"file_path":"lib/yard/code_objects/base.rb"},{"file_line":2,"file_path":"lib/yard/code_objects/proxy.rb"},{"file_line":2,"file_path":"lib/yard/code_objects/root_object.rb"},{"file_line":1,"file_path":"lib/yard/code_objects/class_object.rb"},{"file_line":4,"file_path":"lib/yard/code_objects/macro_object.rb"},{"file_line":1,"file_path":"lib/yard/code_objects/module_object.rb"},{"file_line":1,"file_path":"lib/yard/code_objects/method_object.rb"},{"file_line":1,"file_path":"lib/yard/code_objects/constant_object.rb"},{"file_line":1,"file_path":"lib/yard/code_objects/namespace_object.rb"},{"file_line":1,"file_path":"lib/yard/code_objects/extra_file_object.rb"},{"file_line":1,"file_path":"lib/yard/code_objects/class_variable_object.rb"},{"file_line":1,"file_path":"lib/yard/code_objects/extended_method_object.rb"}],
"name": "CodeObjects",
"namespace": "YARD",
"path": "YARD::CodeObjects",
"source_type": "ruby",
"type": "module",
"visibility": "public",
"y_ld:children": ["YARD%3A%3ACodeObjects%3A%3ACodeObjectList","YARD%3A%3ACodeObjects%3A%3ANSEP","YARD%3A%3ACodeObjects%3A%3ANSEPQ","YARD%3A%3ACodeObjects%3A%3AISEP","YARD%3A%3ACodeObjects%3A%3AISEPQ","YARD%3A%3ACodeObjects%3A%3ACSEP","YARD%3A%3ACodeObjects%3A%3ACSEPQ","YARD%3A%3ACodeObjects%3A%3ACONSTANTMATCH","YARD%3A%3ACodeObjects%3A%3ANAMESPACEMATCH","YARD%3A%3ACodeObjects%3A%3AMETHODNAMEMATCH","YARD%3A%3ACodeObjects%3A%3AMETHODMATCH","YARD%3A%3ACodeObjects%3A%3ABUILTIN_EXCEPTIONS","YARD%3A%3ACodeObjects%3A%3ABUILTIN_CLASSES","YARD%3A%3ACodeObjects%3A%3ABUILTIN_MODULES","YARD%3A%3ACodeObjects%3A%3ABUILTIN_ALL","YARD%3A%3ACodeObjects%3A%3ABUILTIN_EXCEPTIONS_HASH","YARD%3A%3ACodeObjects%3A%3ABase","YARD%3A%3ACodeObjects%3A%3AProxyMethodError","YARD%3A%3ACodeObjects%3A%3AProxy","YARD%3A%3ACodeObjects%3A%3ARootObject","YARD%3A%3ACodeObjects%3A%3AClassObject","YARD%3A%3ACodeObjects%3A%3AMacroObject","YARD%3A%3ACodeObjects%3A%3AModuleObject","YARD%3A%3ACodeObjects%3A%3AMethodObject","YARD%3A%3ACodeObjects%3A%3AConstantObject","YARD%3A%3ACodeObjects%3A%3ANamespaceObject","YARD%3A%3ACodeObjects%3A%3AExtraFileObject","YARD%3A%3ACodeObjects%3A%3AClassVariableObject","YARD%3A%3ACodeObjects%3A%3AExtendedMethodObject"],
"y_ld:files": [{"file_line":25,"file_path":"lib%2Fyard%2Fautoload.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fcode_objects%2Fbase.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fcode_objects%2Fproxy.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fcode_objects%2Froot_object.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcode_objects%2Fclass_object.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fcode_objects%2Fmacro_object.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcode_objects%2Fmodule_object.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcode_objects%2Fmethod_object.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcode_objects%2Fconstant_object.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcode_objects%2Fnamespace_object.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcode_objects%2Fextra_file_object.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcode_objects%2Fclass_variable_object.rb"},{"file_line":1,"file_path":"lib%2Fyard%2Fcode_objects%2Fextended_method_object.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3ACodeObjects"
},
{
"attributes": {"class":{"options":{"write":"YARD::Config.options=","read":"YARD::Config.options"}},"instance":{}},
"children": ["YARD::Config.options=","YARD::Config.options","YARD::Config::CONFIG_DIR","YARD::Config::CONFIG_FILE","YARD::Config::IGNORED_PLUGINS","YARD::Config::DEFAULT_CONFIG_OPTIONS","YARD::Config::YARD_PLUGIN_PREFIX","YARD::Config.load","YARD::Config.save","YARD::Config.load_plugins","YARD::Config.load_plugin","YARD::Config.load_gem_plugins","YARD::Config.load_autoload_plugins","YARD::Config.load_commandline_plugins","YARD::Config.load_commandline_safemode","YARD::Config.load_plugin_failed","YARD::Config.add_ignored_plugins_file","YARD::Config.translate_plugin_names","YARD::Config.read_config_file","YARD::Config.translate_plugin_name","YARD::Config.with_yardopts","YARD::Config.arguments"],
"current_file_has_comments": true,
"docstring": "This class maintains all system-wide configuration for YARD and handles\nthe loading of plugins. To access options call {options}, and to load\na plugin use {load_plugin}. All other public methods are used by YARD\nduring load time.\n\n== User Configuration Files\n\nPersistent user configuration files can be stored in the file\n+~/.yard/config+, which is read when YARD first loads. The file should\nbe formatted as YAML, and should contain a map of keys and values.\n\nAlthough you can specify any key-value mapping in the configuration file,\nYARD defines special keys specified in {DEFAULT_CONFIG_OPTIONS}.\n\nAn example of a configuration file is listed below:\n\n !!!yaml\n load_plugins: true # Auto-load plugins when YARD starts\n ignored_plugins:\n - yard-broken\n - broken2 # yard- prefix not necessary\n autoload_plugins:\n - yard-rspec\n\n== Automatic Loading of Plugins\n\nYARD 0.6.2 will no longer automatically load all plugins by default. This\noption can be reset by setting 'load_plugins' to true in the configuration\nfile. In addition, you can specify a set of specific plugins to load on\nload through the 'autoload_plugins' list setting. This setting is\nindependent of the 'load_plugins' value and will always be processed.\n\n== Ignored Plugins File\n\nYARD 0.5 and below used a +~/.yard/ignored_plugins+ file to specify\nplugins to be ignored at load time. Ignored plugins in 0.6.2 and above\nshould now be specified in the main configuration file, though YARD\nwill support the +ignored_plugins+ file until 0.7.x.\n\n== Safe Mode\n\nYARD supports running in safe-mode. By doing this, it will avoid executing\nany user code such as require files or queries. Plugins will still be\nloaded with safe mode on, because plugins are properly namespaced with\na 'yard-' prefix, must be installed as a gem, and therefore cannot be\ntouched by the user. To specify safe mode, use the +safe_mode+ key.\n\n== Plugin Specific Configuration\n\nAdditional settings can be defined within the configuration file\nspecifically to provide configuration for a plugin. A plugin that utilizes\nthe YARD configuration is strongly encouraged to utilize namespacing of\ntheir configuration content.\n\n !!!yaml\n load_plugins: true # Auto-load plugins when YARD starts\n ignored_plugins:\n - yard-broken\n - broken2 # yard- prefix not necessary\n autoload_plugins:\n - yard-rspec\n # Plugin Specific Configuration\n yard-sample-plugin:\n show-results-inline: true\n\nAs the configuration is available system wide, it can be\naccessed within the plugin code.\n\n\n if YARD::Config.options['yard-sample-plugin'] and\n YARD::Config.options['yard-sample-plugin']['show-results-inline']\n # ... perform the action that places the results inline ...\n else\n # ... do the default behavior of not showing the results inline ...\n end\n\nWhen accessing the configuration, be aware that this file is user managed\nso configuration keys and values may not be present. Make no assumptions and\ninstead ensure that you check for the existence of keys before proceeding to\nretrieve values.",
"dynamic": true,
"files": [{"file_line":85,"file_path":"lib/yard/config.rb"}],
"name": "Config",
"namespace": "YARD",
"path": "YARD::Config",
"source_type": "ruby",
"superclass": "Object",
"type": "class",
"visibility": "public",
"y_ld:children": ["YARD%3A%3AConfig.options%3D","YARD%3A%3AConfig.options","YARD%3A%3AConfig%3A%3ACONFIG_DIR","YARD%3A%3AConfig%3A%3ACONFIG_FILE","YARD%3A%3AConfig%3A%3AIGNORED_PLUGINS","YARD%3A%3AConfig%3A%3ADEFAULT_CONFIG_OPTIONS","YARD%3A%3AConfig%3A%3AYARD_PLUGIN_PREFIX","YARD%3A%3AConfig.load","YARD%3A%3AConfig.save","YARD%3A%3AConfig.load_plugins","YARD%3A%3AConfig.load_plugin","YARD%3A%3AConfig.load_gem_plugins","YARD%3A%3AConfig.load_autoload_plugins","YARD%3A%3AConfig.load_commandline_plugins","YARD%3A%3AConfig.load_commandline_safemode","YARD%3A%3AConfig.load_plugin_failed","YARD%3A%3AConfig.add_ignored_plugins_file","YARD%3A%3AConfig.translate_plugin_names","YARD%3A%3AConfig.read_config_file","YARD%3A%3AConfig.translate_plugin_name","YARD%3A%3AConfig.with_yardopts","YARD%3A%3AConfig.arguments"],
"y_ld:files": [{"file_line":85,"file_path":"lib%2Fyard%2Fconfig.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3AConfig",
"y_ld:superclass": "Object"
},
{
"aliases": {"YARD::Docstring#all=":"replace"},
"attributes": {"class":{"default_parser":{"write":"YARD::Docstring.default_parser=","read":"YARD::Docstring.default_parser"}},"instance":{"ref_tags":{"write":null,"read":"YARD::Docstring#ref_tags"},"line_range":{"write":"YARD::Docstring#line_range=","read":"YARD::Docstring#line_range"},"all":{"write":null,"read":"YARD::Docstring#all"},"hash_flag":{"write":"YARD::Docstring#hash_flag=","read":"YARD::Docstring#hash_flag"},"object":{"write":"YARD::Docstring#object=","read":"YARD::Docstring#object"}}},
"children": ["YARD::Docstring.default_parser=","YARD::Docstring.default_parser","YARD::Docstring.parser","YARD::Docstring#ref_tags","YARD::Docstring#object=","YARD::Docstring#object","YARD::Docstring#line_range=","YARD::Docstring#line_range","YARD::Docstring#all","YARD::Docstring#hash_flag","YARD::Docstring#hash_flag=","YARD::Docstring::META_MATCH","YARD::Docstring.new!","YARD::Docstring#initialize","YARD::Docstring#+","YARD::Docstring#replace","YARD::Docstring#all=","YARD::Docstring#dup","YARD::Docstring#line","YARD::Docstring#summary","YARD::Docstring#to_raw","YARD::Docstring#add_tag","YARD::Docstring#tag","YARD::Docstring#tags","YARD::Docstring#has_tag?","YARD::Docstring#delete_tags","YARD::Docstring#delete_tag_if","YARD::Docstring#blank?","YARD::Docstring#convert_ref_tags","YARD::Docstring#parse_comments"],
"current_file_has_comments": true,
"docstring": "A documentation string, or \"docstring\" for short, encapsulates the\ncomments and metadata, or \"tags\", of an object. Meta-data is expressed\nin the form +@tag VALUE+, where VALUE can span over multiple lines as\nlong as they are indented. The following +@example+ tag shows how tags\ncan be indented:\n\n # @example My example\n # a = \"hello world\"\n # a.reverse\n # @version 1.0\n\nTags can be nested in a documentation string, though the {Tags::Tag}\nitself is responsible for parsing the inner tags.",
"dynamic": true,
"files": [{"file_line":15,"file_path":"lib/yard/docstring.rb"}],
"groups": ["Creating a Docstring Object","Creating and Accessing Meta-data"],
"name": "Docstring",
"namespace": "YARD",
"path": "YARD::Docstring",
"source_type": "ruby",
"superclass": "String",
"type": "class",
"visibility": "public",
"y_ld:children": ["YARD%3A%3ADocstring.default_parser%3D","YARD%3A%3ADocstring.default_parser","YARD%3A%3ADocstring.parser","YARD%3A%3ADocstring%23ref_tags","YARD%3A%3ADocstring%23object%3D","YARD%3A%3ADocstring%23object","YARD%3A%3ADocstring%23line_range%3D","YARD%3A%3ADocstring%23line_range","YARD%3A%3ADocstring%23all","YARD%3A%3ADocstring%23hash_flag","YARD%3A%3ADocstring%23hash_flag%3D","YARD%3A%3ADocstring%3A%3AMETA_MATCH","YARD%3A%3ADocstring.new%21","YARD%3A%3ADocstring%23initialize","YARD%3A%3ADocstring%23%2B","YARD%3A%3ADocstring%23replace","YARD%3A%3ADocstring%23all%3D","YARD%3A%3ADocstring%23dup","YARD%3A%3ADocstring%23line","YARD%3A%3ADocstring%23summary","YARD%3A%3ADocstring%23to_raw","YARD%3A%3ADocstring%23add_tag","YARD%3A%3ADocstring%23tag","YARD%3A%3ADocstring%23tags","YARD%3A%3ADocstring%23has_tag%3F","YARD%3A%3ADocstring%23delete_tags","YARD%3A%3ADocstring%23delete_tag_if","YARD%3A%3ADocstring%23blank%3F","YARD%3A%3ADocstring%23convert_ref_tags","YARD%3A%3ADocstring%23parse_comments"],
"y_ld:files": [{"file_line":15,"file_path":"lib%2Fyard%2Fdocstring.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3ADocstring",
"y_ld:superclass": "String"
},
{
"attributes": {"class":{},"instance":{"state":{"write":null,"read":"YARD::DocstringParser#state"},"text":{"write":null,"read":"YARD::DocstringParser#text"},"raw_text":{"write":null,"read":"YARD::DocstringParser#raw_text"},"tags":{"write":null,"read":"YARD::DocstringParser#tags"},"directives":{"write":null,"read":"YARD::DocstringParser#directives"},"handler":{"write":"YARD::DocstringParser#handler=","read":"YARD::DocstringParser#handler"},"object":{"write":"YARD::DocstringParser#object=","read":"YARD::DocstringParser#object"},"library":{"write":"YARD::DocstringParser#library=","read":"YARD::DocstringParser#library"}}},
"children": ["YARD::DocstringParser#text","YARD::DocstringParser#raw_text","YARD::DocstringParser#tags","YARD::DocstringParser#directives","YARD::DocstringParser#state","YARD::DocstringParser#object=","YARD::DocstringParser#object","YARD::DocstringParser#handler=","YARD::DocstringParser#handler","YARD::DocstringParser#library=","YARD::DocstringParser#library","YARD::DocstringParser::META_MATCH","YARD::DocstringParser#initialize","YARD::DocstringParser#to_docstring","YARD::DocstringParser#parse","YARD::DocstringParser#parse_content","YARD::DocstringParser#create_tag","YARD::DocstringParser#create_ref_tag","YARD::DocstringParser#create_directive","YARD::DocstringParser#tag_is_directive?","YARD::DocstringParser#call_directives_after_parse","YARD::DocstringParser#call_after_parse_callbacks","YARD::DocstringParser.after_parse","YARD::DocstringParser.after_parse_callbacks"],
"current_file_has_comments": true,
"docstring": "Parses text and creates a {Docstring} object to represent documentation\nfor a {CodeObjects::Base}. To create a new docstring, you should initialize\nthe parser and call {#parse} followed by {#to_docstring}.\n\n== Subclassing Notes\n\nThe DocstringParser can be subclassed and subtituted during parsing by\nsetting the {Docstring.default_parser} attribute with the name of the\nsubclass. This allows developers to change the way docstrings are\nparsed, allowing for completely different docstring syntaxes.",
"dynamic": true,
"files": [{"file_line":29,"file_path":"lib/yard/docstring_parser.rb"}],
"groups": ["Creation and Conversion Methods","Parsing Methods","Tag Manipulation Methods","Parser Callback Methods"],
"name": "DocstringParser",
"namespace": "YARD",
"path": "YARD::DocstringParser",
"source_type": "ruby",
"superclass": "Object",
"type": "class",
"visibility": "public",
"y_ld:children": ["YARD%3A%3ADocstringParser%23text","YARD%3A%3ADocstringParser%23raw_text","YARD%3A%3ADocstringParser%23tags","YARD%3A%3ADocstringParser%23directives","YARD%3A%3ADocstringParser%23state","YARD%3A%3ADocstringParser%23object%3D","YARD%3A%3ADocstringParser%23object","YARD%3A%3ADocstringParser%23handler%3D","YARD%3A%3ADocstringParser%23handler","YARD%3A%3ADocstringParser%23library%3D","YARD%3A%3ADocstringParser%23library","YARD%3A%3ADocstringParser%3A%3AMETA_MATCH","YARD%3A%3ADocstringParser%23initialize","YARD%3A%3ADocstringParser%23to_docstring","YARD%3A%3ADocstringParser%23parse","YARD%3A%3ADocstringParser%23parse_content","YARD%3A%3ADocstringParser%23create_tag","YARD%3A%3ADocstringParser%23create_ref_tag","YARD%3A%3ADocstringParser%23create_directive","YARD%3A%3ADocstringParser%23tag_is_directive%3F","YARD%3A%3ADocstringParser%23call_directives_after_parse","YARD%3A%3ADocstringParser%23call_after_parse_callbacks","YARD%3A%3ADocstringParser.after_parse","YARD%3A%3ADocstringParser.after_parse_callbacks"],
"y_ld:files": [{"file_line":29,"file_path":"lib%2Fyard%2Fdocstring_parser.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3ADocstringParser",
"y_ld:superclass": "Object"
},
{
"attributes": {"class":{},"instance":{}},
"children": ["YARD::Handlers::C","YARD::Handlers::Ruby","YARD::Handlers::NamespaceMissingError","YARD::Handlers::Base","YARD::Handlers::Processor"],
"current_file_has_comments": true,
"docstring": "Handlers are called during the data processing part of YARD's\nparsing phase. This allows YARD as well as any custom extension to\nanalyze source and generate {CodeObjects} to be stored for later use.",
"dynamic": true,
"files": [{"file_line":60,"file_path":"lib/yard/autoload.rb"},{"file_line":2,"file_path":"lib/yard/handlers/base.rb"},{"file_line":2,"file_path":"lib/yard/handlers/c/base.rb"},{"file_line":4,"file_path":"lib/yard/handlers/processor.rb"},{"file_line":2,"file_path":"lib/yard/handlers/ruby/base.rb"},{"file_line":2,"file_path":"lib/yard/handlers/ruby/legacy/base.rb"},{"file_line":2,"file_path":"lib/yard/handlers/ruby/dsl_handler.rb"},{"file_line":2,"file_path":"lib/yard/handlers/c/handler_methods.rb"},{"file_line":2,"file_path":"lib/yard/handlers/ruby/legacy/dsl_handler.rb"},{"file_line":2,"file_path":"lib/yard/handlers/ruby/dsl_handler_methods.rb"}],
"name": "Handlers",
"namespace": "YARD",
"path": "YARD::Handlers",
"source_type": "ruby",
"type": "module",
"visibility": "public",
"y_ld:children": ["YARD%3A%3AHandlers%3A%3AC","YARD%3A%3AHandlers%3A%3ARuby","YARD%3A%3AHandlers%3A%3ANamespaceMissingError","YARD%3A%3AHandlers%3A%3ABase","YARD%3A%3AHandlers%3A%3AProcessor"],
"y_ld:files": [{"file_line":60,"file_path":"lib%2Fyard%2Fautoload.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fhandlers%2Fbase.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fhandlers%2Fc%2Fbase.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fhandlers%2Fprocessor.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fhandlers%2Fruby%2Fbase.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fhandlers%2Fruby%2Flegacy%2Fbase.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fhandlers%2Fruby%2Fdsl_handler.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fhandlers%2Fc%2Fhandler_methods.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fhandlers%2Fruby%2Flegacy%2Fdsl_handler.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fhandlers%2Fruby%2Fdsl_handler_methods.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3AHandlers"
},
{
"attributes": {"class":{},"instance":{}},
"children": ["YARD::I18n::Text","YARD::I18n::Message","YARD::I18n::Messages","YARD::I18n::PotGenerator"],
"current_file_has_comments": true,
"docstring": "Namespace for internationalization (i18n)",
"dynamic": true,
"files": [{"file_line":135,"file_path":"lib/yard/autoload.rb"},{"file_line":2,"file_path":"lib/yard/i18n/text.rb"},{"file_line":4,"file_path":"lib/yard/i18n/message.rb"},{"file_line":2,"file_path":"lib/yard/i18n/messages.rb"},{"file_line":4,"file_path":"lib/yard/i18n/pot_generator.rb"}],
"name": "I18n",
"namespace": "YARD",
"path": "YARD::I18n",
"source_type": "ruby",
"type": "module",
"visibility": "public",
"y_ld:children": ["YARD%3A%3AI18n%3A%3AText","YARD%3A%3AI18n%3A%3AMessage","YARD%3A%3AI18n%3A%3AMessages","YARD%3A%3AI18n%3A%3APotGenerator"],
"y_ld:files": [{"file_line":135,"file_path":"lib%2Fyard%2Fautoload.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fi18n%2Ftext.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fi18n%2Fmessage.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fi18n%2Fmessages.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fi18n%2Fpot_generator.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3AI18n"
},
{
"attributes": {"class":{},"instance":{"show_backtraces":{"write":"YARD::Logger#show_backtraces=","read":"YARD::Logger#show_backtraces"}}},
"children": ["YARD::Logger#show_backtraces=","YARD::Logger#show_backtraces","YARD::Logger.instance","YARD::Logger#initialize","YARD::Logger#debug","YARD::Logger#backtrace","YARD::Logger#warn_no_continuations","YARD::Logger#enter_level","YARD::Logger#format_log"],
"current_file_has_comments": true,
"docstring": "Handles console logging for info, warnings and errors.\nUses the stdlib Logger class in Ruby for all the backend logic.",
"dynamic": true,
"files": [{"file_line":6,"file_path":"lib/yard/logging.rb"}],
"name": "Logger",
"namespace": "YARD",
"path": "YARD::Logger",
"source_type": "ruby",
"superclass": "Logger",
"type": "class",
"visibility": "public",
"y_ld:children": ["YARD%3A%3ALogger%23show_backtraces%3D","YARD%3A%3ALogger%23show_backtraces","YARD%3A%3ALogger.instance","YARD%3A%3ALogger%23initialize","YARD%3A%3ALogger%23debug","YARD%3A%3ALogger%23backtrace","YARD%3A%3ALogger%23warn_no_continuations","YARD%3A%3ALogger%23enter_level","YARD%3A%3ALogger%23format_log"],
"y_ld:files": [{"file_line":6,"file_path":"lib%2Fyard%2Flogging.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3ALogger",
"y_ld:superclass": "Logger"
},
{
"attributes": {"class":{},"instance":{}},
"children": ["YARD::Options.default_attr","YARD::Options#[]","YARD::Options#[]=","YARD::Options#update","YARD::Options#merge","YARD::Options#to_hash","YARD::Options#each","YARD::Options#inspect","YARD::Options#==","YARD::Options#method_missing","YARD::Options#reset_defaults","YARD::Options#delete","YARD::Options#tap"],
"current_file_has_comments": true,
"docstring": "Generalized options class for passing around large amounts of options between objects.\n\nThe options class exists for better visibility and documentability of options being\npassed through to other objects. Because YARD has parser and template architectures\nthat are heavily reliant on options, it is necessary to make these option keys easily\nvisible and understood by developers. Since the options class is more than just a\nbasic Hash, the subclass can provide aliasing and convenience methods to simplify\noption property access, and, if needed, support backward-compatibility for deprecated\nkey names.\n\n== Hash and OpenStruct-like Access\n\nAlthough the options class allows for Hash-like access (<tt>opts[:key]</tt>), the recommended\nmechanism for accessing an option key will be via standard method calls on attributes\n\nThe options class can also act as an open ended key value storage structure (like a\nHash or OpenStruct), and allows for setting and getting of unregistered option keys.\nThis methodology is not recommended, however, and is only supported for backward\ncompatibility inside YARD. Whenever possible, developers should define all keys used\nby an options class.\n\n== Declaring Default Values\n\nNote that the options class can contain default value definitions for certain options,\nbut to initialize these defaults, {#reset_defaults} must be called manually after\ninitialization; the options object is always created empty until defaults are applied.",
"dynamic": true,
"files": [{"file_line":68,"file_path":"lib/yard/options.rb"}],
"name": "Options",
"namespace": "YARD",
"path": "YARD::Options",
"source_type": "ruby",
"superclass": "Object",
"type": "class",
"visibility": "public",
"y_ld:children": ["YARD%3A%3AOptions.default_attr","YARD%3A%3AOptions%23%5B%5D","YARD%3A%3AOptions%23%5B%5D%3D","YARD%3A%3AOptions%23update","YARD%3A%3AOptions%23merge","YARD%3A%3AOptions%23to_hash","YARD%3A%3AOptions%23each","YARD%3A%3AOptions%23inspect","YARD%3A%3AOptions%23%3D%3D","YARD%3A%3AOptions%23method_missing","YARD%3A%3AOptions%23reset_defaults","YARD%3A%3AOptions%23delete","YARD%3A%3AOptions%23tap"],
"y_ld:files": [{"file_line":68,"file_path":"lib%2Fyard%2Foptions.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3AOptions",
"y_ld:superclass": "Object"
},
{
"attributes": {"class":{},"instance":{}},
"children": ["YARD::Parser::C","YARD::Parser::Ruby","YARD::Parser::Base","YARD::Parser::UndocumentableError","YARD::Parser::ParserSyntaxError","YARD::Parser::OrderedParser","YARD::Parser::SourceParser"],
"current_file_has_comments": true,
"docstring": "The parser namespace holds all parsing engines used by YARD.\nCurrently only Ruby and C (Ruby) parsers are implemented.",
"dynamic": true,
"files": [{"file_line":144,"file_path":"lib/yard/autoload.rb"},{"file_line":2,"file_path":"lib/yard/parser/base.rb"},{"file_line":2,"file_path":"lib/yard/parser/c/c_parser.rb"},{"file_line":2,"file_path":"lib/yard/parser/c/statement.rb"},{"file_line":2,"file_path":"lib/yard/parser/ruby/ast_node.rb"},{"file_line":5,"file_path":"lib/yard/parser/source_parser.rb"},{"file_line":4,"file_path":"lib/yard/parser/ruby/ruby_parser.rb"},{"file_line":2,"file_path":"lib/yard/parser/c/comment_parser.rb"},{"file_line":2,"file_path":"lib/yard/parser/ruby/legacy/ruby_parser.rb"}],
"name": "Parser",
"namespace": "YARD",
"path": "YARD::Parser",
"source_type": "ruby",
"type": "module",
"visibility": "public",
"y_ld:children": ["YARD%3A%3AParser%3A%3AC","YARD%3A%3AParser%3A%3ARuby","YARD%3A%3AParser%3A%3ABase","YARD%3A%3AParser%3A%3AUndocumentableError","YARD%3A%3AParser%3A%3AParserSyntaxError","YARD%3A%3AParser%3A%3AOrderedParser","YARD%3A%3AParser%3A%3ASourceParser"],
"y_ld:files": [{"file_line":144,"file_path":"lib%2Fyard%2Fautoload.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fparser%2Fbase.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fparser%2Fc%2Fc_parser.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fparser%2Fc%2Fstatement.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fparser%2Fruby%2Fast_node.rb"},{"file_line":5,"file_path":"lib%2Fyard%2Fparser%2Fsource_parser.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fparser%2Fruby%2Fruby_parser.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fparser%2Fc%2Fcomment_parser.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fparser%2Fruby%2Flegacy%2Fruby_parser.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3AParser"
},
{
"attributes": {"class":{},"instance":{}},
"children": ["YARD::Rake::YardocTask"],
"current_file_has_comments": true,
"docstring": "Holds Rake tasks used by YARD",
"dynamic": true,
"files": [{"file_line":174,"file_path":"lib/yard/autoload.rb"},{"file_line":5,"file_path":"lib/yard/rake/yardoc_task.rb"}],
"name": "Rake",
"namespace": "YARD",
"path": "YARD::Rake",
"source_type": "ruby",
"type": "module",
"visibility": "public",
"y_ld:children": ["YARD%3A%3ARake%3A%3AYardocTask"],
"y_ld:files": [{"file_line":174,"file_path":"lib%2Fyard%2Fautoload.rb"},{"file_line":5,"file_path":"lib%2Fyard%2Frake%2Fyardoc_task.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3ARake"
},
{
"aliases": {"YARD::Registry.[]":"at"},
"attributes": {"class":{"yardoc_file":{"write":"YARD::Registry.yardoc_file=","read":"YARD::Registry.yardoc_file"},"single_object_db":{"write":"YARD::Registry.single_object_db=","read":"YARD::Registry.single_object_db"}},"instance":{}},
"children": ["YARD::Registry::DEFAULT_YARDOC_FILE","YARD::Registry::LOCAL_YARDOC_INDEX","YARD::Registry.yardoc_file_for_gem","YARD::Registry.yardoc_file=","YARD::Registry.yardoc_file","YARD::Registry.load","YARD::Registry.load_yardoc","YARD::Registry.load!","YARD::Registry.load_all","YARD::Registry.save","YARD::Registry.delete_from_disk","YARD::Registry.register","YARD::Registry.delete","YARD::Registry.clear","YARD::Registry.each","YARD::Registry.all","YARD::Registry.paths","YARD::Registry.at","YARD::Registry.[]","YARD::Registry.root","YARD::Registry.resolve","YARD::Registry.checksums","YARD::Registry.checksum_for","YARD::Registry.single_object_db=","YARD::Registry.single_object_db","YARD::Registry.proxy_types","YARD::Registry.instance","YARD::Registry.partial_resolve","YARD::Registry.global_yardoc_file","YARD::Registry.local_yardoc_file","YARD::Registry.thread_local_store","YARD::Registry.thread_local_store="],
"class_mixins": ["Enumerable"],
"current_file_has_comments": true,
"docstring": "The +Registry+ is the centralized data store for all {CodeObjects} created\nduring parsing. The storage is a key value store with the object's path\n(see {CodeObjects::Base#path}) as the key and the object itself as the value.\nObject paths must be unique to be stored in the Registry. All lookups for\nobjects are done on the singleton Registry instance using the {Registry.at}\nor {Registry.resolve} methods.\n\n== Saving / Loading a Registry\nThe registry is saved to a \"yardoc file\" (actually a directory), which can\nbe loaded back to perform any lookups. See {Registry.load!} and\n{Registry.save} for information on saving and loading of a yardoc file.\n\n== Threading Notes\nThe registry class is a singleton class that is accessed directly in many\nplaces across YARD. To mitigate threading issues, YARD (0.6.5+) makes\nthe Registry thread local. This means all access to a registry for a specific\nobject set must occur in the originating thread.",
"dynamic": true,
"files": [{"file_line":30,"file_path":"lib/yard/registry.rb"}],
"groups": ["Getting .yardoc File Locations","Loading Data from Disk","Saving and Deleting Data from Disk","Adding and Deleting Objects from the Registry","Accessing Objects in the Registry","Managing Source File Checksums","Managing Internal State (Advanced / Testing Only)","Legacy Methods","Retrieving yardoc File Locations","Threading support"],
"name": "Registry",
"namespace": "YARD",
"path": "YARD::Registry",
"source_type": "ruby",
"type": "module",
"visibility": "public",
"y_ld:children": ["YARD%3A%3ARegistry%3A%3ADEFAULT_YARDOC_FILE","YARD%3A%3ARegistry%3A%3ALOCAL_YARDOC_INDEX","YARD%3A%3ARegistry.yardoc_file_for_gem","YARD%3A%3ARegistry.yardoc_file%3D","YARD%3A%3ARegistry.yardoc_file","YARD%3A%3ARegistry.load","YARD%3A%3ARegistry.load_yardoc","YARD%3A%3ARegistry.load%21","YARD%3A%3ARegistry.load_all","YARD%3A%3ARegistry.save","YARD%3A%3ARegistry.delete_from_disk","YARD%3A%3ARegistry.register","YARD%3A%3ARegistry.delete","YARD%3A%3ARegistry.clear","YARD%3A%3ARegistry.each","YARD%3A%3ARegistry.all","YARD%3A%3ARegistry.paths","YARD%3A%3ARegistry.at","YARD%3A%3ARegistry.%5B%5D","YARD%3A%3ARegistry.root","YARD%3A%3ARegistry.resolve","YARD%3A%3ARegistry.checksums","YARD%3A%3ARegistry.checksum_for","YARD%3A%3ARegistry.single_object_db%3D","YARD%3A%3ARegistry.single_object_db","YARD%3A%3ARegistry.proxy_types","YARD%3A%3ARegistry.instance","YARD%3A%3ARegistry.partial_resolve","YARD%3A%3ARegistry.global_yardoc_file","YARD%3A%3ARegistry.local_yardoc_file","YARD%3A%3ARegistry.thread_local_store","YARD%3A%3ARegistry.thread_local_store%3D"],
"y_ld:files": [{"file_line":30,"file_path":"lib%2Fyard%2Fregistry.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3ARegistry"
},
{
"aliases": {"YARD::RegistryStore#[]=":"put","YARD::RegistryStore#[]":"get"},
"attributes": {"class":{},"instance":{"file":{"write":null,"read":"YARD::RegistryStore#file"},"proxy_types":{"write":null,"read":"YARD::RegistryStore#proxy_types"},"checksums":{"write":null,"read":"YARD::RegistryStore#checksums"}}},
"children": ["YARD::RegistryStore#proxy_types","YARD::RegistryStore#file","YARD::RegistryStore#checksums","YARD::RegistryStore#initialize","YARD::RegistryStore#get","YARD::RegistryStore#put","YARD::RegistryStore#[]","YARD::RegistryStore#[]=","YARD::RegistryStore#delete","YARD::RegistryStore#keys","YARD::RegistryStore#values","YARD::RegistryStore#paths_for_type","YARD::RegistryStore#values_for_type","YARD::RegistryStore#root","YARD::RegistryStore#load","YARD::RegistryStore#load!","YARD::RegistryStore#load_all","YARD::RegistryStore#save","YARD::RegistryStore#destroy","YARD::RegistryStore#objects_path","YARD::RegistryStore#proxy_types_path","YARD::RegistryStore#checksums_path","YARD::RegistryStore#object_types_path","YARD::RegistryStore#load_yardoc","YARD::RegistryStore#load_yardoc_old","YARD::RegistryStore#load_proxy_types","YARD::RegistryStore#load_object_types","YARD::RegistryStore#load_checksums","YARD::RegistryStore#load_root","YARD::RegistryStore#all_disk_objects","YARD::RegistryStore#write_proxy_types","YARD::RegistryStore#write_object_types","YARD::RegistryStore#write_checksums"],
"current_file_has_comments": true,
"docstring": "The data store for the {Registry}.",
"dynamic": true,
"files": [{"file_line":8,"file_path":"lib/yard/registry_store.rb"}],
"name": "RegistryStore",
"namespace": "YARD",
"path": "YARD::RegistryStore",
"source_type": "ruby",
"superclass": "Object",
"type": "class",
"visibility": "public",
"y_ld:children": ["YARD%3A%3ARegistryStore%23proxy_types","YARD%3A%3ARegistryStore%23file","YARD%3A%3ARegistryStore%23checksums","YARD%3A%3ARegistryStore%23initialize","YARD%3A%3ARegistryStore%23get","YARD%3A%3ARegistryStore%23put","YARD%3A%3ARegistryStore%23%5B%5D","YARD%3A%3ARegistryStore%23%5B%5D%3D","YARD%3A%3ARegistryStore%23delete","YARD%3A%3ARegistryStore%23keys","YARD%3A%3ARegistryStore%23values","YARD%3A%3ARegistryStore%23paths_for_type","YARD%3A%3ARegistryStore%23values_for_type","YARD%3A%3ARegistryStore%23root","YARD%3A%3ARegistryStore%23load","YARD%3A%3ARegistryStore%23load%21","YARD%3A%3ARegistryStore%23load_all","YARD%3A%3ARegistryStore%23save","YARD%3A%3ARegistryStore%23destroy","YARD%3A%3ARegistryStore%23objects_path","YARD%3A%3ARegistryStore%23proxy_types_path","YARD%3A%3ARegistryStore%23checksums_path","YARD%3A%3ARegistryStore%23object_types_path","YARD%3A%3ARegistryStore%23load_yardoc","YARD%3A%3ARegistryStore%23load_yardoc_old","YARD%3A%3ARegistryStore%23load_proxy_types","YARD%3A%3ARegistryStore%23load_object_types","YARD%3A%3ARegistryStore%23load_checksums","YARD%3A%3ARegistryStore%23load_root","YARD%3A%3ARegistryStore%23all_disk_objects","YARD%3A%3ARegistryStore%23write_proxy_types","YARD%3A%3ARegistryStore%23write_object_types","YARD%3A%3ARegistryStore%23write_checksums"],
"y_ld:files": [{"file_line":8,"file_path":"lib%2Fyard%2Fregistry_store.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3ARegistryStore",
"y_ld:superclass": "Object"
},
{
"attributes": {"class":{},"instance":{}},
"children": ["YARD::Serializers::Base","YARD::Serializers::YardocSerializer","YARD::Serializers::StdoutSerializer","YARD::Serializers::ProcessSerializer","YARD::Serializers::FileSystemSerializer"],
"current_file_has_comments": true,
"docstring": "Namespace for components that serialize to various endpoints",
"dynamic": true,
"files": [{"file_line":178,"file_path":"lib/yard/autoload.rb"},{"file_line":2,"file_path":"lib/yard/serializers/base.rb"},{"file_line":28,"file_path":"lib/yard/serializers/yardoc_serializer.rb"},{"file_line":2,"file_path":"lib/yard/serializers/stdout_serializer.rb"},{"file_line":2,"file_path":"lib/yard/serializers/process_serializer.rb"},{"file_line":2,"file_path":"lib/yard/serializers/file_system_serializer.rb"}],
"name": "Serializers",
"namespace": "YARD",
"path": "YARD::Serializers",
"source_type": "ruby",
"type": "module",
"visibility": "public",
"y_ld:children": ["YARD%3A%3ASerializers%3A%3ABase","YARD%3A%3ASerializers%3A%3AYardocSerializer","YARD%3A%3ASerializers%3A%3AStdoutSerializer","YARD%3A%3ASerializers%3A%3AProcessSerializer","YARD%3A%3ASerializers%3A%3AFileSystemSerializer"],
"y_ld:files": [{"file_line":178,"file_path":"lib%2Fyard%2Fautoload.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fserializers%2Fbase.rb"},{"file_line":28,"file_path":"lib%2Fyard%2Fserializers%2Fyardoc_serializer.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fserializers%2Fstdout_serializer.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fserializers%2Fprocess_serializer.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fserializers%2Ffile_system_serializer.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3ASerializers"
},
{
"attributes": {"class":{},"instance":{}},
"children": ["YARD::Server.register_static_path","YARD::Server::Commands","YARD::Server::Router","YARD::Server::FinishRequest","YARD::Server::NotFoundError","YARD::Server::Adapter","YARD::Server::RackMiddleware","YARD::Server::RackAdapter","YARD::Server::StaticCaching","YARD::Server::LibraryNotPreparedError","YARD::Server::LibraryVersion","YARD::Server::WebrickAdapter","YARD::Server::WebrickServlet","YARD::Server::DocServerHelper","YARD::Server::DocServerSerializer"],
"current_file_has_comments": true,
"docstring": "Namespace for classes and modules that handle serving documentation over HTTP\n\n== Implementing a Custom Server\nTo customize the YARD server, see the {Adapter} and {Router} classes.\n\n== Rack Middleware\nIf you want to use the YARD server as a Rack middleware, see the documentation\nin {RackMiddleware}.",
"dynamic": true,
"files": [{"file_line":196,"file_path":"lib/yard/autoload.rb"},{"file_line":2,"file_path":"lib/yard/server.rb"},{"file_line":2,"file_path":"lib/yard/server/router.rb"},{"file_line":2,"file_path":"lib/yard/server/adapter.rb"},{"file_line":5,"file_path":"lib/yard/server/rack_adapter.rb"},{"file_line":4,"file_path":"lib/yard/server/commands/base.rb"},{"file_line":2,"file_path":"lib/yard/server/static_caching.rb"},{"file_line":4,"file_path":"lib/yard/server/library_version.rb"},{"file_line":4,"file_path":"lib/yard/server/webrick_adapter.rb"},{"file_line":2,"file_path":"lib/yard/server/doc_server_helper.rb"},{"file_line":2,"file_path":"lib/yard/server/commands/list_command.rb"},{"file_line":4,"file_path":"lib/yard/server/doc_server_serializer.rb"},{"file_line":2,"file_path":"lib/yard/server/commands/search_command.rb"},{"file_line":2,"file_path":"lib/yard/server/commands/frames_command.rb"},{"file_line":4,"file_path":"lib/yard/server/commands/library_command.rb"},{"file_line":4,"file_path":"lib/yard/server/commands/static_file_command.rb"},{"file_line":2,"file_path":"lib/yard/server/commands/display_file_command.rb"},{"file_line":2,"file_path":"lib/yard/server/commands/library_index_command.rb"},{"file_line":2,"file_path":"lib/yard/server/commands/display_object_command.rb"}],
"name": "Server",
"namespace": "YARD",
"path": "YARD::Server",
"source_type": "ruby",
"type": "module",
"visibility": "public",
"y_ld:children": ["YARD%3A%3AServer.register_static_path","YARD%3A%3AServer%3A%3ACommands","YARD%3A%3AServer%3A%3ARouter","YARD%3A%3AServer%3A%3AFinishRequest","YARD%3A%3AServer%3A%3ANotFoundError","YARD%3A%3AServer%3A%3AAdapter","YARD%3A%3AServer%3A%3ARackMiddleware","YARD%3A%3AServer%3A%3ARackAdapter","YARD%3A%3AServer%3A%3AStaticCaching","YARD%3A%3AServer%3A%3ALibraryNotPreparedError","YARD%3A%3AServer%3A%3ALibraryVersion","YARD%3A%3AServer%3A%3AWebrickAdapter","YARD%3A%3AServer%3A%3AWebrickServlet","YARD%3A%3AServer%3A%3ADocServerHelper","YARD%3A%3AServer%3A%3ADocServerSerializer"],
"y_ld:files": [{"file_line":196,"file_path":"lib%2Fyard%2Fautoload.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fserver.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fserver%2Frouter.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fserver%2Fadapter.rb"},{"file_line":5,"file_path":"lib%2Fyard%2Fserver%2Frack_adapter.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Fbase.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fserver%2Fstatic_caching.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fserver%2Flibrary_version.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fserver%2Fwebrick_adapter.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fserver%2Fdoc_server_helper.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Flist_command.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fserver%2Fdoc_server_serializer.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Fsearch_command.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Fframes_command.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Flibrary_command.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Fstatic_file_command.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Fdisplay_file_command.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Flibrary_index_command.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Fserver%2Fcommands%2Fdisplay_object_command.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3AServer"
},
{
"attributes": {"class":{},"instance":{}},
"children": ["YARD::StubProxy#_dump","YARD::StubProxy._load","YARD::StubProxy#hash","YARD::StubProxy#initialize","YARD::StubProxy#method_missing"],
"current_file_has_comments": true,
"docstring": "Stubs marshal dumps and acts a delegate class for an object by path",
"dynamic": true,
"files": [{"file_line":5,"file_path":"lib/yard/serializers/yardoc_serializer.rb"}],
"name": "StubProxy",
"namespace": "YARD",
"path": "YARD::StubProxy",
"source_type": "ruby",
"superclass": "Object",
"type": "class",
"visibility": "public",
"y_ld:children": ["YARD%3A%3AStubProxy%23_dump","YARD%3A%3AStubProxy._load","YARD%3A%3AStubProxy%23hash","YARD%3A%3AStubProxy%23initialize","YARD%3A%3AStubProxy%23method_missing"],
"y_ld:files": [{"file_line":5,"file_path":"lib%2Fyard%2Fserializers%2Fyardoc_serializer.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3AStubProxy",
"y_ld:superclass": "Object"
},
{
"attributes": {"class":{},"instance":{}},
"children": ["YARD::Tags::Tag","YARD::Tags::RefTag","YARD::Tags::Library","YARD::Tags::Directive","YARD::Tags::EndGroupDirective","YARD::Tags::GroupDirective","YARD::Tags::MacroDirective","YARD::Tags::MethodDirective","YARD::Tags::AttributeDirective","YARD::Tags::ParseDirective","YARD::Tags::ScopeDirective","YARD::Tags::VisibilityDirective","YARD::Tags::OptionTag","YARD::Tags::DefaultTag","YARD::Tags::RefTagList","YARD::Tags::OverloadTag","YARD::Tags::DefaultFactory","YARD::Tags::TagFormatError"],
"current_file_has_comments": true,
"docstring": "Namespace for Tag components",
"dynamic": true,
"files": [{"file_line":227,"file_path":"lib/yard/autoload.rb"},{"file_line":2,"file_path":"lib/yard/tags/tag.rb"},{"file_line":2,"file_path":"lib/yard/tags/ref_tag.rb"},{"file_line":2,"file_path":"lib/yard/tags/library.rb"},{"file_line":4,"file_path":"lib/yard/tags/directives.rb"},{"file_line":2,"file_path":"lib/yard/tags/option_tag.rb"},{"file_line":2,"file_path":"lib/yard/tags/default_tag.rb"},{"file_line":2,"file_path":"lib/yard/tags/ref_tag_list.rb"},{"file_line":2,"file_path":"lib/yard/tags/overload_tag.rb"},{"file_line":2,"file_path":"lib/yard/tags/default_factory.rb"},{"file_line":2,"file_path":"lib/yard/tags/tag_format_error.rb"}],
"groups": ["Parser callbacks"],
"name": "Tags",
"namespace": "YARD",
"path": "YARD::Tags",
"source_type": "ruby",
"type": "module",
"visibility": "public",
"y_ld:children": ["YARD%3A%3ATags%3A%3ATag","YARD%3A%3ATags%3A%3ARefTag","YARD%3A%3ATags%3A%3ALibrary","YARD%3A%3ATags%3A%3ADirective","YARD%3A%3ATags%3A%3AEndGroupDirective","YARD%3A%3ATags%3A%3AGroupDirective","YARD%3A%3ATags%3A%3AMacroDirective","YARD%3A%3ATags%3A%3AMethodDirective","YARD%3A%3ATags%3A%3AAttributeDirective","YARD%3A%3ATags%3A%3AParseDirective","YARD%3A%3ATags%3A%3AScopeDirective","YARD%3A%3ATags%3A%3AVisibilityDirective","YARD%3A%3ATags%3A%3AOptionTag","YARD%3A%3ATags%3A%3ADefaultTag","YARD%3A%3ATags%3A%3ARefTagList","YARD%3A%3ATags%3A%3AOverloadTag","YARD%3A%3ATags%3A%3ADefaultFactory","YARD%3A%3ATags%3A%3ATagFormatError"],
"y_ld:files": [{"file_line":227,"file_path":"lib%2Fyard%2Fautoload.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Ftags%2Ftag.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Ftags%2Fref_tag.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Ftags%2Flibrary.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Ftags%2Fdirectives.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Ftags%2Foption_tag.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Ftags%2Fdefault_tag.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Ftags%2Fref_tag_list.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Ftags%2Foverload_tag.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Ftags%2Fdefault_factory.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Ftags%2Ftag_format_error.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3ATags"
},
{
"attributes": {"class":{},"instance":{}},
"children": ["YARD::Templates::Helpers","YARD::Templates::Engine","YARD::Templates::Section","YARD::Templates::Template","YARD::Templates::ErbCache","YARD::Templates::TemplateOptions"],
"current_file_has_comments": true,
"docstring": "Namespace for templating system",
"dynamic": true,
"files": [{"file_line":248,"file_path":"lib/yard/autoload.rb"},{"file_line":4,"file_path":"lib/yard/templates/engine.rb"},{"file_line":2,"file_path":"lib/yard/templates/section.rb"},{"file_line":4,"file_path":"lib/yard/templates/template.rb"},{"file_line":2,"file_path":"lib/yard/templates/erb_cache.rb"},{"file_line":4,"file_path":"lib/yard/templates/template_options.rb"},{"file_line":2,"file_path":"lib/yard/templates/helpers/text_helper.rb"},{"file_line":2,"file_path":"lib/yard/templates/helpers/module_helper.rb"},{"file_line":2,"file_path":"lib/yard/templates/helpers/markup/rdoc_markup.rb"},{"file_line":2,"file_path":"lib/yard/templates/helpers/html_syntax_highlight_helper.rb"}],
"name": "Templates",
"namespace": "YARD",
"path": "YARD::Templates",
"source_type": "ruby",
"type": "module",
"visibility": "public",
"y_ld:children": ["YARD%3A%3ATemplates%3A%3AHelpers","YARD%3A%3ATemplates%3A%3AEngine","YARD%3A%3ATemplates%3A%3ASection","YARD%3A%3ATemplates%3A%3ATemplate","YARD%3A%3ATemplates%3A%3AErbCache","YARD%3A%3ATemplates%3A%3ATemplateOptions"],
"y_ld:files": [{"file_line":248,"file_path":"lib%2Fyard%2Fautoload.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Ftemplates%2Fengine.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Ftemplates%2Fsection.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Ftemplates%2Ftemplate.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Ftemplates%2Ferb_cache.rb"},{"file_line":4,"file_path":"lib%2Fyard%2Ftemplates%2Ftemplate_options.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Ftemplates%2Fhelpers%2Ftext_helper.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Ftemplates%2Fhelpers%2Fmodule_helper.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Ftemplates%2Fhelpers%2Fmarkup%2Frdoc_markup.rb"},{"file_line":2,"file_path":"lib%2Fyard%2Ftemplates%2Fhelpers%2Fhtml_syntax_highlight_helper.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3ATemplates"
},
{
"aliases": {"YARD::Verifier#o":"object"},
"attributes": {"class":{},"instance":{"expressions":{"write":"YARD::Verifier#expressions=","read":"YARD::Verifier#expressions"},"object":{"write":null,"read":"YARD::Verifier#object"}}},
"children": ["YARD::Verifier#expressions","YARD::Verifier#expressions=","YARD::Verifier#initialize","YARD::Verifier#add_expressions","YARD::Verifier#method_missing","YARD::Verifier#call","YARD::Verifier#run","YARD::Verifier#object","YARD::Verifier#o","YARD::Verifier::NILCLASS_METHODS","YARD::Verifier#modify_nilclass","YARD::Verifier#unmodify_nilclass","YARD::Verifier#create_method_from_expressions","YARD::Verifier#parse_expression"],
"current_file_has_comments": true,
"docstring": "Similar to a Proc, but runs a set of Ruby expressions using a small\nDSL to make tag lookups easier.\n\nThe syntax is as follows:\n* All syntax is Ruby compatible\n* +object+ (+o+ for short) exist to access the object being verified\n* +@TAGNAME+ is translated into +object.tag('TAGNAME')+\n* +@@TAGNAME+ is translated into +object.tags('TAGNAME')+\n* +object+ can be omitted as target for method calls (it is implied)",
"dynamic": true,
"files": [{"file_line":33,"file_path":"lib/yard/verifier.rb"}],
"name": "Verifier",
"namespace": "YARD",
"path": "YARD::Verifier",
"source_type": "ruby",
"superclass": "Object",
"type": "class",
"visibility": "public",
"y_ld:children": ["YARD%3A%3AVerifier%23expressions","YARD%3A%3AVerifier%23expressions%3D","YARD%3A%3AVerifier%23initialize","YARD%3A%3AVerifier%23add_expressions","YARD%3A%3AVerifier%23method_missing","YARD%3A%3AVerifier%23call","YARD%3A%3AVerifier%23run","YARD%3A%3AVerifier%23object","YARD%3A%3AVerifier%23o","YARD%3A%3AVerifier%3A%3ANILCLASS_METHODS","YARD%3A%3AVerifier%23modify_nilclass","YARD%3A%3AVerifier%23unmodify_nilclass","YARD%3A%3AVerifier%23create_method_from_expressions","YARD%3A%3AVerifier%23parse_expression"],
"y_ld:files": [{"file_line":33,"file_path":"lib%2Fyard%2Fverifier.rb"}],
"y_ld:level": 2,
"y_ld:path": "YARD%3A%3AVerifier",
"y_ld:superclass": "Object"
}
]
}
#!/usr/bin/env ruby
#
# x4o
require 'rubygems'
require 'cgi'
require 'json'
require 'yard'
include YARD
class YARD_LD
def initialize(file_path)
Registry.load(file_path) #D - ???
end
def fmt_json(node_path, options={})
@keys = {}
out = fmt_tree(Registry.at(node_path), options)
end
def types_want(type_str)
#
# Expand type_str into a list of type symbols.
#
# @param type_str [String] input type string
# @return [Array<Symbol>] list type symbols
raw_types = type_str.split(/\+/) # eg, 'ns+method'
out_types = raw_types.map do |raw_type|
case raw_type
when 'ba'; :base # Base
when 'cv'; :classvariable # | ClassVariableObject
when 'co'; :constant # | ConstantObject
when 'ef'; :extrafile # | ExtraFileObject
when 'ma'; :macro # | MacroObject
when 'me'; :method # | MethodObject
when 'ns'; :namespace # | NamespaceObject
when 'cl'; :class # | | ClassObject
when 'mo'; :module # | | ModuleObject
when 'ro'; :root # | | RootObject
when 'em'; :extendedmethod # ExtendedMethodObject
else; raw_type.to_sym
end
end
out_types
end
private
def fmt_context
#
# Format the JSON-LD context header.
#
# @return [String] JSON
fmt = '%-30s %s'
tmp = <<-EOT
"type": "@type",
"y_ld": "http://sparqly.cfcl.com/y_ld/",
"yard": "http://sparqly.cfcl.com/yard/",
"y_ld:children": { "@type": "@id" },
"y_ld:namespace": { "@type": "@id" },
"y_ld:superclass": { "@type": "@id" },
"yard:path": "@id",\n
EOT
keys = @keys.keys.sort.reject {|key| key =~ /:/ }
list = keys.map do |key|
key_str = "\"#{ key }\":"
val_str = "\"yard:#{ key }\""
fmt % [ key_str, val_str ]
end
tmp += list.join(",\n")
out = <<-EOT
"@context": {
#{ tmp.gsub(/^/, ' ') }
}
EOT
out.gsub(/^/, ' ').
gsub(/^\s+$/, '' )
end
def fmt_item(item_name, item_val)
#
# Format an item into a JSON string.
#
# @param item_name [String] name of item
# @param item_val [String] value of item
# @return [String] JSON
def key(name)
@keys[name] = true
'"' + name + '":'
end
fmt = '%-30s %s,'
case item_name
when 'children'
out_val = item_val
uri_val = item_val.map {|i| CGI.escape(i.path) }
when 'files'
out_val = item_val.map do |i|
{ 'file_path' => i[0],
'file_line' => i[1] }
end
uri_val = item_val.map do |i|
{ 'file_path' => CGI.escape(i[0]),
'file_line' => i[1] }
end
when 'path'
out_val = item_val
uri_val = CGI.escape(out_val)
when 'parameters'
out_val = item_val.map do |i|
{ 'parm_name' => i[0],
'parm_type' => i[1] }
end
when 'superclass'
out_val = item_val.path
uri_val = CGI.escape(out_val)
else
out_val = item_val
end
out_json = out_val.to_json
out_strs = [ fmt % [ key(item_name), out_json ] ]
if uri_val
uri_json = uri_val.to_json
out_strs << fmt % [ key('y_ld:' + item_name), uri_json ]
end
out_strs
end
def fmt_node(node_hash)
#
# Format node_hash into a JSON string.
#
# @param node_hash [Hash<String>] input tags and values
# @return [Array<String>] list of JSON strings
indent = ' ' * 4
tmp_list = [ ]
skip_keys = [ ]
skip_vals = [ false, nil, [], {} ]
todo_keys = node_hash.keys.sort
todo_keys.each do |todo_key|
todo_val = node_hash[todo_key]
next if skip_keys.include?(todo_key)
next if skip_vals.include?(todo_val)
item_lines = fmt_item(todo_key, todo_val)
item_lines.each {|item_line| tmp_list << indent * 3 + item_line }
end
tmp_list.sort!
tmp_list[-1].chop!
out_list = [ indent * 2 + '{' ] + tmp_list + [ indent * 2 + '}' ]
out_list.join("\n")
end
def fmt_tree(node, options={}, level=1)
#
# Format a tree (ie, a node and its children) as JSON.
#
# @param node [Object] input node object
# @param level [Fixnum] recursion level
# @return [Array<String>] list of JSON strings
levels = options[:levels] || 1
ivar_names = node.instance_variables
node_hash = {}
ivar_names.each do |ivar_name|
key = json_key(ivar_name)
val = node.instance_variable_get(ivar_name)
node_hash[key] = val
end
node_hash['y_ld:level'] = level
node_hash['type'] = node.type
out_list = [ fmt_node(node_hash) ]
if node.respond_to?(:children) # Traverse children.
children = node.children.sort_by {|child| child.to_s }
children.each do |child|
have = types_have(child)
want = options[:types]
match = have & want
if false #T
puts 'have: ' + have.inspect
puts 'want: ' + want.inspect
puts 'match: ' + match.inspect
end
next if match.empty?
next if (level >= levels)
out_list << fmt_tree(child, options, level+1) # Recurse!
end
end
out_str = out_list.join(",\n")
if (level == 1)
out_str = <<-EOT
{
#{ fmt_context.chomp },\n
"@graph": [
#{ out_str }
]
}
EOT
end
out_str
end
def initialize(file_path)
Registry.load(file_path) #D - ???
end
def json_key(ivar_name)
#
# Convert an instance variable name for use as a JSON key.
#
# @param ivar_name [String] instance variable name
# @return [String] JSON key
ivar_name[1 .. -1]
end
def types_have(node)
#
# Generate a list of types that this node has or inherits.
#
# @param node [Object] input node
# @return [Array<Symbol>] list of types
types = node.class.ancestors.
map {|klass| klass.to_s }.
select {|ks| ks =~ /^YARD::CodeObjects::\w+$/ }.
map {|ks| ks.sub(/^.*::(\w+?)(Object)?$/, '\1').downcase.to_sym }
end
end
def main
file_path = 'yard/.yardoc'
yld = YARD_LD.new(file_path)
node_path = ''
node_path = 'YARD'
node_types = yld.types_want('ns+method') #D
options = {
:types => node_types,
:levels => 2
}
if true #T
puts '# file_path: ' + file_path.inspect
puts '# options: ' + options.inspect
puts '# node_path: ' + node_path.inspect
end
out = yld.fmt_json(node_path, options)
puts '', out #T
end
main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment