class SimplyGenius::Atmos::PluginManager::OutputFilterCollection

Attributes

filters[RW]

Public Class Methods

new(filters) click to toggle source
# File lib/simplygenius/atmos/plugin_manager.rb, line 89
def initialize(filters)
  @filters = filters
end

Public Instance Methods

close() click to toggle source
# File lib/simplygenius/atmos/plugin_manager.rb, line 106
def close
  @filters.each do |f|
    begin
      f.close
    rescue StandardError => e
      logger.log_exception e, "Output filter failed during close: #{f.class}"
    end
  end
end
filter_block() click to toggle source
# File lib/simplygenius/atmos/plugin_manager.rb, line 93
def filter_block
  return Proc.new do |data, flushing: false|
    @filters.inject(data) do |memo, obj|
      begin
        obj.filter(memo, flushing: flushing)
      rescue StandardError => e
        logger.log_exception e, "Output filter failed during filter: #{obj.class}"
        memo
      end
    end
  end
end