Sha256: 585deae3b9a7e101e59a9694ccbc9e50b8ec67e8e695ab9be5fd7c688ac8c46b

Contents?: true

Size: 994 Bytes

Versions: 14

Compression:

Stored size: 994 Bytes

Contents

module RR
  module DoubleDefinitions
    module DoubleInjections
      class AnyInstanceOf
        extend(Module.new do
          include RR::DSL

          def call(subject_class, stubbed_methods=nil, &block)
            strategy_lambda = lambda do |double_definition_create|
              ::RR::DoubleDefinitions::Strategies::DoubleInjection::AnyInstanceOf.new(double_definition_create)
            end
            ::RR::DoubleDefinitions::DoubleDefinitionCreate.set_default_double_injection_strategy(strategy_lambda) do
              if stubbed_methods
                subject_class.class_eval do
                  stubbed_methods.each do |name, value|
                    value_proc = value.is_a?(Proc) ? value : lambda {value}
                    RR.stub(subject_class, name).returns(&value_proc)
                  end
                end
              else
                block.call(subject_class)
              end
            end
          end
        end)
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
rr-3.1.1 lib/rr/double_definitions/double_injections/any_instance_of.rb
rr-3.1.0 lib/rr/double_definitions/double_injections/any_instance_of.rb
rr-3.0.9 lib/rr/double_definitions/double_injections/any_instance_of.rb
rr-3.0.8 lib/rr/double_definitions/double_injections/any_instance_of.rb
rr-3.0.7 lib/rr/double_definitions/double_injections/any_instance_of.rb
rr-3.0.6 lib/rr/double_definitions/double_injections/any_instance_of.rb
rr-3.0.5 lib/rr/double_definitions/double_injections/any_instance_of.rb
rr-3.0.4 lib/rr/double_definitions/double_injections/any_instance_of.rb
rr-3.0.3 lib/rr/double_definitions/double_injections/any_instance_of.rb
rr-3.0.2 lib/rr/double_definitions/double_injections/any_instance_of.rb
rr-3.0.1 lib/rr/double_definitions/double_injections/any_instance_of.rb
rr-3.0.0 lib/rr/double_definitions/double_injections/any_instance_of.rb
rr-1.2.1 lib/rr/double_definitions/double_injections/any_instance_of.rb
rr-1.2.0 lib/rr/double_definitions/double_injections/any_instance_of.rb