class SleepyPenguin::Inotify::Event

Returned by SleepyPenguin::Inotify#take. It is a Struct with the following elements:

The mask is a bitmask of the event flags accepted by Inotify#add_watch and may also include the following flags:

Use the Event#events method to get an array of symbols for the matched events.

Public Instance Methods

events → [ :MOVED_TO, ... ] click to toggle source

Returns an array of symbolic event names based on the contents of the mask field.

static VALUE events(VALUE self)
{
        long len = RARRAY_LEN(checks);
        long i;
        VALUE sym;
        VALUE rv = rb_ary_new();
        uint32_t mask;
        uint32_t event_mask = NUM2UINT(rb_funcall(self, id_mask, 0));

        for (i = 0; i < len; ) {
                sym = rb_ary_entry(checks, i++);
                mask = NUM2UINT(rb_ary_entry(checks, i++));
                if ((event_mask & mask) == mask)
                        rb_ary_push(rv, sym);
        }

        return rv;
}