Class: Muack::Session

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeSession

Returns a new instance of Session.



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

def initialize; @data = {}; end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



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

def data
  @data
end

Instance Method Details

#any_instance_of(kls) ⇒ Object



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

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

#coat(obj) ⇒ Object



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

def coat obj; data["co #{obj.__id__}"] ||= Coat.new(obj)      ; end

#mock(obj) ⇒ Object



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

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

#reset(obj = nil) ⇒ Object



30
31
32
33
34
35
36
37
# File 'lib/muack/session.rb', line 30

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

#spy(obj) ⇒ Object



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

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

#stub(obj) ⇒ Object



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

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

#verify(obj = nil) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/muack/session.rb', line 22

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