Uname: Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
Software: LiteSpeed
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.213.251.212
Your Ip: 18.117.166.217
User: allssztx (535) | Group: allssztx (533)
Safe Mode: OFF
Disable Function:
NONE

name : cdesc-ParserFactory.yaml
--- !ruby/object:RI::ClassDescription 
attributes: []

class_methods: 
- !ruby/object:RI::MethodSummary 
  name: alias_extension
- !ruby/object:RI::MethodSummary 
  name: can_parse
- !ruby/object:RI::MethodSummary 
  name: parser_for
comment: 
- !ruby/struct:SM::Flow::P 
  body: A parser is simple a class that implements
- !ruby/struct:SM::Flow::VERB 
  body: "  #initialize(file_name, body, options)\n"
- !ruby/struct:SM::Flow::P 
  body: and
- !ruby/struct:SM::Flow::VERB 
  body: "  #scan\n"
- !ruby/struct:SM::Flow::P 
  body: The initialize method takes a file name to be used, the body of the file, and an RDoc::Options object. The scan method is then called to return an appropriately parsed TopLevel code object.
- !ruby/struct:SM::Flow::P 
  body: The ParseFactory is used to redirect to the correct parser given a filename extension. This magic works because individual parsers have to register themselves with us as they are loaded in. The do this using the following incantation
- !ruby/struct:SM::Flow::VERB 
  body: "   require "rdoc/parsers/parsefactory"\n\n   module RDoc\n\n     class XyzParser\n       extend ParseFactory                  <<<<\n       parse_files_matching /\\.xyz$/        <<<<\n\n       def initialize(file_name, body, options)\n         ...\n       end\n\n       def scan\n         ...\n       end\n     end\n   end\n"
- !ruby/struct:SM::Flow::P 
  body: Just to make life interesting, if we suspect a plain text file, we also look for a shebang line just in case it's a potential shell script
constants: 
- !ruby/object:RI::Constant 
  comment: 
  name: Parsers
  value: Struct.new(:regexp, :parser)
full_name: RDoc::ParserFactory
includes: []

instance_methods: 
- !ruby/object:RI::MethodSummary 
  name: parse_files_matching
name: ParserFactory
superclass: 
© 2025 GrazzMean-Shell