def output(statuses, event)
return if statuses.nil? || statuses.empty?
event = Termtter::Event.new(event) unless event.kind_of? Termtter::Event
statuses = statuses.sort_by(&:id)
call_hooks(:pre_filter, statuses, event)
filtered = apply_filters_for_hook(:filter_for_output, statuses.map(&:clone), event)
@filters.each do |f|
filtered = f.call(filtered, event)
end
call_hooks(:post_filter, filtered, event)
get_hooks(:output).each do |hook|
Termtter::Client.logger.debug "output: call hook :output #{hook.inspect}"
hook.call(
apply_filters_for_hook("filter_for_#{hook.name}""filter_for_#{hook.name}", filtered, event),
event)
end
Termtter::Client.logger.debug "output: call hook :output, done"
end