Sha256: f1f6f2c0a4c21a73c284038276913b4fb33289e8602b21d2e472691dbecc4250

Contents?: true

Size: 1.08 KB

Versions: 46

Compression:

Stored size: 1.08 KB

Contents

module RR
  module DoubleDefinitions
    module Strategies
      module DoubleInjection
        # This class is Deprecated.
        # Calling instance_of will cause all instances of the passed in Class
        # to have the Double defined.
        #
        # The following example mocks all User's valid? method and return false.
        #   mock.instance_of(User).valid? {false}
        #
        # The following example mocks and proxies User#projects and returns the
        # first 3 projects.
        #   mock.instance_of(User).projects do |projects|
        #     projects[0..2]
        #   end        
        class AnyInstanceOf < DoubleInjectionStrategy
          protected
          def do_call
            if !double_definition_create.no_subject? && !double_definition_create.subject.is_a?(Class)
              raise ArgumentError, "instance_of only accepts class objects"
            end
            double_injection = Injections::DoubleInjection.find_or_create(subject, method_name)
            Double.new(double_injection, definition)
          end
        end
      end
    end
  end
end

Version data entries

46 entries across 42 versions & 5 rubygems

Version Path
rr-3.1.1 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-3.1.0 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-3.0.9 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-3.0.8 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-3.0.7 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-3.0.6 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-3.0.5 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-3.0.4 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-3.0.3 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-3.0.2 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-3.0.1 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-3.0.0 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-1.2.1 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-1.2.0 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-1.1.2 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-1.1.2.rc1 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-1.1.1 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-1.1.1.rc1 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-1.1.0 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb
rr-1.1.0.rc3 lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb