GRAYBYTE WORDPRESS FILE MANAGER8014

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/alt/ruby24/lib64/ruby/2.4.0/rdoc/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/alt/ruby24/lib64/ruby/2.4.0/rdoc//tom_doc.rb
# frozen_string_literal: false
# :markup: tomdoc

# A parser for TomDoc based on TomDoc 1.0.0-rc1 (02adef9b5a)
#
# The TomDoc specification can be found at:
#
# http://tomdoc.org
#
# The latest version of the TomDoc specification can be found at:
#
# https://github.com/mojombo/tomdoc/blob/master/tomdoc.md
#
# To choose TomDoc as your only default format see RDoc::Options@Saved+Options
# for instructions on setting up a <code>.rdoc_options</code> file to store
# your project default.
#
# There are a few differences between this parser and the specification.  A
# best-effort was made to follow the specification as closely as possible but
# some choices to deviate were made.
#
# A future version of RDoc will warn when a MUST or MUST NOT is violated and
# may warn when a SHOULD or SHOULD NOT is violated.  RDoc will always try
# to emit documentation even if given invalid TomDoc.
#
# Here are some implementation choices this parser currently makes:
#
# This parser allows rdoc-style inline markup but you should not depended on
# it.
#
# This parser allows a space between the comment and the method body.
#
# This parser does not require the default value to be described for an
# optional argument.
#
# This parser does not examine the order of sections.  An Examples section may
# precede the Arguments section.
#
# This class is documented in TomDoc format.  Since this is a subclass of the
# RDoc markup parser there isn't much to see here, unfortunately.

