Class: Class

Inherits:
Object show all
Defined in:
lib/flexmock/class_extensions.rb

Instance Method Summary collapse

Instance Method Details

#flexmock_defined?(method_name) ⇒ Boolean

Does a class directly defines an instance method named “method_name”?

Unlike Ruby’s Class#instance_methods or #method_defined?, it ignores methods that have been defined by flexmock’s partial mock facility

Returns:

  • (Boolean)


6
7
8
9
10
11
12
# File 'lib/flexmock/class_extensions.rb', line 6

def flexmock_defined?(method_name)
  ancestors.any? do |m|
    methods = m.instance_methods(false)
    next if methods.include?(:__flexmock_proxy) # This is a partial mock module
    m.instance_methods(false).include?(method_name.flexmock_as_name)
  end
end