Sha256: 922f48b865d25cc43b76629e5144edead7a6e66cb4cdcd185dd46523fe335a2e

Contents?: true

Size: 475 Bytes

Versions: 8

Compression:

Stored size: 475 Bytes

Contents

module Devcenter::Previewer

  class FileListener
    require 'listen'

    def initialize(file_path, callback)
      dir = File.dirname(file_path)
      basename = File.basename(file_path)
      @listener = Listen.to(dir)
      @listener.filter(%r{#{basename}})
      @listener.change(&callback)
    end

    def start
      @thread = Thread.new { @listener.start }
    end

    def stop
      @listener.stop rescue ThreadError
      Thread.kill(@thread)
    end
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
devcenter-1.1.9 lib/devcenter/previewer/file_listener.rb
devcenter-1.1.8 lib/devcenter/previewer/file_listener.rb
devcenter-1.1.6 lib/devcenter/previewer/file_listener.rb
devcenter-1.1.5 lib/devcenter/previewer/file_listener.rb
devcenter-1.1.4 lib/devcenter/previewer/file_listener.rb
devcenter-1.1.3 lib/devcenter/previewer/file_listener.rb
devcenter-1.1.2 lib/devcenter/previewer/file_listener.rb
devcenter-1.1.1 lib/devcenter/previewer/file_listener.rb