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: any_method.rb
Close
# frozen_string_literal: true ## # AnyMethod is the base class for objects representing methods class RDoc::AnyMethod < RDoc::MethodAttr ## # 2:: # RDoc 4 # Added calls_super # Added parent name and class # Added section title # 3:: # RDoc 4.1 # Added is_alias_for MARSHAL_VERSION = 3 # :nodoc: ## # Don't rename \#initialize to \::new attr_accessor :dont_rename_initialize ## # The C function that implements this method (if it was defined in a C file) attr_accessor :c_function ## # Different ways to call this method attr_reader :call_seq ## # Parameters for this method attr_accessor :params ## # If true this method uses +super+ to call a superclass version attr_accessor :calls_super include RDoc::TokenStream ## # Creates a new AnyMethod with a token stream +text+ and +name+ def initialize text, name super @c_function = nil @dont_rename_initialize = false @token_stream = nil @calls_super = false @superclass_method = nil end ## # Adds +an_alias+ as an alias for this method in +context+. def add_alias an_alias, context = nil method = self.class.new an_alias.text, an_alias.new_name method.record_location an_alias.file method.singleton = self.singleton method.params = self.params method.visibility = self.visibility method.comment = an_alias.comment method.is_alias_for = self @aliases << method context.add_method method if context method end ## # Prefix for +aref+ is 'method'. def aref_prefix 'method' end ## # The call_seq or the param_seq with method name, if there is no call_seq. # # Use this for displaying a method's argument lists. def arglists if @call_seq then @call_seq elsif @params then "#{name}#{param_seq}" end end ## # Sets the different ways you can call this method. If an empty +call_seq+ # is given nil is assumed. # # See also #param_seq def call_seq= call_seq return if call_seq.empty? @call_seq = call_seq end ## # Loads is_alias_for from the internal name. Returns nil if the alias # cannot be found. def is_alias_for # :nodoc: case @is_alias_for when RDoc::MethodAttr then @is_alias_for when Array then return nil unless @store klass_name, singleton, method_name = @is_alias_for return nil unless klass = @store.find_class_or_module(klass_name) @is_alias_for = klass.find_method method_name, singleton end end ## # Dumps this AnyMethod for use by ri. See also #marshal_load def marshal_dump aliases = @aliases.map do |a| [a.name, parse(a.comment)] end is_alias_for = [ @is_alias_for.parent.full_name, @is_alias_for.singleton, @is_alias_for.name ] if @is_alias_for [ MARSHAL_VERSION, @name, full_name, @singleton, @visibility, parse(@comment), @call_seq, @block_params, aliases, @params, @file.relative_name, @calls_super, @parent.name, @parent.class, @section.title, is_alias_for, ] end ## # Loads this AnyMethod from +array+. For a loaded AnyMethod the following # methods will return cached values: # # * #full_name # * #parent_name def marshal_load array initialize_visibility @dont_rename_initialize = nil @token_stream = nil @aliases = [] @parent = nil @parent_name = nil @parent_class = nil @section = nil @file = nil version = array[0] @name = array[1] @full_name = array[2] @singleton = array[3] @visibility = array[4] @comment = array[5] @call_seq = array[6] @block_params = array[7] # 8 handled below @params = array[9] # 10 handled below @calls_super = array[11] @parent_name = array[12] @parent_title = array[13] @section_title = array[14] @is_alias_for = array[15] array[8].each do |new_name, comment| add_alias RDoc::Alias.new(nil, @name, new_name, comment, @singleton) end @parent_name ||= if @full_name =~ /#/ then $` else name = @full_name.split('::') name.pop name.join '::' end @file = RDoc::TopLevel.new array[10] if version > 0 end ## # Method name # # If the method has no assigned name, it extracts it from #call_seq. def name return @name if @name @name = @call_seq[/^.*?\.(\w+)/, 1] || @call_seq[/^.*?(\w+)/, 1] || @call_seq if @call_seq end ## # A list of this method's method and yield parameters. +call-seq+ params # are preferred over parsed method and block params. def param_list if @call_seq then params = @call_seq.split("\n").last params = params.sub(/.*?\((.*)\)/, '\1') params = params.sub(/(\{|do)\s*\|([^|]*)\|.*/, ',\2') elsif @params then params = @params.sub(/\((.*)\)/, '\1') params << ",#{@block_params}" if @block_params elsif @block_params then params = @block_params else return [] end if @block_params then # If this method has explicit block parameters, remove any explicit # &block params = params.sub(/,?\s*&\w+/, '') else params = params.sub(/\&(\w+)/, '\1') end params = params.gsub(/\s+/, '').split(',').reject(&:empty?) params.map { |param| param.sub(/=.*/, '') } end ## # Pretty parameter list for this method. If the method's parameters were # given by +call-seq+ it is preferred over the parsed values. def param_seq if @call_seq then params = @call_seq.split("\n").last params = params.sub(/[^( ]+/, '') params = params.sub(/(\|[^|]+\|)\s*\.\.\.\s*(end|\})/, '\1 \2') elsif @params then params = @params.gsub(/\s*\#.*/, '') params = params.tr_s("\n ", " ") params = "(#{params})" unless params[0] == ?( else params = '' end if @block_params then # If this method has explicit block parameters, remove any explicit # &block params = params.sub(/,?\s*&\w+/, '') block = @block_params.tr_s("\n ", " ") if block[0] == ?( block = block.sub(/^\(/, '').sub(/\)/, '') end params << " { |#{block}| ... }" end params end ## # Sets the store for this method and its referenced code objects. def store= store super @file = @store.add_file @file.full_name if @file end ## # For methods that +super+, find the superclass method that would be called. def superclass_method return unless @calls_super return @superclass_method if @superclass_method parent.each_ancestor do |ancestor| if method = ancestor.method_list.find { |m| m.name == @name } then @superclass_method = method break end end @superclass_method end end