module StateInspector::Snoop::ClassMethods

Public Instance Methods

informant?() click to toggle source
# File lib/state_inspector/snoop.rb, line 32
def informant?
  @informant || self.class.instance_variable_get(:@informant)
end
state_inspector() click to toggle source
# File lib/state_inspector/snoop.rb, line 11
def state_inspector
  StateInspector.new(self)
end
tell_si(*args, &block) click to toggle source
# File lib/state_inspector/snoop.rb, line 15
def tell_si *args, &block
  if informant?
    key = self.respond_to?(:class_exec) ? self : self.class
    key = Reporter.has_key?(key) ? key : self
    Reporter[key].update(self, *args, &block)
  end
end
toggle_informant() click to toggle source
# File lib/state_inspector/snoop.rb, line 23
def toggle_informant
  state_inspector.snoop_setters(
    *(self.respond_to?(:class_exec) ? self : self.class).
    instance_methods.grep(/=\z/) - Object.methods
  ) unless @state_inspector || self.class.instance_variable_get(:@state_inspector)

  @informant = !@informant
end