Method: Jkr::DataUtils#block_filter

Defined in:
lib/jkr/userutils.rb

#block_filter(filter, block) ⇒ Object



350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
# File 'lib/jkr/userutils.rb', line 350

def block_filter(filter, block)
  if filter.is_a? Symbol
    filters = {
      :kernel_process => /\A(kworker|ksoftirqd|migration|watchdog|kintegrityd|kblockd|events|kondemand|aio|crypto|ata|kmpathd|kconservative|rpciod|xfslogd|xfsdatad|xfsconvertd)\//
    }
    raise ArgumentError.new("Invalid filter: #{filter.inspect}") unless filters[filter]
    filter = filters[filter]
  elsif filter.is_a? Regexp
    filter = filter
  else
    raise ArgumentError.new("Invalid filter: #{filter.inspect}")
  end

  block = block.select do |record|
    ! (record[:command] =~ filter)
  end
end