module StateInspector::Reporter
OBSERVABLE PATTERN HASH-LIKE KEY OF OJECT TO OBSERVER/LOGGER INSTANCE
Public Class Methods
[](key)
click to toggle source
# File lib/state_inspector/reporter.rb, line 8 def [](key) reporters[key] end
[]=(key, value)
click to toggle source
# File lib/state_inspector/reporter.rb, line 12 def []=(key, value) reporters[key] = value end
default(observer=nil)
click to toggle source
# File lib/state_inspector/reporter.rb, line 37 def default observer=nil @default = observer if observer reporters.default = @default @default end
drop(key)
click to toggle source
# File lib/state_inspector/reporter.rb, line 33 def drop key reporters.delete key end
get(key)
click to toggle source
# File lib/state_inspector/reporter.rb, line 24 def get key unless key.respond_to?(:class_exec) unless reporters.has_key?(key) return self[key.class] end end self[key] end
has_key?(key)
click to toggle source
# File lib/state_inspector/reporter.rb, line 16 def has_key? key reporters.has_key?(key) end
has_observer?(key)
click to toggle source
# File lib/state_inspector/reporter.rb, line 20 def has_observer? key reporters.has_key?(key) || (reporters.has_key?(key.class) if key.respond_to?(:class_exec)) end
Private Class Methods
reporters()
click to toggle source
# File lib/state_inspector/reporter.rb, line 44 def reporters @reporters ||= Hash.new.tap {|h| h.default = @default || Observers::NullObserver } end