class Processor::Subroutine::Name

Public Instance Methods

name() click to toggle source
Calls superclass method
# File lib/processor/subroutine/name.rb, line 6
def name
  return super if __getobj__.respond_to? :name

  # underscore a class name
 @name ||= real_object.class.name.to_s.
    gsub(/::/, '_').
    gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
    gsub(/([a-z\d])([A-Z])/,'\1_\2').
    downcase
end

Private Instance Methods

real_object() click to toggle source
# File lib/processor/subroutine/name.rb, line 18
def real_object
  object = __getobj__
  while object.is_a? SimpleDelegator
    object = object.__getobj__
  end

  object
end