Sha256: eead9e10e149651a1705b37f1c7ce427e79f2af2344d25b779beaa785b38d65b

Contents?: true

Size: 832 Bytes

Versions: 1

Compression:

Stored size: 832 Bytes

Contents

# typed: strict

require_relative "records_demonstration"

module Mocktail
  class RegistersStubbing
    extend T::Sig

    sig { void }
    def initialize
      @records_demonstration = T.let(RecordsDemonstration.new, RecordsDemonstration)
    end

    sig {
      type_parameters(:T)
        .params(
          demonstration: T.proc.params(matchers: Mocktail::MatcherPresentation).returns(T.type_parameter(:T)),
          demo_config: DemoConfig
        ).returns(Mocktail::Stubbing[T.type_parameter(:T)])
    }
    def register(demonstration, demo_config)
      Stubbing.new(
        demonstration: demonstration,
        demo_config: demo_config,
        recording: @records_demonstration.record(demonstration, demo_config)
      ).tap do |stubbing|
        Mocktail.cabinet.store_stubbing(stubbing)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mocktail-2.0.0 lib/mocktail/sorbet/mocktail/registers_stubbing.rb