class Listen::Silencer::Controller
Public Class Methods
new(silencer, default_options)
click to toggle source
# File lib/listen/silencer/controller.rb, line 6 def initialize(silencer, default_options) @silencer = silencer opts = default_options @prev_silencer_options = {} rules = [:only, :ignore, :ignore!].map do |option| [option, opts[option]] if opts.key? option end _reconfigure_silencer(Hash[rules.compact]) end
Public Instance Methods
append_ignores(*regexps)
click to toggle source
# File lib/listen/silencer/controller.rb, line 19 def append_ignores(*regexps) prev_ignores = Array(@prev_silencer_options[:ignore]) _reconfigure_silencer(ignore: [prev_ignores + regexps]) end
replace_with_bang_ignores(regexps)
click to toggle source
# File lib/listen/silencer/controller.rb, line 24 def replace_with_bang_ignores(regexps) _reconfigure_silencer(ignore!: regexps) end
replace_with_only(regexps)
click to toggle source
# File lib/listen/silencer/controller.rb, line 28 def replace_with_only(regexps) _reconfigure_silencer(only: regexps) end
Private Instance Methods
_reconfigure_silencer(extra_options)
click to toggle source
# File lib/listen/silencer/controller.rb, line 34 def _reconfigure_silencer(extra_options) opts = extra_options.dup opts = opts.map do |key, value| [key, Array(value).flatten.compact] end opts = Hash[opts] if opts.key?(:ignore) && opts[:ignore].empty? opts.delete(:ignore) end @prev_silencer_options = opts @silencer.configure(@prev_silencer_options.dup.freeze) end