Sha256: 643560ee3300497c61e86e66ca68243a885ec8316ae061a8829f07418549deee
Contents?: true
Size: 739 Bytes
Versions: 1
Compression:
Stored size: 739 Bytes
Contents
# typed: strict module Mocktail class GathersFakeableInstanceMethods extend T::Sig sig { params(type: T.any(T::Class[T.anything], Module)).returns(T::Array[Symbol]) } 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 sig { params(type: T.any(T::Class[T.anything], Module), method_name: Symbol).returns(T::Boolean) } def ignore?(type, method_name) ignored_ancestors.include?(type.instance_method(method_name).owner) end sig { returns(T::Array[Module]) } def ignored_ancestors Object.ancestors end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mocktail-2.0.0 | lib/mocktail/sorbet/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb |