OXIESEC PANEL
- Current Dir:
/
/
usr
/
lib
/
ruby
/
2.5.0
/
rdoc
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
alias.rb
2.12 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
anon_class.rb
172 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
any_method.rb
7.04 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
attr.rb
3.76 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
class_module.rb
19.81 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
code_object.rb
9.26 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
code_objects.rb
151 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
comment.rb
5.59 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
constant.rb
3.59 KB
11/27/2017 10:45:24 AM
rw-r--r--
📁
context
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
context.rb
29.41 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
cross_reference.rb
5.85 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
encoding.rb
3.67 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
erb_partial.rb
400 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
erbio.rb
824 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
extend.rb
170 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📁
generator
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
generator.rb
1.79 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
ghost_method.rb
144 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📁
i18n
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
i18n.rb
180 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
include.rb
172 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
known_classes.rb
2.62 KB
11/27/2017 10:45:24 AM
rw-r--r--
📁
markdown
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
markdown.rb
377.04 KB
11/27/2017 10:45:24 AM
rw-r--r--
📁
markup
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
markup.rb
28.27 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
meta_method.rb
129 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
method_attr.rb
9.03 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
mixin.rb
2.75 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
normal_class.rb
2.13 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
normal_module.rb
1.43 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
options.rb
30.34 KB
11/27/2017 10:45:24 AM
rw-r--r--
📁
parser
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
parser.rb
7.04 KB
11/27/2017 10:45:24 AM
rw-r--r--
📁
rd
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
rd.rb
3.57 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
rdoc.rb
13.5 KB
05/15/2023 11:41:43 AM
rw-r--r--
📄
require.rb
965 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📁
ri
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
ri.rb
345 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📄
rubygems_hook.rb
5.14 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
servlet.rb
11.91 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
single_class.rb
408 bytes
11/27/2017 10:45:24 AM
rw-r--r--
📁
stats
-
05/09/2024 07:14:11 AM
rwxr-xr-x
📄
stats.rb
10.48 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
store.rb
21.94 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
task.rb
7.67 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
test_case.rb
3.79 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
text.rb
7.3 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
token_stream.rb
3.1 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
tom_doc.rb
6.3 KB
11/27/2017 10:45:24 AM
rw-r--r--
📄
top_level.rb
5.44 KB
11/27/2017 10:45:24 AM
rw-r--r--
Editing: cross_reference.rb
Close
# frozen_string_literal: true ## # RDoc::CrossReference is a reusable way to create cross references for names. class RDoc::CrossReference ## # Regular expression to match class references # # 1. There can be a '\\' in front of text to suppress the cross-reference # 2. There can be a '::' in front of class names to reference from the # top-level namespace. # 3. The method can be followed by parenthesis (not recommended) CLASS_REGEXP_STR = '\\\\?((?:\:{2})?[A-Z]\w*(?:\:\:\w+)*)' ## # Regular expression to match method references. # # See CLASS_REGEXP_STR METHOD_REGEXP_STR = '([a-z]\w*[!?=]?|%|===|\[\]=?|<<|>>)(?:\([\w.+*/=<>-]*\))?' ## # Regular expressions matching text that should potentially have # cross-reference links generated are passed to add_special. Note that # these expressions are meant to pick up text for which cross-references # have been suppressed, since the suppression characters are removed by the # code that is triggered. CROSSREF_REGEXP = /(?:^|\s) ( (?: # A::B::C.meth #{CLASS_REGEXP_STR}(?:[.#]|::)#{METHOD_REGEXP_STR} # Stand-alone method (preceded by a #) | \\?\##{METHOD_REGEXP_STR} # Stand-alone method (preceded by ::) | ::#{METHOD_REGEXP_STR} # A::B::C # The stuff after CLASS_REGEXP_STR is a # nasty hack. CLASS_REGEXP_STR unfortunately matches # words like dog and cat (these are legal "class" # names in Fortran 95). When a word is flagged as a # potential cross-reference, limitations in the markup # engine suppress other processing, such as typesetting. # This is particularly noticeable for contractions. # In order that words like "can't" not # be flagged as potential cross-references, only # flag potential class cross-references if the character # after the cross-reference is a space, sentence # punctuation, tag start character, or attribute # marker. | #{CLASS_REGEXP_STR}(?=[@\s).?!,;<\000]|\z) # Things that look like filenames # The key thing is that there must be at least # one special character (period, slash, or # underscore). | (?:\.\.\/)*[-\/\w]+[_\/.][-\w\/.]+ # Things that have markup suppressed # Don't process things like '\<' in \<tt>, though. # TODO: including < is a hack, not very satisfying. | \\[^\s<] ) # labels for headings (?:@[\w+%-]+(?:\.[\w|%-]+)?)? )/x ## # Version of CROSSREF_REGEXP used when <tt>--hyperlink-all</tt> is specified. ALL_CROSSREF_REGEXP = / (?:^|\s) ( (?: # A::B::C.meth #{CLASS_REGEXP_STR}(?:[.#]|::)#{METHOD_REGEXP_STR} # Stand-alone method | \\?#{METHOD_REGEXP_STR} # A::B::C | #{CLASS_REGEXP_STR}(?=[@\s).?!,;<\000]|\z) # Things that look like filenames | (?:\.\.\/)*[-\/\w]+[_\/.][-\w\/.]+ # Things that have markup suppressed | \\[^\s<] ) # labels for headings (?:@[\w+%-]+)? )/x ## # Hash of references that have been looked-up to their replacements attr_accessor :seen ## # Allows cross-references to be created based on the given +context+ # (RDoc::Context). def initialize context @context = context @store = context.store @seen = {} end ## # Returns a reference to +name+. # # If the reference is found and +name+ is not documented +text+ will be # returned. If +name+ is escaped +name+ is returned. If +name+ is not # found +text+ is returned. def resolve name, text return @seen[name] if @seen.include? name if /#{CLASS_REGEXP_STR}([.#]|::)#{METHOD_REGEXP_STR}/o =~ name then type = $2 type = '' if type == '.' # will find either #method or ::method method = "#{type}#{$3}" container = @context.find_symbol_module($1) elsif /^([.#]|::)#{METHOD_REGEXP_STR}/o =~ name then type = $1 type = '' if type == '.' method = "#{type}#{$2}" container = @context else container = nil end if container then ref = container.find_local_symbol method unless ref || RDoc::TopLevel === container then ref = container.find_ancestor_local_symbol method end end ref = case name when /^\\(#{CLASS_REGEXP_STR})$/o then @context.find_symbol $1 else @context.find_symbol name end unless ref # Try a page name ref = @store.page name if not ref and name =~ /^\w+$/ ref = nil if RDoc::Alias === ref # external alias, can't link to it out = if name == '\\' then name elsif name =~ /^\\/ then # we remove the \ only in front of what we know: # other backslashes are treated later, only outside of <tt> ref ? $' : name elsif ref then if ref.display? then ref else text end else text end @seen[name] = out out end end