Class: Muack::Session

Inherits:
Hash
  • Object
show all
Defined in:
lib/muack/session.rb

Instance Method Summary collapse

Instance Method Details

#any_instance_of(kls) ⇒ Object



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

def any_instance_of kls
  (@others ||= {})["ai #{kls.__id__}"] ||= AnyInstanceOf.new(kls)
end

#mock(obj) ⇒ Object



9
# File 'lib/muack/session.rb', line 9

def mock obj; self["mk #{obj.__id__}"] ||= Mock.new(obj)      ; end

#reset(obj = nil) ⇒ Object



25
26
27
28
29
30
31
32
33
# File 'lib/muack/session.rb', line 25

def reset obj=nil
  if obj
    with(obj, :delete).each(&:__mock_reset)
  else
    instance_variable_defined?(:@others) && @others.clear
    reverse_each{ |_, m| m.__mock_reset }
    clear
  end
end

#spy(obj) ⇒ Object



11
# File 'lib/muack/session.rb', line 11

def spy  obj; self["sy #{obj.__id__}"] ||= Spy .new(stub(obj)); end

#stub(obj) ⇒ Object



10
# File 'lib/muack/session.rb', line 10

def stub obj; self["sb #{obj.__id__}"] ||= Stub.new(obj)      ; end

#verify(obj = nil) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/muack/session.rb', line 17

def verify obj=nil
  if obj
    with(obj, :[]).all?(&:__mock_verify)
  else
    each_value.all?(&:__mock_verify)
  end
end