Sha256: a6097ed14a662271d44f4bad55a12f31a74e9639436283b020a068d4a7be3a35

Contents?: true

Size: 474 Bytes

Versions: 12

Compression:

Stored size: 474 Bytes

Contents

module Mocktail
  class GathersFakeableInstanceMethods
    def gather(type)
      methods = type.instance_methods + [
        (:respond_to_missing? if type.private_method_defined?(:respond_to_missing?))
      ].compact

      methods.reject { |m|
        ignore?(type, m)
      }
    end

    def ignore?(type, method_name)
      ignored_ancestors.include?(type.instance_method(method_name).owner)
    end

    def ignored_ancestors
      Object.ancestors
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
mocktail-1.2.3 lib/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb
mocktail-1.2.2 lib/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb
mocktail-1.2.1 lib/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb
mocktail-1.2.0 lib/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb
mocktail-1.1.3 lib/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb
mocktail-1.1.2 lib/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb
mocktail-1.1.1 lib/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb
mocktail-1.1.0 lib/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb
mocktail-1.0.0 lib/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb
mocktail-0.0.6 lib/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb
mocktail-0.0.5 lib/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb
mocktail-0.0.4 lib/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb