class Listen::Forwarder
def initialize(options)
def initialize(options) @options = options @logger = ::Logger.new(STDOUT, level: ::Logger::INFO) @logger.formatter = proc { |_, _, _, msg| "#{msg}\n" } end
def start
def start logger.info 'Starting listen...' directory = @options[:directory] relative = @options[:relative] callback = proc do |modified, added, removed| if @options[:verbose] logger.info "+ #{added}" unless added.empty? logger.info "- #{removed}" unless removed.empty? logger.info "> #{modified}" unless modified.empty? end end listener = Listen.to(*directory, relative: relative, &callback) listener.start sleep 0.5 while listener.processing? end