Class: Fusuma::Plugin::Filters::LibinputDeviceFilter
- Defined in:
- lib/fusuma/plugin/filters/libinput_device_filter.rb
Overview
Filter device log
Defined Under Namespace
Classes: KeepDevice
Constant Summary collapse
- DEFAULT_SOURCE =
'libinput_command_input'
Instance Method Summary collapse
Methods inherited from Filter
Methods inherited from Base
#config_index, #config_params, inherited, plugins
Instance Method Details
#config_param_types ⇒ Object
13 14 15 16 17 18 |
# File 'lib/fusuma/plugin/filters/libinput_device_filter.rb', line 13 def config_param_types { source: String, keep_device_names: [Array, String] } end |
#keep?(record) ⇒ TrueClass, FalseClass
22 23 24 25 26 27 28 29 30 |
# File 'lib/fusuma/plugin/filters/libinput_device_filter.rb', line 22 def keep?(record) # NOTE: purge cache when found new device if record.to_s =~ /\sDEVICE_ADDED\s/ && keep_device.match_pattern?(record.to_s) keep_device.reset return false end keep_device.all.map(&:id).any? { |device_id| record.to_s =~ /^\s?#{device_id}\s/ } end |
#keep_device ⇒ Object
32 33 34 35 36 37 |
# File 'lib/fusuma/plugin/filters/libinput_device_filter.rb', line 32 def keep_device @keep_device ||= begin from_config = Array(config_params(:keep_device_names)) KeepDevice.new(name_patterns: from_config) end end |