Module: Muack

Defined in:
lib/muack.rb,
lib/muack/spy.rb,
lib/muack/coat.rb,
lib/muack/mock.rb,
lib/muack/stub.rb,
lib/muack/block.rb,
lib/muack/error.rb,
lib/muack/failure.rb,
lib/muack/session.rb,
lib/muack/version.rb,
lib/muack/modifier.rb,
lib/muack/definition.rb,
lib/muack/satisfying.rb,
lib/muack/any_instance_of.rb

Defined Under Namespace

Modules: API Classes: Allowing, AnyInstanceOf, Anything, Block, CannotFindInjectionName, Coat, Expected, Failure, Having, Including, IsA, Matching, Mock, Modifier, RespondingTo, Satisfying, Session, Spy, Stub, StubHasNoTimes, Unexpected, UnknownSpec, Where, Within

Constant Summary collapse

EmptyBlock =
proc{}
Error =
Class.new(NotImplementedError)
VERSION =
'1.4.0'
Definition =
Class.new(Struct.new(:msg, :args, :returns,
:peek_args, :peek_return,
:original_method))
WithAnyArgs =
Object.new
EnsureReset =
lambda{
  [Obj, Str].each do |o|
    o.methods.select{ |m|
      m.to_s.start_with?('__muack_mock') || m.to_s.start_with?('say')
    }.should.empty?
  end
}

Class Method Summary collapse

Class Method Details

.reset(obj = nil) ⇒ Object



16
17
18
19
20
# File 'lib/muack.rb', line 16

def self.reset obj=nil
  session = Thread.current[:muack_session]
  session && session.reset(obj)
  Thread.current[:muack_session] = nil unless obj
end

.sessionObject



12
13
14
# File 'lib/muack.rb', line 12

def self.session
  Thread.current[:muack_session] ||= Muack::Session.new
end

.verify(obj = nil) ⇒ Object



6
7
8
9
10
# File 'lib/muack.rb', line 6

def self.verify obj=nil
  session.verify(obj)
ensure
  reset(obj)
end