class RDoc::Generator::Mdoc::Method
Attributes
mandb_section[R]
rdoc_method[R]
visibility[R]
Public Class Methods
new(rdoc_method, mandb_section, visibility = nil)
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 8 def initialize(rdoc_method, mandb_section, visibility = nil) @rdoc_method = rdoc_method @mandb_section = mandb_section @visibility = visibility.to_s end
Public Instance Methods
alias?()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 72 def alias? !aliased_method.nil? end
aliased?()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 81 def aliased? !aliases.empty? end
aliased_method()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 76 def aliased_method @aliased_method ||= rdoc_method.is_alias_for && self.class.new(rdoc_method.is_alias_for, mandb_section) end
aliases()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 85 def aliases @aliases ||= rdoc_method.aliases.map do |_alias| self.class.new(_alias, mandb_section) end end
calls_super?()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 54 def calls_super? !superclass_method.nil? end
described?()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 34 def described? !description.empty? end
description()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 38 def description comment.mdoc_formatted_content end
full_name()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 18 def full_name @full_name ||= if class_method? replace_last_double_colon_with_dot(rdoc_method.full_name) else rdoc_method.full_name end end
has_invocation_examples?()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 42 def has_invocation_examples? !invocation_examples.empty? end
has_source?()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 63 def has_source? !source.nil? end
invocation_examples()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 46 def invocation_examples @invocation_examples ||= if rdoc_method.call_seq.nil? [] else extract_invocation_examples(rdoc_method.call_seq) end end
name()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 14 def name rdoc_method.name end
object()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 95 def object @object ||= Module.new(rdoc_method.parent, mandb_section) end
parameters()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 26 def parameters rdoc_method.params.to_s.gsub(/[\(\)]/, '').split(", ") end
reference()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 91 def reference "#{full_name} #{mandb_section}" end
short_description()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 30 def short_description comment.first_paragraph.truncate(50) end
source()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 67 def source @source ||= rdoc_method.token_stream && strip_source_file_path(extract_source(rdoc_method.token_stream)) end
superclass_method()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 58 def superclass_method @superclass_method ||= rdoc_method.superclass_method && self.class.new(rdoc_method.superclass_method, mandb_section) end
Private Instance Methods
class_method?()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 103 def class_method? rdoc_method.singleton end
comment()
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 111 def comment @comment ||= Comment.new(rdoc_method.comment) end
extract_invocation_examples(call_seq)
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 115 def extract_invocation_examples(call_seq) call_seq.split("\n").map do |invocation_example| strip_receiver(invocation_example) end end
extract_source(token_stream)
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 129 def extract_source(token_stream) token_stream.compact.map { |t| t.text }.join('') end
replace_last_double_colon_with_dot(string)
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 107 def replace_last_double_colon_with_dot(string) string.sub(/(.*)::(.*)/, "\\1.\\2") end
strip_receiver(invocation_example)
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 121 def strip_receiver(invocation_example) invocation_example.gsub(/^\w+\./, '') end
strip_source_file_path(source)
click to toggle source
# File lib/rdoc/generator/mdoc/method.rb, line 125 def strip_source_file_path(source) source.lines[1..-1].join end