class Muack::Session

Attributes

data[R]

Public Class Methods

new() click to toggle source
# File lib/muack/session.rb, line 11
def initialize; @data = {}; end

Public Instance Methods

any_instance_of(kls) click to toggle source
# File lib/muack/session.rb, line 18
def any_instance_of kls
  data["ai #{kls.__id__}"] ||= AnyInstanceOf.new(kls)
end
coat(obj;) click to toggle source
# File lib/muack/session.rb, line 15
def coat obj; data["co #{obj.__id__}"] ||= Coat.new(obj)      ; end
mock(obj;) click to toggle source
# File lib/muack/session.rb, line 13
def mock obj; data["mk #{obj.__id__}"] ||= Mock.new(obj)      ; end
reset(obj=nil) click to toggle source
# 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;) click to toggle source
# File lib/muack/session.rb, line 16
def spy  obj; data["sy #{obj.__id__}"] ||= Spy .new(stub(obj)); end
stub(obj;) click to toggle source
# File lib/muack/session.rb, line 14
def stub obj; data["sb #{obj.__id__}"] ||= Stub.new(obj)      ; end
verify(obj=nil) click to toggle source
# 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

Private Instance Methods

with(obj, meth) click to toggle source
# File lib/muack/session.rb, line 40
def with obj, meth
  %w[mk sb co sy ai].map{ |k|
    data.__send__(meth, "#{k} #{obj.__id__}")
  }.compact
end