Sha256: 28667e7d7dd8c423a73e88512ff8d6567fdafd705daa66ebb806471fe35e0eec

Contents?: true

Size: 630 Bytes

Versions: 12

Compression:

Stored size: 630 Bytes

Contents

require_relative "makes_double/declares_dry_class"
require_relative "makes_double/gathers_fakeable_instance_methods"

module Mocktail
  class MakesDouble
    def initialize
      @declares_dry_class = DeclaresDryClass.new
      @gathers_fakeable_instance_methods = GathersFakeableInstanceMethods.new
    end

    def make(type)
      dry_methods = @gathers_fakeable_instance_methods.gather(type)
      dry_type = @declares_dry_class.declare(type, dry_methods)
      Double.new(
        original_type: type,
        dry_type: dry_type,
        dry_instance: dry_type.new,
        dry_methods: dry_methods
      )
    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.rb
mocktail-1.2.2 lib/mocktail/imitates_type/makes_double.rb
mocktail-1.2.1 lib/mocktail/imitates_type/makes_double.rb
mocktail-1.2.0 lib/mocktail/imitates_type/makes_double.rb
mocktail-1.1.3 lib/mocktail/imitates_type/makes_double.rb
mocktail-1.1.2 lib/mocktail/imitates_type/makes_double.rb
mocktail-1.1.1 lib/mocktail/imitates_type/makes_double.rb
mocktail-1.1.0 lib/mocktail/imitates_type/makes_double.rb
mocktail-1.0.0 lib/mocktail/imitates_type/makes_double.rb
mocktail-0.0.6 lib/mocktail/imitates_type/makes_double.rb
mocktail-0.0.5 lib/mocktail/imitates_type/makes_double.rb
mocktail-0.0.4 lib/mocktail/imitates_type/makes_double.rb