module MethodReflect::MethodExtensions

Public Instance Methods

code_object() click to toggle source
# File lib/method_reflect.rb, line 14
def code_object
  if @code_object == nil
    YARD::Registry.clear
    YARD::parse_string(commented_source)
    @code_object = YARD::Registry.first
  end
  @code_object
end
commented_source() click to toggle source
# File lib/method_reflect.rb, line 7
def commented_source
  if @commented_source == nil
    @commented_source = self.comment + self.source
  end
  @commented_source
end
docstring() click to toggle source
# File lib/method_reflect.rb, line 23
def docstring
  if @docstring == nil
    @docstring = code_object.docstring
  end
  @docstring
end
docstring_summary() click to toggle source
# File lib/method_reflect.rb, line 30
def docstring_summary
  if @docstring_summary == nil
    @docstring_summary = code_object.docstring.summary
  end
  @docstring_summary
end
docstring_tags() click to toggle source
# File lib/method_reflect.rb, line 37
def docstring_tags
  if @docstring_tags == nil
    @docstring_tags = docstring.tags.map { |t|
      {name: t.name, tag_name: t.tag_name, text: t.text, types: t.types}
    }
  end
  @docstring_tags
end
parameter_defaults() click to toggle source
# File lib/method_reflect.rb, line 53
def parameter_defaults
  if @parameter_defaults == nil
    @parameter_defaults = code_object.parameters.map{|n,d| [n.to_sym, d]}
  end
  @parameter_defaults
end
scope() click to toggle source
# File lib/method_reflect.rb, line 67
def scope
  if @scope == nil
    @scope = code_object.scope
  end
  @scope
end
signature() click to toggle source
# File lib/method_reflect.rb, line 46
def signature
  if @signature == nil
    @signature = code_object.signature
  end
  @signature
end
visibility() click to toggle source
# File lib/method_reflect.rb, line 60
def visibility
  if @visibility == nil
    @visibility = code_object.visibility
  end
  @visibility
end