Sha256: b2aee2c9b12cb34cba084f4838c94f2419489e408c8a68b356063be865946ee5

Contents?: true

Size: 515 Bytes

Versions: 1

Compression:

Stored size: 515 Bytes

Contents

require_relative "imitates_type/ensures_imitation_support"
require_relative "imitates_type/makes_double"

module Mocktail
  class ImitatesType
    extend T::Sig
    extend T::Generic

    def initialize
      @ensures_imitation_support = EnsuresImitationSupport.new
      @makes_double = MakesDouble.new
    end

    def imitate(type)
      @ensures_imitation_support.ensure(type)
      @makes_double.make(type).tap do |double|
        Mocktail.cabinet.store_double(double)
      end.dry_instance
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mocktail-2.0.0 lib/mocktail/imitates_type.rb