class RDoc::TomDoc < RDoc::Markup::Parser

  # Internal: Token accessor

  attr_reader :tokens

  # Internal: Adds a post-processor which sets the RDoc section based on the
  # comment's status.
  #
  # Returns nothing.

  def self.add_post_processor # :nodoc:
    RDoc::Markup::PreProcess.post_process do |comment, code_object|
      next unless code_object and
                  RDoc::Comment === comment and comment.format == 'tomdoc'

      comment.text.gsub!(/(\A\s*# )(Public|Internal|Deprecated):\s+/) do
        section = code_object.add_section $2
        code_object.temporary_section = section

        $1
      end
    end
  end

  add_post_processor

  # Public: Parses TomDoc from text
  #
  # text - A String containing TomDoc-format text.
  #
  # Examples
  #
  #   RDoc::TomDoc.parse <<-TOMDOC
  #   This method does some things
  #
  #   Returns nothing.
  #   TOMDOC
  #   # => #<RDoc::Markup::Document:0xXXX @parts=[...], @file=nil>
  #
  # Returns an RDoc::Markup::Document representing the TomDoc format.

  def self.parse text
    parser = new

    parser.tokenize text
    doc = RDoc::Markup::Document.new
    parser.parse doc
    doc
  end

  # Internal: Extracts the Signature section's method signature
  #
  # comment - An RDoc::Comment that will be parsed and have the signature
  #           extracted
  #
  # Returns a String containing the signature and nil if not

  def self.signature comment
    return unless comment.tomdoc?

    document = comment.parse

    signature = nil
    found_heading = false
    found_signature = false

    document.parts.delete_if do |part|
      next false if found_signature

      found_heading ||=
        RDoc::Markup::Heading === part && part.text == 'Signature'

      next false unless found_heading

      next true if RDoc::Markup::BlankLine === part

      if RDoc::Markup::Verbatim === part then
        signature = part
        found_signature = true
      end
    end

    signature and signature.text
  end

  # Public: Creates a new TomDoc parser.  See also RDoc::Markup::parse

  def initialize
    super

    @section      = nil
    @seen_returns = false
  end

  # Internal: Builds a heading from the token stream
  #
  # level - The level of heading to create
  #
  # Returns an RDoc::Markup::Heading

  def build_heading level
    heading = super

    @section = heading.text

    heading
  end

  # Internal: Builds a verbatim from the token stream.  A verbatim in the
  # Examples section will be marked as in Ruby format.
  #
  # margin - The indentation from the margin for lines that belong to this
  #          verbatim section.
  #
  # Returns an RDoc::Markup::Verbatim

  def build_verbatim margin
    verbatim = super

    verbatim.format = :ruby if @section == 'Examples'

    verbatim
  end

  # Internal: Builds a paragraph from the token stream
  #
  # margin - Unused
  #
  # Returns an RDoc::Markup::Paragraph.

  def build_paragraph margin
    p :paragraph_start => margin if @debug

    paragraph = RDoc::Markup::Paragraph.new

    until @tokens.empty? do
      type, data, = get

      case type
      when :TEXT then
        @section = 'Returns' if data =~ /\AReturns/

        paragraph << data
      when :NEWLINE then
        if :TEXT == peek_token[0] then
          paragraph << ' '
        else
          break
        end
      else
        unget
        break
      end
    end

    p :paragraph_end => margin if @debug

    paragraph
  end

  ##
  # Detects a section change to "Returns" and adds a heading

  def parse_text parent, indent # :nodoc:
    paragraph = build_paragraph indent

    if false == @seen_returns and 'Returns' == @section then
      @seen_returns = true
      parent << RDoc::Markup::Heading.new(3, 'Returns')
      parent << RDoc::Markup::BlankLine.new
    end

    parent << paragraph
  end

  # Internal: Turns text into an Array of tokens
  #
  # text - A String containing TomDoc-format text.
  #
  # Returns self.

  def tokenize text
    text.sub!(/\A(Public|Internal|Deprecated):\s+/, '')

    setup_scanner text

    until @s.eos? do
      pos = @s.pos

      # leading spaces will be reflected by the column of the next token
      # the only thing we loose are trailing spaces at the end of the file
      next if @s.scan(/ +/)

      @tokens << case
                 when @s.scan(/\r?\n/) then
                   token = [:NEWLINE, @s.matched, *token_pos(pos)]
                   @line_pos = char_pos @s.pos
                   @line += 1
                   token
                 when @s.scan(/(Examples|Signature)$/) then
                   @tokens << [:HEADER, 3, *token_pos(pos)]

                   [:TEXT, @s[1], *token_pos(pos)]
                 when @s.scan(/([:\w][\w\[\]]*)[ ]+- /) then
                   [:NOTE, @s[1], *token_pos(pos)]
                 else
                   @s.scan(/.*/)
                   [:TEXT, @s.matched.sub(/\r$/, ''), *token_pos(pos)]
                 end
    end

    self
  end

end


[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
March 03 2024 22:48:02
root / root
0755
context
--
March 03 2024 22:48:01
root / linksafe
0755
generator
--
March 03 2024 22:48:01
root / linksafe
0755
i18n
--
March 03 2024 22:48:01
root / linksafe
0755
markdown
--
March 03 2024 22:48:01
root / linksafe
0755
markup
--
March 03 2024 22:48:01
root / linksafe
0755
parser
--
March 03 2024 22:48:01
root / linksafe
0755
rd
--
March 03 2024 22:48:01
root / linksafe
0755
ri
--
March 03 2024 22:48:01
root / linksafe
0755
stats
--
March 03 2024 22:48:01
root / linksafe
0755
alias.rb
2.123 KB
March 31 2020 11:42:18
root / linksafe
0644
anon_class.rb
0.169 KB
March 31 2020 11:42:18
root / linksafe
0644
any_method.rb
7.067 KB
March 31 2020 11:42:18
root / linksafe
0644
attr.rb
3.76 KB
March 31 2020 11:42:18
root / linksafe
0644
class_module.rb
19.757 KB
March 31 2020 11:42:18
root / linksafe
0644
code_object.rb
9.351 KB
March 31 2020 11:42:18
root / linksafe
0644
code_objects.rb
0.148 KB
March 31 2020 11:42:18
root / linksafe
0644
comment.rb
5.285 KB
March 31 2020 11:42:18
root / linksafe
0644
constant.rb
3.577 KB
March 31 2020 11:42:18
root / linksafe
0644
context.rb
28.798 KB
March 31 2020 11:42:18
root / linksafe
0644
cross_reference.rb
5.854 KB
March 31 2020 11:42:18
root / linksafe
0644
encoding.rb
2.985 KB
March 31 2020 11:42:18
root / linksafe
0644
erb_partial.rb
0.392 KB
March 31 2020 11:42:18
root / linksafe
0644
erbio.rb
0.806 KB
March 31 2020 11:42:18
root / linksafe
0644
extend.rb
0.167 KB
March 31 2020 11:42:18
root / linksafe
0644
generator.rb
1.795 KB
March 31 2020 11:42:18
root / linksafe
0644
ghost_method.rb
0.142 KB
March 31 2020 11:42:18
root / linksafe
0644
i18n.rb
0.178 KB
March 31 2020 11:42:18
root / linksafe
0644
include.rb
0.169 KB
March 31 2020 11:42:18
root / linksafe
0644
known_classes.rb
2.623 KB
March 31 2020 11:42:18
root / linksafe
0644
markdown.rb
373.6 KB
March 31 2020 11:42:18
root / linksafe
0644
markup.rb
28.267 KB
March 31 2020 11:42:18
root / linksafe
0644
meta_method.rb
0.127 KB
March 31 2020 11:42:18
root / linksafe
0644
method_attr.rb
9.036 KB
March 31 2020 11:42:18
root / linksafe
0644
mixin.rb
2.753 KB
March 31 2020 11:42:18
root / linksafe
0644
normal_class.rb
2.135 KB
March 31 2020 11:42:18
root / linksafe
0644
normal_module.rb
1.434 KB
March 31 2020 11:42:18
root / linksafe
0644
options.rb
30.342 KB
March 31 2020 11:42:18
root / linksafe
0644
parser.rb
7.801 KB
March 31 2020 11:42:18
root / linksafe
0644
rd.rb
3.568 KB
March 31 2020 11:42:18
root / linksafe
0644
rdoc.rb
13.387 KB
March 31 2020 11:42:18
root / linksafe
0644
require.rb
0.943 KB
March 31 2020 11:42:18
root / linksafe
0644
ri.rb
0.338 KB
March 31 2020 11:42:18
root / linksafe
0644
ruby_lex.rb
27.474 KB
March 31 2020 11:42:18
root / linksafe
0644
ruby_token.rb
11.354 KB
March 31 2020 11:42:18
root / linksafe
0644
rubygems_hook.rb
5.143 KB
March 31 2020 11:42:18
root / linksafe
0644
servlet.rb
11.897 KB
March 31 2020 11:42:18
root / linksafe
0644
single_class.rb
0.399 KB
March 31 2020 11:42:18
root / linksafe
0644
stats.rb
10.479 KB
March 31 2020 11:42:18
root / linksafe
0644
store.rb
21.94 KB
March 31 2020 11:42:18
root / linksafe
0644
task.rb
7.672 KB
March 31 2020 11:42:18
root / linksafe
0644
test_case.rb
3.778 KB
March 31 2020 11:42:18
root / linksafe
0644
text.rb
7.337 KB
March 31 2020 11:42:18
root / linksafe
0644
token_stream.rb
2.503 KB
March 31 2020 11:42:18
root / linksafe
0644
tom_doc.rb
6.293 KB
March 31 2020 11:42:18
root / linksafe
0644
top_level.rb
5.44 KB
March 31 2020 11:42:18
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF