Sha256: 8dd57bc2b4a1f185bcd318b96cb0c80cb888bed20c7c5499aa4302fa35ad14e5

Contents?: true

Size: 782 Bytes

Versions: 15

Compression:

Stored size: 782 Bytes

Contents

module Fakes
  class Fake
    def initialize(invocation_set = {})
      @method_invocations = invocation_set
    end

    def method_missing(name,*args,&block)
      return @method_invocations.has_key?(name.to_sym) ? @method_invocations[name.to_sym].invoke(args) : handle_unexpected_method_invocation(name,args,block)
    end

    def handle_unexpected_method_invocation(name,args,block)
      method = stub(name.to_sym)
      method.ignore_arg
      return method.invoke(args)
    end

    def stub(symbol)
      return @method_invocations[symbol] || @method_invocations[symbol] = MethodStub.new
    end

    def received(symbol)
      return @method_invocations[symbol]
    end

    def never_received?(symbol)
      return !@method_invocations.has_key?(symbol)
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
fakes-1.0.0 lib/core/fake.rb
fakes-0.4.1 lib/core/fake.rb
fakes-0.4.0 lib/core/fake.rb
fakes-0.3.8 lib/core/fake.rb
fakes-0.3.7 lib/core/fake.rb
fakes-0.3.2 lib/core/fake.rb
fakes-0.3.1 lib/core/fake.rb
fakes-0.3.0 lib/core/fake.rb
fakes-0.2.3 lib/core/fake.rb
fakes-0.2.2 lib/core/fake.rb
fakes-0.2.1 lib/core/fake.rb
fakes-0.2.0 lib/fakes/fake.rb
fakes-0.1.9 lib/fakes/fake.rb
fakes-0.1.3 lib/fakes/fake.rb
fakes-0.1.2 lib/fakes/fake.rb