Sha256: a5f95158bf523077a84ea5bdd0178bb2b89b1b5bfb28eac90b5770ebcf2b6bb3

Contents?: true

Size: 692 Bytes

Versions: 19

Compression:

Stored size: 692 Bytes

Contents

module Libuv
    class FSEvent < Handle


        EVENTS = {1 => :rename, 2 => :change}.freeze


        def initialize(loop, path)
            @loop = loop

            fs_event_ptr = ::Libuv::Ext.create_handle(:uv_fs_event)
            error = check_result ::Libuv::Ext.fs_event_init(loop.handle, fs_event_ptr, path, callback(:on_fs_event), 0)

            super(fs_event_ptr, error)
        end


        private


        def on_fs_event(handle, filename, events, status)
            e = check_result(status)

            if e
                reject(e)
            else
                defer.notify(filename, EVENTS[events])   # notify of a change
            end
        end
    end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
libuv-1.0.3 lib/libuv/fs_event.rb
libuv-1.0.2 lib/libuv/fs_event.rb
libuv-1.0.0 lib/libuv/fs_event.rb
libuv-0.12.4 lib/libuv/fs_event.rb
libuv-0.12.3 lib/libuv/fs_event.rb
libuv-0.12.2 lib/libuv/fs_event.rb
libuv-0.12.0 lib/libuv/fs_event.rb
libuv-0.11.21 lib/libuv/fs_event.rb
libuv-0.11.20 lib/libuv/fs_event.rb
libuv-0.11.19 lib/libuv/fs_event.rb
libuv-0.11.18 lib/libuv/fs_event.rb
libuv-0.11.7 lib/libuv/fs_event.rb
libuv-0.11.5 lib/libuv/fs_event.rb
libuv-0.11.3 lib/libuv/fs_event.rb
libuv-0.11.2 lib/libuv/fs_event.rb
libuv-0.11.1 lib/libuv/fs_event.rb
libuv-0.11.0 lib/libuv/fs_event.rb
libuv-0.10.3 lib/libuv/fs_event.rb
libuv-0.10.2 lib/libuv/fs_event.rb