class OwskiLog::Holder
Attributes
events[RW]
watchers[RW]
Public Class Methods
new()
click to toggle source
# File lib/owskilog.rb, line 9 def initialize @events = Hash.new @watchers = Array.new end
Public Instance Methods
finish_event(key, status, cause: nil)
click to toggle source
# File lib/owskilog.rb, line 21 def finish_event(key, status, cause: nil) EventManager::finish_event(@events, key, status, cause: cause) WatcherManager::trigger_watchers(@watchers, triggers: [:after_finish, :all]) end
get_log_structure()
click to toggle source
# File lib/owskilog.rb, line 40 def get_log_structure @result = [] @events.each do |_, value| if value.parent != nil value.parent.sub_events << value else @result << value end end @result end
register_event(key, description, parent_key: nil)
click to toggle source
# File lib/owskilog.rb, line 14 def register_event(key, description, parent_key: nil) ev = Event.new(key, description) EventManager::register_event(@events, ev, parent_key: parent_key) WatcherManager::trigger_watchers(@watchers, triggers: [:after_register, :all]) ev end
register_watcher(watcher)
click to toggle source
# File lib/owskilog.rb, line 26 def register_watcher(watcher) WatcherManager::register_watcher(@watchers, watcher) end
wrap(key, description, parent_key: nil, &block)
click to toggle source
# File lib/owskilog.rb, line 30 def wrap(key, description, parent_key: nil, &block) ev = register_event(key, description, parent_key: parent_key) block.call(key) unless ev.is_finished? finish_event(key, OwskiLog::Status::OK) end rescue Exception => e finish_event(key, OwskiLog::Status::ERROR, cause: e.inspect) end