Method: ClassSource::MethodIndex#unique

Defined in:
lib/class_source/method_index.rb

#uniqueArray

Returns An array of method names unique to or overridden in this class, not inherited from its ancestors or singleton_class ancestors.

Returns:

  • (Array)

    An array of method names unique to or overridden in this class, not inherited from its ancestors or singleton_class ancestors.



19
20
21
22
23
24
25
# File 'lib/class_source/method_index.rb', line 19

def unique
  uniquely_named_methods = all(:include_inherited_methods => false)
  overridden_methods = (all - uniquely_named_methods).select do |m|
    @target_class.instance_method(m).source_location != @target_class.superclass.instance_method(m).source_location
  end
  overridden_methods + uniquely_named_methods
end