class Listen::Silencer
Constants
- DEFAULT_IGNORED_DIRECTORIES
The default list of directories that get ignored.
- DEFAULT_IGNORED_EXTENSIONS
The default list of files that get ignored.
Attributes
ignore_patterns[RW]
only_patterns[RW]
Public Class Methods
new()
click to toggle source
# File lib/listen/silencer.rb, line 62 def initialize configure({}) end
Public Instance Methods
configure(options)
click to toggle source
# File lib/listen/silencer.rb, line 66 def configure(options) @only_patterns = options[:only] ? Array(options[:only]) : nil @ignore_patterns = _init_ignores(options[:ignore], options[:ignore!]) end
silenced?(relative_path, type)
click to toggle source
TODO: switch type and path places - and verify
# File lib/listen/silencer.rb, line 75 def silenced?(relative_path, type) path = relative_path.to_s _ignore?(path) || (only_patterns && type == :file && !_only?(path)) end
Private Instance Methods
_ignore?(path)
click to toggle source
# File lib/listen/silencer.rb, line 83 def _ignore?(path) ignore_patterns.any? { |pattern| path =~ pattern } end
_init_ignores(ignores, overrides)
click to toggle source
# File lib/listen/silencer.rb, line 91 def _init_ignores(ignores, overrides) patterns = [] unless overrides patterns << DEFAULT_IGNORED_DIRECTORIES patterns << DEFAULT_IGNORED_EXTENSIONS end patterns << ignores patterns << overrides patterns.compact.flatten end
_only?(path)
click to toggle source
# File lib/listen/silencer.rb, line 87 def _only?(path) only_patterns.any? { |pattern| path =~ pattern } end